{"version":3,"file":"d7956d71ca9de6ffd091.bundle.js","mappings":"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KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACRl4J,EAAOP,QAAU,EAAjB,mBC1IA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,iCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,kCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,kCCDA,EAAQ,KACRO,EAAOP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","sources":["webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/index.js","webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/noConflict.js","webpack://multidialogo-frontend/./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/chunk.js","webpack://multidialogo-frontend/./node_modules/aurelia-event-aggregator/dist/native-modules/aurelia-event-aggregator.js","webpack://multidialogo-frontend/./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js","webpack://multidialogo-frontend/./node_modules/aurelia-history-browser/dist/native-modules/aurelia-history-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-history/dist/native-modules/aurelia-history.js","webpack://multidialogo-frontend/./node_modules/aurelia-http-client/dist/native-modules/aurelia-http-client.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader-webpack/dist/native-modules/aurelia-loader-webpack.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader/dist/native-modules/aurelia-loader.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging-console/dist/native-modules/aurelia-logging-console.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging/dist/native-modules/aurelia-logging.js","webpack://multidialogo-frontend/./node_modules/aurelia-metadata/dist/native-modules/aurelia-metadata.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal-browser/dist/native-modules/aurelia-pal-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal/dist/native-modules/aurelia-pal.js","webpack://multidialogo-frontend/./node_modules/aurelia-path/dist/native-modules/aurelia-path.js","webpack://multidialogo-frontend/./node_modules/aurelia-polyfills/dist/native-modules/aurelia-polyfills.js","webpack://multidialogo-frontend/./node_modules/aurelia-route-recognizer/dist/native-modules/aurelia-route-recognizer.js","webpack://multidialogo-frontend/./node_modules/aurelia-router/dist/native-modules/aurelia-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-task-queue/dist/native-modules/aurelia-task-queue.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-binding/dist/native-modules/aurelia-templating-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-resources/dist/native-modules/aurelia-templating-resources.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-router/dist/native-modules/aurelia-templating-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js","webpack://multidialogo-frontend/./node_modules/aurelia-validation/dist/native-modules/aurelia-validation.js","webpack://multidialogo-frontend/./src/classes/advices.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-agreements.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-platform-messages.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-settings-linked-software.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-billing-profile.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-data.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-pec.js","webpack://multidialogo-frontend/./src/classes/checkflow/checkflow.js","webpack://multidialogo-frontend/./src/classes/mavRequest.js","webpack://multidialogo-frontend/./src/classes/md-table.js","webpack://multidialogo-frontend/./src/classes/md-toast/md-toast.js","webpack://multidialogo-frontend/./src/classes/models/dashboardCards.js","webpack://multidialogo-frontend/./src/classes/models/fidelityCards.js","webpack://multidialogo-frontend/./src/classes/models/md-partial-metrics.js","webpack://multidialogo-frontend/./src/classes/models/template.js","webpack://multidialogo-frontend/./src/classes/queueMessages.js","webpack://multidialogo-frontend/./src/classes/queueProperties.js","webpack://multidialogo-frontend/./src/environment.js","webpack://multidialogo-frontend/./src/index.js","webpack://multidialogo-frontend/./src/ka-components/index.js","webpack://multidialogo-frontend/./src/ka-components/ka-api/ka-api.js","webpack://multidialogo-frontend/./src/ka-components/ka-button/ka-button.js","webpack://multidialogo-frontend/./src/ka-components/ka-console/ka-console.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-backdrop/ka-control-backdrop.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-check/ka-control-check.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-combo/ka-control-combo.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-date/ka-control-date.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-datetime/ka-control-datetime.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-editor/ka-control-editor.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-file/ka-control-file.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-list/ka-control-list.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-number/ka-control-number.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-password/ka-control-password.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-table/ka-control-table.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-text/ka-control-text.js","webpack://multidialogo-frontend/./src/ka-components/ka-control-textarea/ka-control-textarea.js","webpack://multidialogo-frontend/./src/ka-components/ka-control/ka-control.js","webpack://multidialogo-frontend/./src/ka-components/ka-datetime/ka-datetime.js","webpack://multidialogo-frontend/./src/ka-components/ka-dialog/ka-dialog-vm.js","webpack://multidialogo-frontend/./src/ka-components/ka-dialog/ka-dialog.js","webpack://multidialogo-frontend/./src/ka-components/ka-enter/ka-enter.js","webpack://multidialogo-frontend/./src/ka-components/ka-input/ka-input-controls.js","webpack://multidialogo-frontend/./src/ka-components/ka-input/ka-input.js","webpack://multidialogo-frontend/./src/ka-components/ka-layout/ka-layout.js","webpack://multidialogo-frontend/./src/ka-components/ka-navbar/ka-navbar.js","webpack://multidialogo-frontend/./src/ka-components/ka-progress/ka-progress.js","webpack://multidialogo-frontend/./src/ka-components/ka-resource/ka-resource.js","webpack://multidialogo-frontend/./src/ka-components/ka-table/ka-table.js","webpack://multidialogo-frontend/./src/ka-components/ka-table/ka-tableFilters.js","webpack://multidialogo-frontend/./src/ka-components/ka-tabs/ka-tabs.js","webpack://multidialogo-frontend/./src/ka-components/ka-toast/ka-toast.js","webpack://multidialogo-frontend/./src/ka-components/ka-tooltip/ka-tooltip.js","webpack://multidialogo-frontend/./src/resources/attributes/md-action/md-action.js","webpack://multidialogo-frontend/./src/resources/attributes/md-tooltip/md-tooltip.js","webpack://multidialogo-frontend/./src/resources/attributes/static-tooltip/static-tooltip.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.js","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.js","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.js","webpack://multidialogo-frontend/./src/resources/elements/md-bar-chart/md-bar-chart.js","webpack://multidialogo-frontend/./src/resources/elements/md-cards/md-cards.js","webpack://multidialogo-frontend/./src/resources/elements/md-chart-legend/md-chart-legend.js","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.js","webpack://multidialogo-frontend/./src/resources/elements/md-count-up/md-count-up.js","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.js","webpack://multidialogo-frontend/./src/resources/elements/md-cta-button/md-cta-button.js","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.js","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.js","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.js","webpack://multidialogo-frontend/./src/resources/elements/md-nav-element/md-nav-element.js","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.js","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.js","webpack://multidialogo-frontend/./src/resources/elements/md-select/md-select.js","webpack://multidialogo-frontend/./src/resources/elements/md-split-button/md-split-button.js","webpack://multidialogo-frontend/./src/resources/elements/md-switch-slider/md-switch-slider.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.js","webpack://multidialogo-frontend/./src/resources/value-converters/append-comma.js","webpack://multidialogo-frontend/./src/resources/value-converters/capitalize.js","webpack://multidialogo-frontend/./src/resources/value-converters/combo-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/compact-number.js","webpack://multidialogo-frontend/./src/resources/value-converters/date-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/filesize-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/object-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-channel-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-status-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/stringify.js","webpack://multidialogo-frontend/./src/resources/value-converters/striphtml.js","webpack://multidialogo-frontend/./src/services/api.js","webpack://multidialogo-frontend/./src/services/dates.js","webpack://multidialogo-frontend/./src/services/md-api.js","webpack://multidialogo-frontend/./src/services/md-auth.js","webpack://multidialogo-frontend/./src/services/md-datasources.js","webpack://multidialogo-frontend/./src/services/md-files.js","webpack://multidialogo-frontend/./src/services/md-marketing.js","webpack://multidialogo-frontend/./src/services/md-tools.js","webpack://multidialogo-frontend/./src/services/md-user.js","webpack://multidialogo-frontend/./src/services/mf-api.js","webpack://multidialogo-frontend/./src/services/mf-files.js","webpack://multidialogo-frontend/./src/views/_agreement/agreement.js","webpack://multidialogo-frontend/./src/views/_legacy/viewer.js","webpack://multidialogo-frontend/./src/views/_template/routeViewName.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.js","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.js","webpack://multidialogo-frontend/./src/views/accesso/login.js","webpack://multidialogo-frontend/./src/views/accesso/logout.js","webpack://multidialogo-frontend/./src/views/accesso/recupero.js","webpack://multidialogo-frontend/./src/views/account/delete/delete.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.js","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.js","webpack://multidialogo-frontend/./src/views/app/app-navigation.js","webpack://multidialogo-frontend/./src/views/app/app-toolbar.js","webpack://multidialogo-frontend/./src/views/app/app.js","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.js","webpack://multidialogo-frontend/./src/views/app/maintenance.js","webpack://multidialogo-frontend/./src/views/app/not-found.js","webpack://multidialogo-frontend/./src/views/backoffice/agreements.js","webpack://multidialogo-frontend/./src/views/backoffice/alias.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.js","webpack://multidialogo-frontend/./src/views/backoffice/bounces.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.js","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.js","webpack://multidialogo-frontend/./src/views/contabilita/orders.js","webpack://multidialogo-frontend/./src/views/contabilita/pre-checkouts.js","webpack://multidialogo-frontend/./src/views/dashboard/aside/aside.js","webpack://multidialogo-frontend/./src/views/dashboard/aside/card.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/card.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/credit-transactions.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/flat-services-activations.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/invoices.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/mavs.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/multicoin-movements.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/pre-checkouts.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/queue-messages-email-pec.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/settings.js","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/subusers.js","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation-history.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-payment.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-cards-comparison.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.js","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.js","webpack://multidialogo-frontend/./src/views/help/help.js","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.js","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/dialogs/add-pec.js","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/emailPec.js","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/views/settings.js","webpack://multidialogo-frontend/./src/views/impostazioni/fax.js","webpack://multidialogo-frontend/./src/views/impostazioni/generali.js","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.js","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.js","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta/multicerta.js","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta/views/settings.js","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/add-keyword.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-editor.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-preview.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-editor.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-preview.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/signature.js","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/template.js","webpack://multidialogo-frontend/./src/views/impostazioni/sms/dialogs/sms-alias-request.js","webpack://multidialogo-frontend/./src/views/impostazioni/sms/sms.js","webpack://multidialogo-frontend/./src/views/impostazioni/sms/views/aliases.js","webpack://multidialogo-frontend/./src/views/landing/download-app-mobile.js","webpack://multidialogo-frontend/./src/views/landing/email-confirm.js","webpack://multidialogo-frontend/./src/views/landing/email-read-confirmation.js","webpack://multidialogo-frontend/./src/views/landing/offerta.js","webpack://multidialogo-frontend/./src/views/landing/registrazione.js","webpack://multidialogo-frontend/./src/views/multicerta/invite.js","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.js","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.js","webpack://multidialogo-frontend/./src/views/riscossioni/sent-mavs/sent-mavs.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.js","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.js","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.js","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.js","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.js","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-interrupt-delivery.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-message-preview.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-payment.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-sender.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.js","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.js","webpack://multidialogo-frontend/./src/views/spedizioni/pending.js","webpack://multidialogo-frontend/./src/views/spedizioni/recipients.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.js","webpack://multidialogo-frontend/./node_modules/charenc/charenc.js","webpack://multidialogo-frontend/./node_modules/core-js/es6/index.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/includes.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/entries.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/values.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/promise/finally.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/symbol/async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/library/fn/global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/es7.global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-number-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_advance-string-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-methods.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_classof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_cof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-strong.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-weak.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_create-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_defined.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails-is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fix-re-wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flatten-into-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_for-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_function-to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_inherit-if-required.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_invoke.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array-iter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-call.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-detect.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-step.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iterators.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_library.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_meta.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_microtask.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_new-promise-capability.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dps.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopd.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gops.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gpo.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys-internal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-pie.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-sap.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-to-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_perform.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_promise-resolve.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine-all.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_same-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-proto.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared-key.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_strict-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-context.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-pad.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-ws.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_task.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-absolute-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-length.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_uid.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_user-agent.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_validate-collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.every.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.filter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.for-each.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.from.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.join.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.last-index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.slice.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.some.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.sort.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.now.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-json.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.has-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.name.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.acosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.asinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.atanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cbrt.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.clz32.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.hypot.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.imul.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log10.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log2.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.tanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.trunc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.epsilon.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-nan.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-precision.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-properties.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.freeze.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-frozen.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-sealed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.seal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.promise.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.apply.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.construct.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.match.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.search.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.split.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.anchor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.big.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.blink.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.bold.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.code-point-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.ends-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontcolor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontsize.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.from-code-point.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.italics.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.link.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.raw.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.small.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.starts-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.strike.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sub.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sup.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.symbol.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.data-view.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float64-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.entries.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.values.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.promise.finally.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-left.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.dom.iterable.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.immediate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.timers.js","webpack://multidialogo-frontend/./node_modules/core-js/web/index.js","webpack://multidialogo-frontend/./node_modules/crypt/crypt.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.sass","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.sass","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.sass","webpack://multidialogo-frontend/./src/resources/elements/md-bar-chart/md-bar-chart.sass","webpack://multidialogo-frontend/./src/resources/elements/md-cards/md-cards.sass","webpack://multidialogo-frontend/./src/resources/elements/md-chart-legend/md-chart-legend.sass","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.sass","webpack://multidialogo-frontend/./src/resources/elements/md-cta-button/md-cta-button.sass","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.sass","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.sass","webpack://multidialogo-frontend/./src/resources/elements/md-select/md-select.sass","webpack://multidialogo-frontend/./src/resources/elements/md-split-button/md-split-button.sass","webpack://multidialogo-frontend/./src/resources/elements/md-switch-slider/md-switch-slider.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.scss","webpack://multidialogo-frontend/./src/static/app.sass","webpack://multidialogo-frontend/./src/views/_agreement/agreement.sass","webpack://multidialogo-frontend/./src/views/accesso/login.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.sass","webpack://multidialogo-frontend/./src/views/app/not-found.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.sass","webpack://multidialogo-frontend/./src/views/backoffice/backoffice.scss","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.sass","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.sass","webpack://multidialogo-frontend/./src/views/contabilita/orders.sass","webpack://multidialogo-frontend/./src/views/contabilita/pre-checkouts.sass","webpack://multidialogo-frontend/./src/views/dashboard/aside/aside.sass","webpack://multidialogo-frontend/./src/views/dashboard/aside/card.sass","webpack://multidialogo-frontend/./src/views/dashboard/cards/card.sass","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/settings.sass","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation-history.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-payment.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-cards-comparison.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.sass","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.sass","webpack://multidialogo-frontend/./src/views/help/help.sass","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/dialogs/add-pec.sass","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/views/settings.sass","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta/views/settings.sass","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.sass","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.scss","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/add-keyword.sass","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-editor.sass","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-preview.sass","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-editor.sass","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-preview.sass","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/shared-view.sass","webpack://multidialogo-frontend/./src/views/impostazioni/sms/dialogs/sms-alias-request.sass","webpack://multidialogo-frontend/./src/views/impostazioni/sms/sms.sass","webpack://multidialogo-frontend/./src/views/landing/email-read-confirmation.sass","webpack://multidialogo-frontend/./src/views/landing/offerta.sass","webpack://multidialogo-frontend/./src/views/landing/registrazione.sass","webpack://multidialogo-frontend/./src/views/multicerta/invite.scss","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.sass","webpack://multidialogo-frontend/./src/views/riscossioni/sent-mavs/sent-mavs.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass","webpack://multidialogo-frontend/./src/views/servizi/credito/credito-deposito.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.scss","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.sass","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.scss","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.sass","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-interrupt-delivery.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-message-preview.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-payment.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-sender.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.sass","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.sass","webpack://multidialogo-frontend/./src/views/spedizioni/pending.sass","webpack://multidialogo-frontend/./src/views/spedizioni/recipients.sass","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.sass","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/api.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://multidialogo-frontend/./src/index.html","webpack://multidialogo-frontend/./src/ka-components/ka-button/ka-button.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-check/ka-control-check.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-combo/ka-control-combo.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-date/ka-control-date.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-datetime/ka-control-datetime.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-editor/ka-control-editor.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-file/ka-control-file.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-list/ka-control-list.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-number/ka-control-number.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-password/ka-control-password.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-table/ka-control-table.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-text/ka-control-text.html","webpack://multidialogo-frontend/./src/ka-components/ka-control-textarea/ka-control-textarea.html","webpack://multidialogo-frontend/./src/ka-components/ka-control/ka-control.html","webpack://multidialogo-frontend/./src/ka-components/ka-datetime/ka-datetime.html","webpack://multidialogo-frontend/./src/ka-components/ka-dialog/ka-dialog-vm.html","webpack://multidialogo-frontend/./src/ka-components/ka-input/ka-input-controls.html","webpack://multidialogo-frontend/./src/ka-components/ka-input/ka-input.html","webpack://multidialogo-frontend/./src/ka-components/ka-layout/ka-layout.html","webpack://multidialogo-frontend/./src/ka-components/ka-navbar/ka-navbar.html","webpack://multidialogo-frontend/./src/ka-components/ka-progress/ka-progress.html","webpack://multidialogo-frontend/./src/ka-components/ka-resource/ka-resource.html","webpack://multidialogo-frontend/./src/ka-components/ka-table/ka-table.html","webpack://multidialogo-frontend/./src/ka-components/ka-table/ka-tableFilters.html","webpack://multidialogo-frontend/./src/ka-components/ka-tabs/ka-tabs.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.html","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.html","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.html","webpack://multidialogo-frontend/./src/resources/elements/md-bar-chart/md-bar-chart.html","webpack://multidialogo-frontend/./src/resources/elements/md-cards/md-cards.html","webpack://multidialogo-frontend/./src/resources/elements/md-chart-legend/md-chart-legend.html","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.html","webpack://multidialogo-frontend/./src/resources/elements/md-count-up/md-count-up.html","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.html","webpack://multidialogo-frontend/./src/resources/elements/md-cta-button/md-cta-button.html","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.html","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.html","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.html","webpack://multidialogo-frontend/./src/resources/elements/md-nav-element/md-nav-element.html","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.html","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.html","webpack://multidialogo-frontend/./src/resources/elements/md-select/md-select.html","webpack://multidialogo-frontend/./src/resources/elements/md-split-button/md-split-button.html","webpack://multidialogo-frontend/./src/resources/elements/md-switch-slider/md-switch-slider.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.html","webpack://multidialogo-frontend/./src/views/_agreement/agreement.html","webpack://multidialogo-frontend/./src/views/_legacy/viewer.html","webpack://multidialogo-frontend/./src/views/_template/routeViewName.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.html","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.html","webpack://multidialogo-frontend/./src/views/accesso/login.html","webpack://multidialogo-frontend/./src/views/accesso/logout.html","webpack://multidialogo-frontend/./src/views/accesso/recupero.html","webpack://multidialogo-frontend/./src/views/account/delete/delete.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.html","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.html","webpack://multidialogo-frontend/./src/views/app/app.html","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.html","webpack://multidialogo-frontend/./src/views/app/maintenance.html","webpack://multidialogo-frontend/./src/views/app/not-found.html","webpack://multidialogo-frontend/./src/views/backoffice/agreements.html","webpack://multidialogo-frontend/./src/views/backoffice/alias.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.html","webpack://multidialogo-frontend/./src/views/backoffice/bounces.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.html","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.html","webpack://multidialogo-frontend/./src/views/contabilita/orders.html","webpack://multidialogo-frontend/./src/views/contabilita/pre-checkouts.html","webpack://multidialogo-frontend/./src/views/dashboard/aside/aside.html","webpack://multidialogo-frontend/./src/views/dashboard/aside/card.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/card.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/credit-transactions.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/flat-services-activations.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/invoices.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/mavs.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/multicoin-movements.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/pre-checkouts.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/queue-messages-email-pec.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/settings.html","webpack://multidialogo-frontend/./src/views/dashboard/cards/models/subusers.html","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation-history.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-payment.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-cards-comparison.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.html","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.html","webpack://multidialogo-frontend/./src/views/help/help.html","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.html","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/dialogs/add-pec.html","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/emailPec.html","webpack://multidialogo-frontend/./src/views/impostazioni/emailPec/views/settings.html","webpack://multidialogo-frontend/./src/views/impostazioni/fax.html","webpack://multidialogo-frontend/./src/views/impostazioni/generali.html","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.html","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.html","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta/multicerta.html","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta/views/settings.html","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/add-keyword.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-editor.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/signature-preview.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-editor.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/dialogs/template-preview.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/signature.html","webpack://multidialogo-frontend/./src/views/impostazioni/shared-views/template.html","webpack://multidialogo-frontend/./src/views/impostazioni/sms/dialogs/sms-alias-request.html","webpack://multidialogo-frontend/./src/views/impostazioni/sms/sms.html","webpack://multidialogo-frontend/./src/views/impostazioni/sms/views/aliases.html","webpack://multidialogo-frontend/./src/views/landing/download-app-mobile.html","webpack://multidialogo-frontend/./src/views/landing/email-confirm.html","webpack://multidialogo-frontend/./src/views/landing/email-read-confirmation.html","webpack://multidialogo-frontend/./src/views/landing/offerta.html","webpack://multidialogo-frontend/./src/views/landing/registrazione.html","webpack://multidialogo-frontend/./src/views/multicerta/invite.html","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.html","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.html","webpack://multidialogo-frontend/./src/views/riscossioni/sent-mavs/sent-mavs.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.html","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.html","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.html","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.html","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.html","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-interrupt-delivery.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-message-preview.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-payment.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-sender.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.html","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.html","webpack://multidialogo-frontend/./src/views/spedizioni/pending.html","webpack://multidialogo-frontend/./src/views/spedizioni/recipients.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.html","webpack://multidialogo-frontend/./node_modules/html-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/is-buffer/index.js","webpack://multidialogo-frontend/./node_modules/jsbi/dist/jsbi-umd.js","webpack://multidialogo-frontend/./node_modules/ka-ckeditor/build/ckeditor.js","webpack://multidialogo-frontend/./node_modules/md5/md5.js","webpack://multidialogo-frontend/./node_modules/moment/locale/af.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-dz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-kw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ly.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ma.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-sa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-tn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar.js","webpack://multidialogo-frontend/./node_modules/moment/locale/az.js","webpack://multidialogo-frontend/./node_modules/moment/locale/be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn-bd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/da.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-at.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de.js","webpack://multidialogo-frontend/./node_modules/moment/locale/dv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/el.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-au.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-gb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ie.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-il.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-nz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-sg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-do.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-mx.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-us.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es.js","webpack://multidialogo-frontend/./node_modules/moment/locale/et.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fil.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ga.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-deva.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/he.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hy-am.js","webpack://multidialogo-frontend/./node_modules/moment/locale/id.js","webpack://multidialogo-frontend/./node_modules/moment/locale/is.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ja.js","webpack://multidialogo-frontend/./node_modules/moment/locale/jv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ka.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/km.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ko.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ku.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ky.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/me.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ml.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms-my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ne.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl-be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/oc-lnc.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pa-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt-br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ro.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ru.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/se.js","webpack://multidialogo-frontend/./node_modules/moment/locale/si.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sq.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr-cyrl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ss.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ta.js","webpack://multidialogo-frontend/./node_modules/moment/locale/te.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tet.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/th.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tl-ph.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tlh.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ug-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ur.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/vi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/x-pseudo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/yo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-hk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-mo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-tw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://multidialogo-frontend/./node_modules/moment/moment.js","webpack://multidialogo-frontend/./node_modules/regenerator-runtime/runtime.js","webpack://multidialogo-frontend/./src/services/rest-client.ts","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/regex.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/rng.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/v4.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/validate.js","webpack://multidialogo-frontend/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://multidialogo-frontend/./node_modules/@js-temporal/polyfill/dist/index.esm.js","webpack://multidialogo-frontend/./node_modules/luxon/src/datetime.js","webpack://multidialogo-frontend/./node_modules/luxon/src/duration.js","webpack://multidialogo-frontend/./node_modules/luxon/src/errors.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/conversions.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/diff.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/digits.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/english.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formats.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formatter.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/invalid.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/locale.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/regexParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/tokenParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/util.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/zoneUtil.js","webpack://multidialogo-frontend/./node_modules/luxon/src/info.js","webpack://multidialogo-frontend/./node_modules/luxon/src/interval.js","webpack://multidialogo-frontend/./node_modules/luxon/src/settings.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/IANAZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/fixedOffsetZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/invalidZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/systemZone.js","webpack://multidialogo-frontend/webpack/bootstrap","webpack://multidialogo-frontend/webpack/runtime/load script","webpack://multidialogo-frontend/webpack/runtime/Aurelia expose webpack internal","webpack://multidialogo-frontend/webpack/runtime/compat get default export","webpack://multidialogo-frontend/webpack/runtime/define property getters","webpack://multidialogo-frontend/webpack/runtime/ensure chunk","webpack://multidialogo-frontend/webpack/runtime/get javascript chunk filename","webpack://multidialogo-frontend/webpack/runtime/global","webpack://multidialogo-frontend/webpack/runtime/harmony module decorator","webpack://multidialogo-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://multidialogo-frontend/webpack/runtime/make namespace object","webpack://multidialogo-frontend/webpack/runtime/node module decorator","webpack://multidialogo-frontend/webpack/runtime/publicPath","webpack://multidialogo-frontend/webpack/runtime/jsonp chunk loading","webpack://multidialogo-frontend/./node_modules/aurelia-webpack-plugin/runtime/pal-loader-entry.js","webpack://multidialogo-frontend/./node_modules/aurelia-bootstrapper/dist/native-modules/aurelia-bootstrapper.js"],"sourcesContent":["\"use strict\";\n\nrequire(\"./noConflict\");\n\nvar _global = _interopRequireDefault(require(\"core-js/library/fn/global\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nif (_global[\"default\"]._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n  console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\n_global[\"default\"]._babelPolyfill = true;","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/array/flat-map\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/string/trim-start\");\n\nrequire(\"core-js/fn/string/trim-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");","export { _getArrayObserver as getArrayObserver };\nexport { _getMapObserver as getMapObserver };\nexport { _getSetObserver as getSetObserver };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _class, _dec3, _class2, _dec4, _class3, _dec5, _class5, _dec6, _class7, _dec7, _class8, _dec8, _class9, _dec9, _class10, _class12, _temp, _dec10, _class13, _class14, _temp2;\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport * as LogManager from 'aurelia-logging';\nimport { PLATFORM, DOM } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { metadata } from 'aurelia-metadata';\n\nexport var targetContext = 'Binding:target';\nexport var sourceContext = 'Binding:source';\n\nvar map = Object.create(null);\n\nexport function camelCase(name) {\n  if (name in map) {\n    return map[name];\n  }\n  var result = name.charAt(0).toLowerCase() + name.slice(1).replace(/[_.-](\\w|$)/g, function (_, x) {\n    return x.toUpperCase();\n  });\n  map[name] = result;\n  return result;\n}\n\nexport function createOverrideContext(bindingContext, parentOverrideContext) {\n  return {\n    bindingContext: bindingContext,\n    parentOverrideContext: parentOverrideContext || null\n  };\n}\n\nexport function getContextFor(name, scope, ancestor) {\n  var oc = scope.overrideContext;\n\n  if (ancestor) {\n    while (ancestor && oc) {\n      ancestor--;\n      oc = oc.parentOverrideContext;\n    }\n    if (ancestor || !oc) {\n      return undefined;\n    }\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  while (oc && !(name in oc) && !(oc.bindingContext && name in oc.bindingContext)) {\n    oc = oc.parentOverrideContext;\n  }\n  if (oc) {\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  return scope.bindingContext || scope.overrideContext;\n}\n\nexport function createScopeForTest(bindingContext, parentBindingContext) {\n  if (parentBindingContext) {\n    return {\n      bindingContext: bindingContext,\n      overrideContext: createOverrideContext(bindingContext, createOverrideContext(parentBindingContext))\n    };\n  }\n  return {\n    bindingContext: bindingContext,\n    overrideContext: createOverrideContext(bindingContext)\n  };\n}\n\nvar slotNames = [];\nvar versionSlotNames = [];\nvar lastSlot = -1;\nfunction ensureEnoughSlotNames(currentSlot) {\n  if (currentSlot === lastSlot) {\n    lastSlot += 5;\n    var ii = slotNames.length = versionSlotNames.length = lastSlot + 1;\n    for (var i = currentSlot + 1; i < ii; ++i) {\n      slotNames[i] = '_observer' + i;\n      versionSlotNames[i] = '_observerVersion' + i;\n    }\n  }\n}\nensureEnoughSlotNames(-1);\n\nfunction addObserver(observer) {\n  var observerSlots = this._observerSlots === undefined ? 0 : this._observerSlots;\n  var i = observerSlots;\n  while (i-- && this[slotNames[i]] !== observer) {}\n\n  if (i === -1) {\n    i = 0;\n    while (this[slotNames[i]]) {\n      i++;\n    }\n    this[slotNames[i]] = observer;\n    observer.subscribe(sourceContext, this);\n\n    if (i === observerSlots) {\n      this._observerSlots = i + 1;\n    }\n  }\n\n  if (this._version === undefined) {\n    this._version = 0;\n  }\n  this[versionSlotNames[i]] = this._version;\n  ensureEnoughSlotNames(i);\n}\n\nfunction observeProperty(obj, propertyName) {\n  var observer = this.observerLocator.getObserver(obj, propertyName);\n  addObserver.call(this, observer);\n}\n\nfunction observeArray(array) {\n  var observer = this.observerLocator.getArrayObserver(array);\n  addObserver.call(this, observer);\n}\n\nfunction unobserve(all) {\n  var i = this._observerSlots;\n  while (i--) {\n    if (all || this[versionSlotNames[i]] !== this._version) {\n      var observer = this[slotNames[i]];\n      this[slotNames[i]] = null;\n      if (observer) {\n        observer.unsubscribe(sourceContext, this);\n      }\n    }\n  }\n}\n\nexport function connectable() {\n  return function (target) {\n    target.prototype.observeProperty = observeProperty;\n    target.prototype.observeArray = observeArray;\n    target.prototype.unobserve = unobserve;\n    target.prototype.addObserver = addObserver;\n  };\n}\n\nvar queue = [];\nvar queued = {};\nvar nextId = 0;\nvar minimumImmediate = 100;\nvar frameBudget = 15;\n\nvar isFlushRequested = false;\nvar immediate = 0;\n\nfunction flush(animationFrameStart) {\n  var length = queue.length;\n  var i = 0;\n  while (i < length) {\n    var binding = queue[i];\n    queued[binding.__connectQueueId] = false;\n    binding.connect(true);\n    i++;\n\n    if (i % 100 === 0 && PLATFORM.performance.now() - animationFrameStart > frameBudget) {\n      break;\n    }\n  }\n  queue.splice(0, i);\n\n  if (queue.length) {\n    PLATFORM.requestAnimationFrame(flush);\n  } else {\n    isFlushRequested = false;\n    immediate = 0;\n  }\n}\n\nexport function enqueueBindingConnect(binding) {\n  if (immediate < minimumImmediate) {\n    immediate++;\n    binding.connect(false);\n  } else {\n    var id = binding.__connectQueueId;\n    if (id === undefined) {\n      id = nextId;\n      nextId++;\n      binding.__connectQueueId = id;\n    }\n\n    if (!queued[id]) {\n      queue.push(binding);\n      queued[id] = true;\n    }\n  }\n  if (!isFlushRequested) {\n    isFlushRequested = true;\n    PLATFORM.requestAnimationFrame(flush);\n  }\n}\n\nexport function setConnectQueueThreshold(value) {\n  minimumImmediate = value;\n}\n\nexport function enableConnectQueue() {\n  setConnectQueueThreshold(100);\n}\n\nexport function disableConnectQueue() {\n  setConnectQueueThreshold(Number.MAX_SAFE_INTEGER);\n}\n\nexport function getConnectQueueSize() {\n  return queue.length;\n}\n\nfunction addSubscriber(context, callable) {\n  if (this.hasSubscriber(context, callable)) {\n    return false;\n  }\n  if (!this._context0) {\n    this._context0 = context;\n    this._callable0 = callable;\n    return true;\n  }\n  if (!this._context1) {\n    this._context1 = context;\n    this._callable1 = callable;\n    return true;\n  }\n  if (!this._context2) {\n    this._context2 = context;\n    this._callable2 = callable;\n    return true;\n  }\n  if (!this._contextsRest) {\n    this._contextsRest = [context];\n    this._callablesRest = [callable];\n    return true;\n  }\n  this._contextsRest.push(context);\n  this._callablesRest.push(callable);\n  return true;\n}\n\nfunction removeSubscriber(context, callable) {\n  if (this._context0 === context && this._callable0 === callable) {\n    this._context0 = null;\n    this._callable0 = null;\n    return true;\n  }\n  if (this._context1 === context && this._callable1 === callable) {\n    this._context1 = null;\n    this._callable1 = null;\n    return true;\n  }\n  if (this._context2 === context && this._callable2 === callable) {\n    this._context2 = null;\n    this._callable2 = null;\n    return true;\n  }\n  var callables = this._callablesRest;\n  if (callables === undefined || callables.length === 0) {\n    return false;\n  }\n  var contexts = this._contextsRest;\n  var i = 0;\n  while (!(callables[i] === callable && contexts[i] === context) && callables.length > i) {\n    i++;\n  }\n  if (i >= callables.length) {\n    return false;\n  }\n  contexts.splice(i, 1);\n  callables.splice(i, 1);\n  return true;\n}\n\nvar arrayPool1 = [];\nvar arrayPool2 = [];\nvar poolUtilization = [];\n\nfunction callSubscribers(newValue, oldValue) {\n  var context0 = this._context0;\n  var callable0 = this._callable0;\n  var context1 = this._context1;\n  var callable1 = this._callable1;\n  var context2 = this._context2;\n  var callable2 = this._callable2;\n  var length = this._contextsRest ? this._contextsRest.length : 0;\n  var contextsRest = void 0;\n  var callablesRest = void 0;\n  var poolIndex = void 0;\n  var i = void 0;\n  if (length) {\n    poolIndex = poolUtilization.length;\n    while (poolIndex-- && poolUtilization[poolIndex]) {}\n    if (poolIndex < 0) {\n      poolIndex = poolUtilization.length;\n      contextsRest = [];\n      callablesRest = [];\n      poolUtilization.push(true);\n      arrayPool1.push(contextsRest);\n      arrayPool2.push(callablesRest);\n    } else {\n      poolUtilization[poolIndex] = true;\n      contextsRest = arrayPool1[poolIndex];\n      callablesRest = arrayPool2[poolIndex];\n    }\n\n    i = length;\n    while (i--) {\n      contextsRest[i] = this._contextsRest[i];\n      callablesRest[i] = this._callablesRest[i];\n    }\n  }\n\n  if (context0) {\n    if (callable0) {\n      callable0.call(context0, newValue, oldValue);\n    } else {\n      context0(newValue, oldValue);\n    }\n  }\n  if (context1) {\n    if (callable1) {\n      callable1.call(context1, newValue, oldValue);\n    } else {\n      context1(newValue, oldValue);\n    }\n  }\n  if (context2) {\n    if (callable2) {\n      callable2.call(context2, newValue, oldValue);\n    } else {\n      context2(newValue, oldValue);\n    }\n  }\n  if (length) {\n    for (i = 0; i < length; i++) {\n      var callable = callablesRest[i];\n      var context = contextsRest[i];\n      if (callable) {\n        callable.call(context, newValue, oldValue);\n      } else {\n        context(newValue, oldValue);\n      }\n      contextsRest[i] = null;\n      callablesRest[i] = null;\n    }\n    poolUtilization[poolIndex] = false;\n  }\n}\n\nfunction hasSubscribers() {\n  return !!(this._context0 || this._context1 || this._context2 || this._contextsRest && this._contextsRest.length);\n}\n\nfunction hasSubscriber(context, callable) {\n  var has = this._context0 === context && this._callable0 === callable || this._context1 === context && this._callable1 === callable || this._context2 === context && this._callable2 === callable;\n  if (has) {\n    return true;\n  }\n  var index = void 0;\n  var contexts = this._contextsRest;\n  if (!contexts || (index = contexts.length) === 0) {\n    return false;\n  }\n  var callables = this._callablesRest;\n  while (index--) {\n    if (contexts[index] === context && callables[index] === callable) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function subscriberCollection() {\n  return function (target) {\n    target.prototype.addSubscriber = addSubscriber;\n    target.prototype.removeSubscriber = removeSubscriber;\n    target.prototype.callSubscribers = callSubscribers;\n    target.prototype.hasSubscribers = hasSubscribers;\n    target.prototype.hasSubscriber = hasSubscriber;\n  };\n}\n\nexport var ExpressionObserver = (_dec = connectable(), _dec2 = subscriberCollection(), _dec(_class = _dec2(_class = function () {\n  function ExpressionObserver(scope, expression, observerLocator, lookupFunctions) {\n    \n\n    this.scope = scope;\n    this.expression = expression;\n    this.observerLocator = observerLocator;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ExpressionObserver.prototype.getValue = function getValue() {\n    return this.expression.evaluate(this.scope, this.lookupFunctions);\n  };\n\n  ExpressionObserver.prototype.setValue = function setValue(newValue) {\n    this.expression.assign(this.scope, newValue);\n  };\n\n  ExpressionObserver.prototype.subscribe = function subscribe(context, callable) {\n    var _this = this;\n\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n      this.expression.connect(this, this.scope);\n    }\n    this.addSubscriber(context, callable);\n    if (arguments.length === 1 && context instanceof Function) {\n      return {\n        dispose: function dispose() {\n          _this.unsubscribe(context, callable);\n        }\n      };\n    }\n  };\n\n  ExpressionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.unobserve(true);\n      this.oldValue = undefined;\n    }\n  };\n\n  ExpressionObserver.prototype.call = function call() {\n    var newValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n    var oldValue = this.oldValue;\n    if (newValue !== oldValue) {\n      this.oldValue = newValue;\n      this.callSubscribers(newValue, oldValue);\n    }\n    this._version++;\n    this.expression.connect(this, this.scope);\n    this.unobserve(false);\n  };\n\n  return ExpressionObserver;\n}()) || _class) || _class);\n\nfunction isIndex(s) {\n  return +s === s >>> 0;\n}\n\nfunction toNumber(s) {\n  return +s;\n}\n\nfunction newSplice(index, removed, addedCount) {\n  return {\n    index: index,\n    removed: removed,\n    addedCount: addedCount\n  };\n}\n\nvar EDIT_LEAVE = 0;\nvar EDIT_UPDATE = 1;\nvar EDIT_ADD = 2;\nvar EDIT_DELETE = 3;\n\nfunction ArraySplice() {}\n\nArraySplice.prototype = {\n  calcEditDistances: function calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var rowCount = oldEnd - oldStart + 1;\n    var columnCount = currentEnd - currentStart + 1;\n    var distances = new Array(rowCount);\n    var north = void 0;\n    var west = void 0;\n\n    for (var i = 0; i < rowCount; ++i) {\n      distances[i] = new Array(columnCount);\n      distances[i][0] = i;\n    }\n\n    for (var j = 0; j < columnCount; ++j) {\n      distances[0][j] = j;\n    }\n\n    for (var _i = 1; _i < rowCount; ++_i) {\n      for (var _j = 1; _j < columnCount; ++_j) {\n        if (this.equals(current[currentStart + _j - 1], old[oldStart + _i - 1])) {\n          distances[_i][_j] = distances[_i - 1][_j - 1];\n        } else {\n          north = distances[_i - 1][_j] + 1;\n          west = distances[_i][_j - 1] + 1;\n          distances[_i][_j] = north < west ? north : west;\n        }\n      }\n    }\n\n    return distances;\n  },\n\n  spliceOperationsFromEditDistances: function spliceOperationsFromEditDistances(distances) {\n    var i = distances.length - 1;\n    var j = distances[0].length - 1;\n    var current = distances[i][j];\n    var edits = [];\n    while (i > 0 || j > 0) {\n      if (i === 0) {\n        edits.push(EDIT_ADD);\n        j--;\n        continue;\n      }\n      if (j === 0) {\n        edits.push(EDIT_DELETE);\n        i--;\n        continue;\n      }\n      var northWest = distances[i - 1][j - 1];\n      var west = distances[i - 1][j];\n      var north = distances[i][j - 1];\n\n      var min = void 0;\n      if (west < north) {\n        min = west < northWest ? west : northWest;\n      } else {\n        min = north < northWest ? north : northWest;\n      }\n\n      if (min === northWest) {\n        if (northWest === current) {\n          edits.push(EDIT_LEAVE);\n        } else {\n          edits.push(EDIT_UPDATE);\n          current = northWest;\n        }\n        i--;\n        j--;\n      } else if (min === west) {\n        edits.push(EDIT_DELETE);\n        i--;\n        current = west;\n      } else {\n        edits.push(EDIT_ADD);\n        j--;\n        current = north;\n      }\n    }\n\n    edits.reverse();\n    return edits;\n  },\n\n  calcSplices: function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var prefixCount = 0;\n    var suffixCount = 0;\n\n    var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);\n    if (currentStart === 0 && oldStart === 0) {\n      prefixCount = this.sharedPrefix(current, old, minLength);\n    }\n\n    if (currentEnd === current.length && oldEnd === old.length) {\n      suffixCount = this.sharedSuffix(current, old, minLength - prefixCount);\n    }\n\n    currentStart += prefixCount;\n    oldStart += prefixCount;\n    currentEnd -= suffixCount;\n    oldEnd -= suffixCount;\n\n    if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) {\n      return [];\n    }\n\n    if (currentStart === currentEnd) {\n      var _splice = newSplice(currentStart, [], 0);\n      while (oldStart < oldEnd) {\n        _splice.removed.push(old[oldStart++]);\n      }\n\n      return [_splice];\n    } else if (oldStart === oldEnd) {\n      return [newSplice(currentStart, [], currentEnd - currentStart)];\n    }\n\n    var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));\n\n    var splice = undefined;\n    var splices = [];\n    var index = currentStart;\n    var oldIndex = oldStart;\n    for (var i = 0; i < ops.length; ++i) {\n      switch (ops[i]) {\n        case EDIT_LEAVE:\n          if (splice) {\n            splices.push(splice);\n            splice = undefined;\n          }\n\n          index++;\n          oldIndex++;\n          break;\n        case EDIT_UPDATE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n        case EDIT_ADD:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n          break;\n        case EDIT_DELETE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n      }\n    }\n\n    if (splice) {\n      splices.push(splice);\n    }\n    return splices;\n  },\n\n  sharedPrefix: function sharedPrefix(current, old, searchLength) {\n    for (var i = 0; i < searchLength; ++i) {\n      if (!this.equals(current[i], old[i])) {\n        return i;\n      }\n    }\n\n    return searchLength;\n  },\n\n  sharedSuffix: function sharedSuffix(current, old, searchLength) {\n    var index1 = current.length;\n    var index2 = old.length;\n    var count = 0;\n    while (count < searchLength && this.equals(current[--index1], old[--index2])) {\n      count++;\n    }\n\n    return count;\n  },\n\n  calculateSplices: function calculateSplices(current, previous) {\n    return this.calcSplices(current, 0, current.length, previous, 0, previous.length);\n  },\n\n  equals: function equals(currentValue, previousValue) {\n    return currentValue === previousValue;\n  }\n};\n\nvar arraySplice = new ArraySplice();\n\nexport function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n  return arraySplice.calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd);\n}\n\nfunction intersect(start1, end1, start2, end2) {\n  if (end1 < start2 || end2 < start1) {\n    return -1;\n  }\n\n  if (end1 === start2 || end2 === start1) {\n    return 0;\n  }\n\n  if (start1 < start2) {\n    if (end1 < end2) {\n      return end1 - start2;\n    }\n\n    return end2 - start2;\n  }\n\n  if (end2 < end1) {\n    return end2 - start1;\n  }\n\n  return end1 - start1;\n}\n\nexport function mergeSplice(splices, index, removed, addedCount) {\n  var splice = newSplice(index, removed, addedCount);\n\n  var inserted = false;\n  var insertionOffset = 0;\n\n  for (var i = 0; i < splices.length; i++) {\n    var current = splices[i];\n    current.index += insertionOffset;\n\n    if (inserted) {\n      continue;\n    }\n\n    var intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount);\n\n    if (intersectCount >= 0) {\n\n      splices.splice(i, 1);\n      i--;\n\n      insertionOffset -= current.addedCount - current.removed.length;\n\n      splice.addedCount += current.addedCount - intersectCount;\n      var deleteCount = splice.removed.length + current.removed.length - intersectCount;\n\n      if (!splice.addedCount && !deleteCount) {\n        inserted = true;\n      } else {\n        var currentRemoved = current.removed;\n\n        if (splice.index < current.index) {\n          var prepend = splice.removed.slice(0, current.index - splice.index);\n          Array.prototype.push.apply(prepend, currentRemoved);\n          currentRemoved = prepend;\n        }\n\n        if (splice.index + splice.removed.length > current.index + current.addedCount) {\n          var append = splice.removed.slice(current.index + current.addedCount - splice.index);\n          Array.prototype.push.apply(currentRemoved, append);\n        }\n\n        splice.removed = currentRemoved;\n        if (current.index < splice.index) {\n          splice.index = current.index;\n        }\n      }\n    } else if (splice.index < current.index) {\n\n      inserted = true;\n\n      splices.splice(i, 0, splice);\n      i++;\n\n      var offset = splice.addedCount - splice.removed.length;\n      current.index += offset;\n      insertionOffset += offset;\n    }\n  }\n\n  if (!inserted) {\n    splices.push(splice);\n  }\n}\n\nfunction createInitialSplices(array, changeRecords) {\n  var splices = [];\n\n  for (var i = 0; i < changeRecords.length; i++) {\n    var record = changeRecords[i];\n    switch (record.type) {\n      case 'splice':\n        mergeSplice(splices, record.index, record.removed.slice(), record.addedCount);\n        break;\n      case 'add':\n      case 'update':\n      case 'delete':\n        if (!isIndex(record.name)) {\n          continue;\n        }\n\n        var index = toNumber(record.name);\n        if (index < 0) {\n          continue;\n        }\n\n        mergeSplice(splices, index, [record.oldValue], record.type === 'delete' ? 0 : 1);\n        break;\n      default:\n        console.error('Unexpected record type: ' + JSON.stringify(record));\n        break;\n    }\n  }\n\n  return splices;\n}\n\nexport function projectArraySplices(array, changeRecords) {\n  var splices = [];\n\n  createInitialSplices(array, changeRecords).forEach(function (splice) {\n    if (splice.addedCount === 1 && splice.removed.length === 1) {\n      if (splice.removed[0] !== array[splice.index]) {\n        splices.push(splice);\n      }\n\n      return;\n    }\n\n    splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length));\n  });\n\n  return splices;\n}\n\nfunction newRecord(type, object, key, oldValue) {\n  return {\n    type: type,\n    object: object,\n    key: key,\n    oldValue: oldValue\n  };\n}\n\nexport function getChangeRecords(map) {\n  var entries = new Array(map.size);\n  var keys = map.keys();\n  var i = 0;\n  var item = void 0;\n\n  while (item = keys.next()) {\n    if (item.done) {\n      break;\n    }\n\n    entries[i] = newRecord('added', map, item.value);\n    i++;\n  }\n\n  return entries;\n}\n\nexport var ModifyCollectionObserver = (_dec3 = subscriberCollection(), _dec3(_class2 = function () {\n  function ModifyCollectionObserver(taskQueue, collection) {\n    \n\n    this.taskQueue = taskQueue;\n    this.queued = false;\n    this.changeRecords = null;\n    this.oldCollection = null;\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n  }\n\n  ModifyCollectionObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.addChangeRecord = function addChangeRecord(changeRecord) {\n    if (!this.hasSubscribers() && !this.lengthObserver) {\n      return;\n    }\n\n    if (changeRecord.type === 'splice') {\n      var index = changeRecord.index;\n      var arrayLength = changeRecord.object.length;\n      if (index > arrayLength) {\n        index = arrayLength - changeRecord.addedCount;\n      } else if (index < 0) {\n        index = arrayLength + changeRecord.removed.length + index - changeRecord.addedCount;\n      }\n      if (index < 0) {\n        index = 0;\n      }\n      changeRecord.index = index;\n    }\n\n    if (this.changeRecords === null) {\n      this.changeRecords = [changeRecord];\n    } else {\n      this.changeRecords.push(changeRecord);\n    }\n\n    if (!this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.flushChangeRecords = function flushChangeRecords() {\n    if (this.changeRecords && this.changeRecords.length || this.oldCollection) {\n      this.call();\n    }\n  };\n\n  ModifyCollectionObserver.prototype.reset = function reset(oldCollection) {\n    this.oldCollection = oldCollection;\n\n    if (this.hasSubscribers() && !this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.getLengthObserver = function getLengthObserver() {\n    return this.lengthObserver || (this.lengthObserver = new CollectionLengthObserver(this.collection));\n  };\n\n  ModifyCollectionObserver.prototype.call = function call() {\n    var changeRecords = this.changeRecords;\n    var oldCollection = this.oldCollection;\n    var records = void 0;\n\n    this.queued = false;\n    this.changeRecords = [];\n    this.oldCollection = null;\n\n    if (this.hasSubscribers()) {\n      if (oldCollection) {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = getChangeRecords(oldCollection);\n        } else {\n          records = calcSplices(this.collection, 0, this.collection.length, oldCollection, 0, oldCollection.length);\n        }\n      } else {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = changeRecords;\n        } else {\n          records = projectArraySplices(this.collection, changeRecords);\n        }\n      }\n\n      this.callSubscribers(records);\n    }\n\n    if (this.lengthObserver) {\n      this.lengthObserver.call(this.collection[this.lengthPropertyName]);\n    }\n  };\n\n  return ModifyCollectionObserver;\n}()) || _class2);\n\nexport var CollectionLengthObserver = (_dec4 = subscriberCollection(), _dec4(_class3 = function () {\n  function CollectionLengthObserver(collection) {\n    \n\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n    this.currentValue = collection[this.lengthPropertyName];\n  }\n\n  CollectionLengthObserver.prototype.getValue = function getValue() {\n    return this.collection[this.lengthPropertyName];\n  };\n\n  CollectionLengthObserver.prototype.setValue = function setValue(newValue) {\n    this.collection[this.lengthPropertyName] = newValue;\n  };\n\n  CollectionLengthObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.call = function call(newValue) {\n    var oldValue = this.currentValue;\n    this.callSubscribers(newValue, oldValue);\n    this.currentValue = newValue;\n  };\n\n  return CollectionLengthObserver;\n}()) || _class3);\n\nvar arrayProto = Array.prototype;\nvar pop = arrayProto.pop;\nvar push = arrayProto.push;\nvar reverse = arrayProto.reverse;\nvar shift = arrayProto.shift;\nvar sort = arrayProto.sort;\nvar splice = arrayProto.splice;\nvar unshift = arrayProto.unshift;\n\nif (arrayProto.__au_patched__) {\n  LogManager.getLogger('array-observation').warn('Detected 2nd attempt of patching array from Aurelia binding.' + ' This is probably caused by dependency mismatch between core modules and a 3rd party plugin.' + ' Please see https://github.com/aurelia/cli/pull/906 if you are using webpack.');\n} else {\n  Reflect.defineProperty(arrayProto, '__au_patched__', { value: 1 });\n  arrayProto.pop = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = pop.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: this.length,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.push = function () {\n    var methodCallResult = push.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: this.length - arguments.length,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.reverse = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = reverse.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.shift = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = shift.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: 0,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.sort = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = sort.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.splice = function () {\n    var methodCallResult = splice.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: +arguments[0],\n        removed: methodCallResult,\n        addedCount: arguments.length > 2 ? arguments.length - 2 : 0\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.unshift = function () {\n    var methodCallResult = unshift.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: 0,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n}\n\nfunction _getArrayObserver(taskQueue, array) {\n  return ModifyArrayObserver.for(taskQueue, array);\n}\n\nvar ModifyArrayObserver = function (_ModifyCollectionObse) {\n  _inherits(ModifyArrayObserver, _ModifyCollectionObse);\n\n  function ModifyArrayObserver(taskQueue, array) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse.call(this, taskQueue, array));\n  }\n\n  ModifyArrayObserver.for = function _for(taskQueue, array) {\n    if (!('__array_observer__' in array)) {\n      Reflect.defineProperty(array, '__array_observer__', {\n        value: ModifyArrayObserver.create(taskQueue, array),\n        enumerable: false, configurable: false\n      });\n    }\n    return array.__array_observer__;\n  };\n\n  ModifyArrayObserver.create = function create(taskQueue, array) {\n    return new ModifyArrayObserver(taskQueue, array);\n  };\n\n  return ModifyArrayObserver;\n}(ModifyCollectionObserver);\n\nexport var Expression = function () {\n  function Expression() {\n    \n\n    this.isAssignable = false;\n  }\n\n  Expression.prototype.evaluate = function evaluate(scope, lookupFunctions, args) {\n    throw new Error('Binding expression \"' + this + '\" cannot be evaluated.');\n  };\n\n  Expression.prototype.assign = function assign(scope, value, lookupFunctions) {\n    throw new Error('Binding expression \"' + this + '\" cannot be assigned to.');\n  };\n\n  Expression.prototype.toString = function toString() {\n    return typeof FEATURE_NO_UNPARSER === 'undefined' ? _Unparser.unparse(this) : Function.prototype.toString.call(this);\n  };\n\n  return Expression;\n}();\n\nexport var BindingBehavior = function (_Expression) {\n  _inherits(BindingBehavior, _Expression);\n\n  function BindingBehavior(expression, name, args) {\n    \n\n    var _this3 = _possibleConstructorReturn(this, _Expression.call(this));\n\n    _this3.expression = expression;\n    _this3.name = name;\n    _this3.args = args;\n    return _this3;\n  }\n\n  BindingBehavior.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.expression.evaluate(scope, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.assign = function assign(scope, value, lookupFunctions) {\n    return this.expression.assign(scope, value, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.accept = function accept(visitor) {\n    return visitor.visitBindingBehavior(this);\n  };\n\n  BindingBehavior.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  BindingBehavior.prototype.bind = function bind(binding, scope, lookupFunctions) {\n    if (this.expression.expression && this.expression.bind) {\n      this.expression.bind(binding, scope, lookupFunctions);\n    }\n    var behavior = lookupFunctions.bindingBehaviors(this.name);\n    if (!behavior) {\n      throw new Error('No BindingBehavior named \"' + this.name + '\" was found!');\n    }\n    var behaviorKey = 'behavior-' + this.name;\n    if (binding[behaviorKey]) {\n      throw new Error('A binding behavior named \"' + this.name + '\" has already been applied to \"' + this.expression + '\"');\n    }\n    binding[behaviorKey] = behavior;\n    behavior.bind.apply(behavior, [binding, scope].concat(evalList(scope, this.args, binding.lookupFunctions)));\n  };\n\n  BindingBehavior.prototype.unbind = function unbind(binding, scope) {\n    var behaviorKey = 'behavior-' + this.name;\n    binding[behaviorKey].unbind(binding, scope);\n    binding[behaviorKey] = null;\n    if (this.expression.expression && this.expression.unbind) {\n      this.expression.unbind(binding, scope);\n    }\n  };\n\n  return BindingBehavior;\n}(Expression);\n\nexport var ValueConverter = function (_Expression2) {\n  _inherits(ValueConverter, _Expression2);\n\n  function ValueConverter(expression, name, args) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _Expression2.call(this));\n\n    _this4.expression = expression;\n    _this4.name = name;\n    _this4.args = args;\n    _this4.allArgs = [expression].concat(args);\n    return _this4;\n  }\n\n  ValueConverter.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('toView' in converter) {\n      return converter.toView.apply(converter, evalList(scope, this.allArgs, lookupFunctions));\n    }\n\n    return this.allArgs[0].evaluate(scope, lookupFunctions);\n  };\n\n  ValueConverter.prototype.assign = function assign(scope, value, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('fromView' in converter) {\n      value = converter.fromView.apply(converter, [value].concat(evalList(scope, this.args, lookupFunctions)));\n    }\n\n    return this.allArgs[0].assign(scope, value, lookupFunctions);\n  };\n\n  ValueConverter.prototype.accept = function accept(visitor) {\n    return visitor.visitValueConverter(this);\n  };\n\n  ValueConverter.prototype.connect = function connect(binding, scope) {\n    var expressions = this.allArgs;\n    var i = expressions.length;\n    while (i--) {\n      expressions[i].connect(binding, scope);\n    }\n    var converter = binding.lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n    var signals = converter.signals;\n    if (signals === undefined) {\n      return;\n    }\n    i = signals.length;\n    while (i--) {\n      connectBindingToSignal(binding, signals[i]);\n    }\n  };\n\n  return ValueConverter;\n}(Expression);\n\nexport var Assign = function (_Expression3) {\n  _inherits(Assign, _Expression3);\n\n  function Assign(target, value) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _Expression3.call(this));\n\n    _this5.target = target;\n    _this5.value = value;\n    _this5.isAssignable = true;\n    return _this5;\n  }\n\n  Assign.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.target.assign(scope, this.value.evaluate(scope, lookupFunctions));\n  };\n\n  Assign.prototype.accept = function accept(vistor) {\n    vistor.visitAssign(this);\n  };\n\n  Assign.prototype.connect = function connect(binding, scope) {};\n\n  Assign.prototype.assign = function assign(scope, value) {\n    this.value.assign(scope, value);\n    this.target.assign(scope, value);\n  };\n\n  return Assign;\n}(Expression);\n\nexport var Conditional = function (_Expression4) {\n  _inherits(Conditional, _Expression4);\n\n  function Conditional(condition, yes, no) {\n    \n\n    var _this6 = _possibleConstructorReturn(this, _Expression4.call(this));\n\n    _this6.condition = condition;\n    _this6.yes = yes;\n    _this6.no = no;\n    return _this6;\n  }\n\n  Conditional.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return !!this.condition.evaluate(scope, lookupFunctions) ? this.yes.evaluate(scope, lookupFunctions) : this.no.evaluate(scope, lookupFunctions);\n  };\n\n  Conditional.prototype.accept = function accept(visitor) {\n    return visitor.visitConditional(this);\n  };\n\n  Conditional.prototype.connect = function connect(binding, scope) {\n    this.condition.connect(binding, scope);\n    if (this.condition.evaluate(scope)) {\n      this.yes.connect(binding, scope);\n    } else {\n      this.no.connect(binding, scope);\n    }\n  };\n\n  return Conditional;\n}(Expression);\n\nexport var AccessThis = function (_Expression5) {\n  _inherits(AccessThis, _Expression5);\n\n  function AccessThis(ancestor) {\n    \n\n    var _this7 = _possibleConstructorReturn(this, _Expression5.call(this));\n\n    _this7.ancestor = ancestor;\n    return _this7;\n  }\n\n  AccessThis.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var oc = scope.overrideContext;\n    var i = this.ancestor;\n    while (i-- && oc) {\n      oc = oc.parentOverrideContext;\n    }\n    return i < 1 && oc ? oc.bindingContext : undefined;\n  };\n\n  AccessThis.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessThis(this);\n  };\n\n  AccessThis.prototype.connect = function connect(binding, scope) {};\n\n  return AccessThis;\n}(Expression);\n\nexport var AccessScope = function (_Expression6) {\n  _inherits(AccessScope, _Expression6);\n\n  function AccessScope(name, ancestor) {\n    \n\n    var _this8 = _possibleConstructorReturn(this, _Expression6.call(this));\n\n    _this8.name = name;\n    _this8.ancestor = ancestor;\n    _this8.isAssignable = true;\n    return _this8;\n  }\n\n  AccessScope.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context[this.name];\n  };\n\n  AccessScope.prototype.assign = function assign(scope, value) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context ? context[this.name] = value : undefined;\n  };\n\n  AccessScope.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessScope(this);\n  };\n\n  AccessScope.prototype.connect = function connect(binding, scope) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    binding.observeProperty(context, this.name);\n  };\n\n  return AccessScope;\n}(Expression);\n\nexport var AccessMember = function (_Expression7) {\n  _inherits(AccessMember, _Expression7);\n\n  function AccessMember(object, name) {\n    \n\n    var _this9 = _possibleConstructorReturn(this, _Expression7.call(this));\n\n    _this9.object = object;\n    _this9.name = name;\n    _this9.isAssignable = true;\n    return _this9;\n  }\n\n  AccessMember.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    return instance === null || instance === undefined ? instance : instance[this.name];\n  };\n\n  AccessMember.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n\n    if (instance === null || instance === undefined) {\n      instance = {};\n      this.object.assign(scope, instance);\n    }\n\n    instance[this.name] = value;\n    return value;\n  };\n\n  AccessMember.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessMember(this);\n  };\n\n  AccessMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj) {\n      binding.observeProperty(obj, this.name);\n    }\n  };\n\n  return AccessMember;\n}(Expression);\n\nexport var AccessKeyed = function (_Expression8) {\n  _inherits(AccessKeyed, _Expression8);\n\n  function AccessKeyed(object, key) {\n    \n\n    var _this10 = _possibleConstructorReturn(this, _Expression8.call(this));\n\n    _this10.object = object;\n    _this10.key = key;\n    _this10.isAssignable = true;\n    return _this10;\n  }\n\n  AccessKeyed.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var lookup = this.key.evaluate(scope, lookupFunctions);\n    return getKeyed(instance, lookup);\n  };\n\n  AccessKeyed.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n    var lookup = this.key.evaluate(scope);\n    return setKeyed(instance, lookup, value);\n  };\n\n  AccessKeyed.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessKeyed(this);\n  };\n\n  AccessKeyed.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj instanceof Object) {\n      this.key.connect(binding, scope);\n      var key = this.key.evaluate(scope);\n\n      if (key !== null && key !== undefined && !(Array.isArray(obj) && typeof key === 'number')) {\n        binding.observeProperty(obj, key);\n      }\n    }\n  };\n\n  return AccessKeyed;\n}(Expression);\n\nexport var CallScope = function (_Expression9) {\n  _inherits(CallScope, _Expression9);\n\n  function CallScope(name, args, ancestor) {\n    \n\n    var _this11 = _possibleConstructorReturn(this, _Expression9.call(this));\n\n    _this11.name = name;\n    _this11.args = args;\n    _this11.ancestor = ancestor;\n    return _this11;\n  }\n\n  CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var args = evalList(scope, this.args, lookupFunctions);\n    var context = getContextFor(this.name, scope, this.ancestor);\n    var func = getFunction(context, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(context, args);\n    }\n    return undefined;\n  };\n\n  CallScope.prototype.accept = function accept(visitor) {\n    return visitor.visitCallScope(this);\n  };\n\n  CallScope.prototype.connect = function connect(binding, scope) {\n    var args = this.args;\n    var i = args.length;\n    while (i--) {\n      args[i].connect(binding, scope);\n    }\n  };\n\n  return CallScope;\n}(Expression);\n\nexport var CallMember = function (_Expression10) {\n  _inherits(CallMember, _Expression10);\n\n  function CallMember(object, name, args) {\n    \n\n    var _this12 = _possibleConstructorReturn(this, _Expression10.call(this));\n\n    _this12.object = object;\n    _this12.name = name;\n    _this12.args = args;\n    return _this12;\n  }\n\n  CallMember.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var args = evalList(scope, this.args, lookupFunctions);\n    var func = getFunction(instance, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(instance, args);\n    }\n    return undefined;\n  };\n\n  CallMember.prototype.accept = function accept(visitor) {\n    return visitor.visitCallMember(this);\n  };\n\n  CallMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (getFunction(obj, this.name, false)) {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallMember;\n}(Expression);\n\nexport var CallFunction = function (_Expression11) {\n  _inherits(CallFunction, _Expression11);\n\n  function CallFunction(func, args) {\n    \n\n    var _this13 = _possibleConstructorReturn(this, _Expression11.call(this));\n\n    _this13.func = func;\n    _this13.args = args;\n    return _this13;\n  }\n\n  CallFunction.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var func = this.func.evaluate(scope, lookupFunctions);\n    if (typeof func === 'function') {\n      return func.apply(null, evalList(scope, this.args, lookupFunctions));\n    }\n    if (!mustEvaluate && (func === null || func === undefined)) {\n      return undefined;\n    }\n    throw new Error(this.func + ' is not a function');\n  };\n\n  CallFunction.prototype.accept = function accept(visitor) {\n    return visitor.visitCallFunction(this);\n  };\n\n  CallFunction.prototype.connect = function connect(binding, scope) {\n    this.func.connect(binding, scope);\n    var func = this.func.evaluate(scope);\n    if (typeof func === 'function') {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallFunction;\n}(Expression);\n\nexport var Binary = function (_Expression12) {\n  _inherits(Binary, _Expression12);\n\n  function Binary(operation, left, right) {\n    \n\n    var _this14 = _possibleConstructorReturn(this, _Expression12.call(this));\n\n    _this14.operation = operation;\n    _this14.left = left;\n    _this14.right = right;\n    return _this14;\n  }\n\n  Binary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var left = this.left.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '&&':\n        return left && this.right.evaluate(scope, lookupFunctions);\n      case '||':\n        return left || this.right.evaluate(scope, lookupFunctions);\n    }\n\n    var right = this.right.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '==':\n        return left == right;\n      case '===':\n        return left === right;\n      case '!=':\n        return left != right;\n      case '!==':\n        return left !== right;\n      case 'instanceof':\n        return typeof right === 'function' && left instanceof right;\n      case 'in':\n        return (typeof right === 'undefined' ? 'undefined' : _typeof(right)) === 'object' && right !== null && left in right;\n    }\n\n    if (left === null || right === null || left === undefined || right === undefined) {\n      switch (this.operation) {\n        case '+':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return right;\n          return 0;\n        case '-':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return 0 - right;\n          return 0;\n      }\n\n      return null;\n    }\n\n    switch (this.operation) {\n      case '+':\n        return autoConvertAdd(left, right);\n      case '-':\n        return left - right;\n      case '*':\n        return left * right;\n      case '/':\n        return left / right;\n      case '%':\n        return left % right;\n      case '<':\n        return left < right;\n      case '>':\n        return left > right;\n      case '<=':\n        return left <= right;\n      case '>=':\n        return left >= right;\n      case '^':\n        return left ^ right;\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Binary.prototype.accept = function accept(visitor) {\n    return visitor.visitBinary(this);\n  };\n\n  Binary.prototype.connect = function connect(binding, scope) {\n    this.left.connect(binding, scope);\n    var left = this.left.evaluate(scope);\n    if (this.operation === '&&' && !left || this.operation === '||' && left) {\n      return;\n    }\n    this.right.connect(binding, scope);\n  };\n\n  return Binary;\n}(Expression);\n\nexport var Unary = function (_Expression13) {\n  _inherits(Unary, _Expression13);\n\n  function Unary(operation, expression) {\n    \n\n    var _this15 = _possibleConstructorReturn(this, _Expression13.call(this));\n\n    _this15.operation = operation;\n    _this15.expression = expression;\n    return _this15;\n  }\n\n  Unary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    switch (this.operation) {\n      case '!':\n        return !this.expression.evaluate(scope, lookupFunctions);\n      case 'typeof':\n        return _typeof(this.expression.evaluate(scope, lookupFunctions));\n      case 'void':\n        return void this.expression.evaluate(scope, lookupFunctions);\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Unary.prototype.accept = function accept(visitor) {\n    return visitor.visitPrefix(this);\n  };\n\n  Unary.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  return Unary;\n}(Expression);\n\nexport var LiteralPrimitive = function (_Expression14) {\n  _inherits(LiteralPrimitive, _Expression14);\n\n  function LiteralPrimitive(value) {\n    \n\n    var _this16 = _possibleConstructorReturn(this, _Expression14.call(this));\n\n    _this16.value = value;\n    return _this16;\n  }\n\n  LiteralPrimitive.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralPrimitive.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralPrimitive(this);\n  };\n\n  LiteralPrimitive.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralPrimitive;\n}(Expression);\n\nexport var LiteralString = function (_Expression15) {\n  _inherits(LiteralString, _Expression15);\n\n  function LiteralString(value) {\n    \n\n    var _this17 = _possibleConstructorReturn(this, _Expression15.call(this));\n\n    _this17.value = value;\n    return _this17;\n  }\n\n  LiteralString.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralString.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralString(this);\n  };\n\n  LiteralString.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralString;\n}(Expression);\n\nexport var LiteralTemplate = function (_Expression16) {\n  _inherits(LiteralTemplate, _Expression16);\n\n  function LiteralTemplate(cooked, expressions, raw, tag) {\n    \n\n    var _this18 = _possibleConstructorReturn(this, _Expression16.call(this));\n\n    _this18.cooked = cooked;\n    _this18.expressions = expressions || [];\n    _this18.length = _this18.expressions.length;\n    _this18.tagged = tag !== undefined;\n    if (_this18.tagged) {\n      _this18.cooked.raw = raw;\n      _this18.tag = tag;\n      if (tag instanceof AccessScope) {\n        _this18.contextType = 'Scope';\n      } else if (tag instanceof AccessMember || tag instanceof AccessKeyed) {\n        _this18.contextType = 'Object';\n      } else {\n        throw new Error(_this18.tag + ' is not a valid template tag');\n      }\n    }\n    return _this18;\n  }\n\n  LiteralTemplate.prototype.getScopeContext = function getScopeContext(scope, lookupFunctions) {\n    return getContextFor(this.tag.name, scope, this.tag.ancestor);\n  };\n\n  LiteralTemplate.prototype.getObjectContext = function getObjectContext(scope, lookupFunctions) {\n    return this.tag.object.evaluate(scope, lookupFunctions);\n  };\n\n  LiteralTemplate.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var results = new Array(this.length);\n    for (var i = 0; i < this.length; i++) {\n      results[i] = this.expressions[i].evaluate(scope, lookupFunctions);\n    }\n    if (this.tagged) {\n      var func = this.tag.evaluate(scope, lookupFunctions);\n      if (typeof func === 'function') {\n        var context = this['get' + this.contextType + 'Context'](scope, lookupFunctions);\n        return func.call.apply(func, [context, this.cooked].concat(results));\n      }\n      if (!mustEvaluate) {\n        return null;\n      }\n      throw new Error(this.tag + ' is not a function');\n    }\n    var result = this.cooked[0];\n    for (var _i2 = 0; _i2 < this.length; _i2++) {\n      result = String.prototype.concat(result, results[_i2], this.cooked[_i2 + 1]);\n    }\n    return result;\n  };\n\n  LiteralTemplate.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralTemplate(this);\n  };\n\n  LiteralTemplate.prototype.connect = function connect(binding, scope) {\n    for (var i = 0; i < this.length; i++) {\n      this.expressions[i].connect(binding, scope);\n    }\n    if (this.tagged) {\n      this.tag.connect(binding, scope);\n    }\n  };\n\n  return LiteralTemplate;\n}(Expression);\n\nexport var LiteralArray = function (_Expression17) {\n  _inherits(LiteralArray, _Expression17);\n\n  function LiteralArray(elements) {\n    \n\n    var _this19 = _possibleConstructorReturn(this, _Expression17.call(this));\n\n    _this19.elements = elements;\n    return _this19;\n  }\n\n  LiteralArray.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var elements = this.elements;\n    var result = [];\n\n    for (var i = 0, length = elements.length; i < length; ++i) {\n      result[i] = elements[i].evaluate(scope, lookupFunctions);\n    }\n\n    return result;\n  };\n\n  LiteralArray.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralArray(this);\n  };\n\n  LiteralArray.prototype.connect = function connect(binding, scope) {\n    var length = this.elements.length;\n    for (var i = 0; i < length; i++) {\n      this.elements[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralArray;\n}(Expression);\n\nexport var LiteralObject = function (_Expression18) {\n  _inherits(LiteralObject, _Expression18);\n\n  function LiteralObject(keys, values) {\n    \n\n    var _this20 = _possibleConstructorReturn(this, _Expression18.call(this));\n\n    _this20.keys = keys;\n    _this20.values = values;\n    return _this20;\n  }\n\n  LiteralObject.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = {};\n    var keys = this.keys;\n    var values = this.values;\n\n    for (var i = 0, length = keys.length; i < length; ++i) {\n      instance[keys[i]] = values[i].evaluate(scope, lookupFunctions);\n    }\n\n    return instance;\n  };\n\n  LiteralObject.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralObject(this);\n  };\n\n  LiteralObject.prototype.connect = function connect(binding, scope) {\n    var length = this.keys.length;\n    for (var i = 0; i < length; i++) {\n      this.values[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralObject;\n}(Expression);\n\nfunction evalList(scope, list, lookupFunctions) {\n  var length = list.length;\n  var result = [];\n  for (var i = 0; i < length; i++) {\n    result[i] = list[i].evaluate(scope, lookupFunctions);\n  }\n  return result;\n}\n\nfunction autoConvertAdd(a, b) {\n  if (a !== null && b !== null) {\n    if (typeof a === 'string' && typeof b !== 'string') {\n      return a + b.toString();\n    }\n\n    if (typeof a !== 'string' && typeof b === 'string') {\n      return a.toString() + b;\n    }\n\n    return a + b;\n  }\n\n  if (a !== null) {\n    return a;\n  }\n\n  if (b !== null) {\n    return b;\n  }\n\n  return 0;\n}\n\nfunction getFunction(obj, name, mustExist) {\n  var func = obj === null || obj === undefined ? null : obj[name];\n  if (typeof func === 'function') {\n    return func;\n  }\n  if (!mustExist && (func === null || func === undefined)) {\n    return null;\n  }\n  throw new Error(name + ' is not a function');\n}\n\nfunction getKeyed(obj, key) {\n  if (Array.isArray(obj)) {\n    return obj[parseInt(key, 10)];\n  } else if (obj) {\n    return obj[key];\n  } else if (obj === null || obj === undefined) {\n    return undefined;\n  }\n\n  return obj[key];\n}\n\nfunction setKeyed(obj, key, value) {\n  if (Array.isArray(obj)) {\n    var index = parseInt(key, 10);\n\n    if (obj.length <= index) {\n      obj.length = index + 1;\n    }\n\n    obj[index] = value;\n  } else {\n    obj[key] = value;\n  }\n\n  return value;\n}\n\nvar _Unparser = null;\n\nexport { _Unparser as Unparser };\nif (typeof FEATURE_NO_UNPARSER === 'undefined') {\n  _Unparser = function () {\n    function Unparser(buffer) {\n      \n\n      this.buffer = buffer;\n    }\n\n    Unparser.unparse = function unparse(expression) {\n      var buffer = [];\n      var visitor = new _Unparser(buffer);\n\n      expression.accept(visitor);\n\n      return buffer.join('');\n    };\n\n    Unparser.prototype.write = function write(text) {\n      this.buffer.push(text);\n    };\n\n    Unparser.prototype.writeArgs = function writeArgs(args) {\n      this.write('(');\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        args[i].accept(this);\n      }\n\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n      var args = behavior.args;\n\n      behavior.expression.accept(this);\n      this.write('&' + behavior.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitValueConverter = function visitValueConverter(converter) {\n      var args = converter.args;\n\n      converter.expression.accept(this);\n      this.write('|' + converter.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitAssign = function visitAssign(assign) {\n      assign.target.accept(this);\n      this.write('=');\n      assign.value.accept(this);\n    };\n\n    Unparser.prototype.visitConditional = function visitConditional(conditional) {\n      conditional.condition.accept(this);\n      this.write('?');\n      conditional.yes.accept(this);\n      this.write(':');\n      conditional.no.accept(this);\n    };\n\n    Unparser.prototype.visitAccessThis = function visitAccessThis(access) {\n      if (access.ancestor === 0) {\n        this.write('$this');\n        return;\n      }\n      this.write('$parent');\n      var i = access.ancestor - 1;\n      while (i--) {\n        this.write('.$parent');\n      }\n    };\n\n    Unparser.prototype.visitAccessScope = function visitAccessScope(access) {\n      var i = access.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(access.name);\n    };\n\n    Unparser.prototype.visitAccessMember = function visitAccessMember(access) {\n      access.object.accept(this);\n      this.write('.' + access.name);\n    };\n\n    Unparser.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n      access.object.accept(this);\n      this.write('[');\n      access.key.accept(this);\n      this.write(']');\n    };\n\n    Unparser.prototype.visitCallScope = function visitCallScope(call) {\n      var i = call.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallFunction = function visitCallFunction(call) {\n      call.func.accept(this);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallMember = function visitCallMember(call) {\n      call.object.accept(this);\n      this.write('.' + call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitPrefix = function visitPrefix(prefix) {\n      this.write('(' + prefix.operation);\n      if (prefix.operation.charCodeAt(0) >= 97) {\n        this.write(' ');\n      }\n      prefix.expression.accept(this);\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBinary = function visitBinary(binary) {\n      binary.left.accept(this);\n      if (binary.operation.charCodeAt(0) === 105) {\n        this.write(' ' + binary.operation + ' ');\n      } else {\n        this.write(binary.operation);\n      }\n      binary.right.accept(this);\n    };\n\n    Unparser.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n      this.write('' + literal.value);\n    };\n\n    Unparser.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n      var elements = literal.elements;\n\n      this.write('[');\n\n      for (var i = 0, length = elements.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        elements[i].accept(this);\n      }\n\n      this.write(']');\n    };\n\n    Unparser.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n      var keys = literal.keys;\n      var values = literal.values;\n\n      this.write('{');\n\n      for (var i = 0, length = keys.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        this.write('\\'' + keys[i] + '\\':');\n        values[i].accept(this);\n      }\n\n      this.write('}');\n    };\n\n    Unparser.prototype.visitLiteralString = function visitLiteralString(literal) {\n      var escaped = literal.value.replace(/'/g, \"\\'\");\n      this.write('\\'' + escaped + '\\'');\n    };\n\n    Unparser.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n      var cooked = literal.cooked,\n          expressions = literal.expressions;\n\n      var length = expressions.length;\n      this.write('`');\n      this.write(cooked[0]);\n      for (var i = 0; i < length; i++) {\n        expressions[i].accept(this);\n        this.write(cooked[i + 1]);\n      }\n      this.write('`');\n    };\n\n    return Unparser;\n  }();\n}\n\nexport var ExpressionCloner = function () {\n  function ExpressionCloner() {\n    \n  }\n\n  ExpressionCloner.prototype.cloneExpressionArray = function cloneExpressionArray(array) {\n    var clonedArray = [];\n    var i = array.length;\n    while (i--) {\n      clonedArray[i] = array[i].accept(this);\n    }\n    return clonedArray;\n  };\n\n  ExpressionCloner.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n    return new BindingBehavior(behavior.expression.accept(this), behavior.name, this.cloneExpressionArray(behavior.args));\n  };\n\n  ExpressionCloner.prototype.visitValueConverter = function visitValueConverter(converter) {\n    return new ValueConverter(converter.expression.accept(this), converter.name, this.cloneExpressionArray(converter.args));\n  };\n\n  ExpressionCloner.prototype.visitAssign = function visitAssign(assign) {\n    return new Assign(assign.target.accept(this), assign.value.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitConditional = function visitConditional(conditional) {\n    return new Conditional(conditional.condition.accept(this), conditional.yes.accept(this), conditional.no.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitAccessThis = function visitAccessThis(access) {\n    return new AccessThis(access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessScope = function visitAccessScope(access) {\n    return new AccessScope(access.name, access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessMember = function visitAccessMember(access) {\n    return new AccessMember(access.object.accept(this), access.name);\n  };\n\n  ExpressionCloner.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n    return new AccessKeyed(access.object.accept(this), access.key.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitCallScope = function visitCallScope(call) {\n    return new CallScope(call.name, this.cloneExpressionArray(call.args), call.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitCallFunction = function visitCallFunction(call) {\n    return new CallFunction(call.func.accept(this), this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitCallMember = function visitCallMember(call) {\n    return new CallMember(call.object.accept(this), call.name, this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitUnary = function visitUnary(unary) {\n    return new Unary(prefix.operation, prefix.expression.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitBinary = function visitBinary(binary) {\n    return new Binary(binary.operation, binary.left.accept(this), binary.right.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n    return new LiteralPrimitive(literal);\n  };\n\n  ExpressionCloner.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n    return new LiteralArray(this.cloneExpressionArray(literal.elements));\n  };\n\n  ExpressionCloner.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n    return new LiteralObject(literal.keys, this.cloneExpressionArray(literal.values));\n  };\n\n  ExpressionCloner.prototype.visitLiteralString = function visitLiteralString(literal) {\n    return new LiteralString(literal.value);\n  };\n\n  ExpressionCloner.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n    return new LiteralTemplate(literal.cooked, this.cloneExpressionArray(literal.expressions), literal.raw, literal.tag && literal.tag.accept(this));\n  };\n\n  return ExpressionCloner;\n}();\n\nexport function cloneExpression(expression) {\n  var visitor = new ExpressionCloner();\n  return expression.accept(visitor);\n}\n\nexport var bindingMode = {\n  oneTime: 0,\n  toView: 1,\n  oneWay: 1,\n  twoWay: 2,\n  fromView: 3\n};\n\nexport var Parser = function () {\n  function Parser() {\n    \n\n    this.cache = Object.create(null);\n  }\n\n  Parser.prototype.parse = function parse(src) {\n    src = src || '';\n\n    return this.cache[src] || (this.cache[src] = new ParserImplementation(src).parseBindingBehavior());\n  };\n\n  return Parser;\n}();\n\nvar fromCharCode = String.fromCharCode;\n\nexport var ParserImplementation = function () {\n  _createClass(ParserImplementation, [{\n    key: 'raw',\n    get: function get() {\n      return this.src.slice(this.start, this.idx);\n    }\n  }]);\n\n  function ParserImplementation(src) {\n    \n\n    this.idx = 0;\n\n    this.start = 0;\n\n    this.src = src;\n    this.len = src.length;\n\n    this.tkn = T$EOF;\n\n    this.val = undefined;\n\n    this.ch = src.charCodeAt(0);\n  }\n\n  ParserImplementation.prototype.parseBindingBehavior = function parseBindingBehavior() {\n    this.nextToken();\n    if (this.tkn & T$ExpressionTerminal) {\n      this.err('Invalid start of expression');\n    }\n    var result = this.parseValueConverter();\n    while (this.opt(T$Ampersand)) {\n      result = new BindingBehavior(result, this.val, this.parseVariadicArgs());\n    }\n    if (this.tkn !== T$EOF) {\n      this.err('Unconsumed token ' + this.raw);\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseValueConverter = function parseValueConverter() {\n    var result = this.parseExpression();\n    while (this.opt(T$Bar)) {\n      result = new ValueConverter(result, this.val, this.parseVariadicArgs());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseVariadicArgs = function parseVariadicArgs() {\n    this.nextToken();\n    var result = [];\n    while (this.opt(T$Colon)) {\n      result.push(this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseExpression = function parseExpression() {\n    var exprStart = this.idx;\n    var result = this.parseConditional();\n\n    while (this.tkn === T$Eq) {\n      if (!result.isAssignable) {\n        this.err('Expression ' + this.src.slice(exprStart, this.start) + ' is not assignable');\n      }\n      this.nextToken();\n      exprStart = this.idx;\n      result = new Assign(result, this.parseConditional());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseConditional = function parseConditional() {\n    var result = this.parseBinary(0);\n\n    if (this.opt(T$Question)) {\n      var yes = this.parseExpression();\n      this.expect(T$Colon);\n      result = new Conditional(result, yes, this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseBinary = function parseBinary(minPrecedence) {\n    var left = this.parseLeftHandSide(0);\n\n    while (this.tkn & T$BinaryOp) {\n      var opToken = this.tkn;\n      if ((opToken & T$Precedence) <= minPrecedence) {\n        break;\n      }\n      this.nextToken();\n      left = new Binary(TokenValues[opToken & T$TokenMask], left, this.parseBinary(opToken & T$Precedence));\n    }\n    return left;\n  };\n\n  ParserImplementation.prototype.parseLeftHandSide = function parseLeftHandSide(context) {\n    var result = void 0;\n\n    primary: switch (this.tkn) {\n      case T$Plus:\n        this.nextToken();\n        return this.parseLeftHandSide(0);\n      case T$Minus:\n        this.nextToken();\n        return new Binary('-', new LiteralPrimitive(0), this.parseLeftHandSide(0));\n      case T$Bang:\n      case T$TypeofKeyword:\n      case T$VoidKeyword:\n        var op = TokenValues[this.tkn & T$TokenMask];\n        this.nextToken();\n        return new Unary(op, this.parseLeftHandSide(0));\n      case T$ParentScope:\n        {\n          do {\n            this.nextToken();\n            context++;\n            if (this.opt(T$Period)) {\n              if (this.tkn === T$Period) {\n                this.err();\n              }\n              continue;\n            } else if (this.tkn & T$AccessScopeTerminal) {\n              result = new AccessThis(context & C$Ancestor);\n\n              context = context & C$ShorthandProp | C$This;\n              break primary;\n            } else {\n              this.err();\n            }\n          } while (this.tkn === T$ParentScope);\n        }\n\n      case T$Identifier:\n        {\n          result = new AccessScope(this.val, context & C$Ancestor);\n          this.nextToken();\n          context = context & C$ShorthandProp | C$Scope;\n          break;\n        }\n      case T$ThisScope:\n        this.nextToken();\n        result = new AccessThis(0);\n        context = context & C$ShorthandProp | C$This;\n        break;\n      case T$LParen:\n        this.nextToken();\n        result = this.parseExpression();\n        this.expect(T$RParen);\n        context = C$Primary;\n        break;\n      case T$LBracket:\n        {\n          this.nextToken();\n          var _elements = [];\n          if (this.tkn !== T$RBracket) {\n            do {\n              _elements.push(this.parseExpression());\n            } while (this.opt(T$Comma));\n          }\n          this.expect(T$RBracket);\n          result = new LiteralArray(_elements);\n          context = C$Primary;\n          break;\n        }\n      case T$LBrace:\n        {\n          var keys = [];\n          var values = [];\n          this.nextToken();\n          while (this.tkn !== T$RBrace) {\n            if (this.tkn & T$IdentifierOrKeyword) {\n              var ch = this.ch,\n                  tkn = this.tkn,\n                  idx = this.idx;\n\n              keys.push(this.val);\n              this.nextToken();\n              if (this.opt(T$Colon)) {\n                values.push(this.parseExpression());\n              } else {\n                this.ch = ch;\n                this.tkn = tkn;\n                this.idx = idx;\n                values.push(this.parseLeftHandSide(C$ShorthandProp));\n              }\n            } else if (this.tkn & T$Literal) {\n              keys.push(this.val);\n              this.nextToken();\n              this.expect(T$Colon);\n              values.push(this.parseExpression());\n            } else {\n              this.err();\n            }\n            if (this.tkn !== T$RBrace) {\n              this.expect(T$Comma);\n            }\n          }\n          this.expect(T$RBrace);\n          result = new LiteralObject(keys, values);\n          context = C$Primary;\n          break;\n        }\n      case T$StringLiteral:\n        result = new LiteralString(this.val);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateTail:\n        result = new LiteralTemplate([this.val]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateContinuation:\n        result = this.parseTemplate(0);\n        context = C$Primary;\n        break;\n      case T$NumericLiteral:\n        {\n          result = new LiteralPrimitive(this.val);\n          this.nextToken();\n\n          break;\n        }\n      case T$NullKeyword:\n      case T$UndefinedKeyword:\n      case T$TrueKeyword:\n      case T$FalseKeyword:\n        result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      default:\n        if (this.idx >= this.len) {\n          this.err('Unexpected end of expression');\n        } else {\n          this.err();\n        }\n    }\n\n    if (context & C$ShorthandProp) {\n      return result;\n    }\n\n    var name = this.val;\n    while (this.tkn & T$MemberOrCallExpression) {\n      switch (this.tkn) {\n        case T$Period:\n          this.nextToken();\n          if (!(this.tkn & T$IdentifierOrKeyword)) {\n            this.err();\n          }\n          name = this.val;\n          this.nextToken();\n\n          context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;\n          if (this.tkn === T$LParen) {\n            continue;\n          }\n          if (context & C$Scope) {\n            result = new AccessScope(name, result.ancestor);\n          } else {\n            result = new AccessMember(result, name);\n          }\n          continue;\n        case T$LBracket:\n          this.nextToken();\n          context = C$Keyed;\n          result = new AccessKeyed(result, this.parseExpression());\n          this.expect(T$RBracket);\n          break;\n        case T$LParen:\n          this.nextToken();\n          var args = [];\n          while (this.tkn !== T$RParen) {\n            args.push(this.parseExpression());\n            if (!this.opt(T$Comma)) {\n              break;\n            }\n          }\n          this.expect(T$RParen);\n          if (context & C$Scope) {\n            result = new CallScope(name, args, result.ancestor);\n          } else if (context & (C$Member | C$Primary)) {\n            result = new CallMember(result, name, args);\n          } else {\n            result = new CallFunction(result, args);\n          }\n          context = C$Call;\n          break;\n        case T$TemplateTail:\n          result = new LiteralTemplate([this.val], [], [this.raw], result);\n          this.nextToken();\n          break;\n        case T$TemplateContinuation:\n          result = this.parseTemplate(context | C$Tagged, result);\n      }\n    }\n\n    return result;\n  };\n\n  ParserImplementation.prototype.parseTemplate = function parseTemplate(context, func) {\n    var cooked = [this.val];\n    var raw = context & C$Tagged ? [this.raw] : undefined;\n    this.expect(T$TemplateContinuation);\n    var expressions = [this.parseExpression()];\n\n    while ((this.tkn = this.scanTemplateTail()) !== T$TemplateTail) {\n      cooked.push(this.val);\n      if (context & C$Tagged) {\n        raw.push(this.raw);\n      }\n      this.expect(T$TemplateContinuation);\n      expressions.push(this.parseExpression());\n    }\n\n    cooked.push(this.val);\n    if (context & C$Tagged) {\n      raw.push(this.raw);\n    }\n    this.nextToken();\n    return new LiteralTemplate(cooked, expressions, raw, func);\n  };\n\n  ParserImplementation.prototype.nextToken = function nextToken() {\n    while (this.idx < this.len) {\n      if (this.ch <= 0x20) {\n        this.next();\n        continue;\n      }\n      this.start = this.idx;\n      if (this.ch === 0x24 || this.ch >= 0x61 && this.ch <= 0x7A) {\n        this.tkn = this.scanIdentifier();\n        return;\n      }\n\n      if ((this.tkn = CharScanners[this.ch](this)) !== null) {\n        return;\n      }\n    }\n    this.tkn = T$EOF;\n  };\n\n  ParserImplementation.prototype.next = function next() {\n    return this.ch = this.src.charCodeAt(++this.idx);\n  };\n\n  ParserImplementation.prototype.scanIdentifier = function scanIdentifier() {\n    while (AsciiIdParts.has(this.next()) || this.ch > 0x7F && IdParts[this.ch]) {}\n\n    return KeywordLookup[this.val = this.raw] || T$Identifier;\n  };\n\n  ParserImplementation.prototype.scanNumber = function scanNumber(isFloat) {\n    if (isFloat) {\n      this.val = 0;\n    } else {\n      this.val = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        this.val = this.val * 10 + this.ch - 0x30;\n      }\n    }\n\n    if (isFloat || this.ch === 0x2E) {\n      if (!isFloat) {\n        this.next();\n      }\n      var start = this.idx;\n      var value = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        value = value * 10 + this.ch - 0x30;\n      }\n      this.val = this.val + value / Math.pow(10, this.idx - start);\n    }\n\n    if (this.ch === 0x65 || this.ch === 0x45) {\n      var _start = this.idx;\n\n      this.next();\n      if (this.ch === 0x2D || this.ch === 0x2B) {\n        this.next();\n      }\n\n      if (!(this.ch >= 0x30 && this.ch <= 0x39)) {\n        this.idx = _start;\n        this.err('Invalid exponent');\n      }\n      while (this.next() <= 0x39 && this.ch >= 0x30) {}\n      this.val = parseFloat(this.src.slice(this.start, this.idx));\n    }\n\n    return T$NumericLiteral;\n  };\n\n  ParserImplementation.prototype.scanString = function scanString() {\n    var quote = this.ch;\n    this.next();\n\n    var buffer = void 0;\n    var marker = this.idx;\n\n    while (this.ch !== quote) {\n      if (this.ch === 0x5C) {\n        if (!buffer) {\n          buffer = [];\n        }\n\n        buffer.push(this.src.slice(marker, this.idx));\n\n        this.next();\n\n        var _unescaped = void 0;\n\n        if (this.ch === 0x75) {\n          this.next();\n\n          if (this.idx + 4 < this.len) {\n            var hex = this.src.slice(this.idx, this.idx + 4);\n\n            if (!/[A-Z0-9]{4}/i.test(hex)) {\n              this.err('Invalid unicode escape [\\\\u' + hex + ']');\n            }\n\n            _unescaped = parseInt(hex, 16);\n            this.idx += 4;\n            this.ch = this.src.charCodeAt(this.idx);\n          } else {\n            this.err();\n          }\n        } else {\n          _unescaped = unescape(this.ch);\n          this.next();\n        }\n\n        buffer.push(fromCharCode(_unescaped));\n        marker = this.idx;\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated quote');\n      } else {\n        this.next();\n      }\n    }\n\n    var last = this.src.slice(marker, this.idx);\n    this.next();\n    var unescaped = last;\n\n    if (buffer !== null && buffer !== undefined) {\n      buffer.push(last);\n      unescaped = buffer.join('');\n    }\n\n    this.val = unescaped;\n    return T$StringLiteral;\n  };\n\n  ParserImplementation.prototype.scanTemplate = function scanTemplate() {\n    var tail = true;\n    var result = '';\n\n    while (this.next() !== 0x60) {\n      if (this.ch === 0x24) {\n        if (this.idx + 1 < this.len && this.src.charCodeAt(this.idx + 1) === 0x7B) {\n          this.idx++;\n          tail = false;\n          break;\n        } else {\n          result += '$';\n        }\n      } else if (this.ch === 0x5C) {\n        result += fromCharCode(unescape(this.next()));\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated template literal');\n      } else {\n        result += fromCharCode(this.ch);\n      }\n    }\n\n    this.next();\n    this.val = result;\n    if (tail) {\n      return T$TemplateTail;\n    }\n    return T$TemplateContinuation;\n  };\n\n  ParserImplementation.prototype.scanTemplateTail = function scanTemplateTail() {\n    if (this.idx >= this.len) {\n      this.err('Unterminated template');\n    }\n    this.idx--;\n    return this.scanTemplate();\n  };\n\n  ParserImplementation.prototype.err = function err() {\n    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Unexpected token ' + this.raw;\n    var column = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.start;\n\n    throw new Error('Parser Error: ' + message + ' at column ' + column + ' in expression [' + this.src + ']');\n  };\n\n  ParserImplementation.prototype.opt = function opt(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n      return true;\n    }\n\n    return false;\n  };\n\n  ParserImplementation.prototype.expect = function expect(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n    } else {\n      this.err('Missing expected token ' + TokenValues[token & T$TokenMask], this.idx);\n    }\n  };\n\n  return ParserImplementation;\n}();\n\nfunction unescape(code) {\n  switch (code) {\n    case 0x66:\n      return 0xC;\n    case 0x6E:\n      return 0xA;\n    case 0x72:\n      return 0xD;\n    case 0x74:\n      return 0x9;\n    case 0x76:\n      return 0xB;\n    default:\n      return code;\n  }\n}\n\nvar C$This = 1 << 10;\nvar C$Scope = 1 << 11;\nvar C$Member = 1 << 12;\nvar C$Keyed = 1 << 13;\nvar C$Call = 1 << 14;\nvar C$Primary = 1 << 15;\nvar C$ShorthandProp = 1 << 16;\nvar C$Tagged = 1 << 17;\n\nvar C$Ancestor = (1 << 9) - 1;\n\nvar T$TokenMask = (1 << 6) - 1;\n\nvar T$PrecShift = 6;\n\nvar T$Precedence = 7 << T$PrecShift;\n\nvar T$ExpressionTerminal = 1 << 11;\n\nvar T$ClosingToken = 1 << 12;\n\nvar T$OpeningToken = 1 << 13;\n\nvar T$AccessScopeTerminal = 1 << 14;\nvar T$Keyword = 1 << 15;\nvar T$EOF = 1 << 16 | T$AccessScopeTerminal | T$ExpressionTerminal;\nvar T$Identifier = 1 << 17;\nvar T$IdentifierOrKeyword = T$Identifier | T$Keyword;\nvar T$Literal = 1 << 18;\nvar T$NumericLiteral = 1 << 19 | T$Literal;\nvar T$StringLiteral = 1 << 20 | T$Literal;\nvar T$BinaryOp = 1 << 21;\n\nvar T$UnaryOp = 1 << 22;\n\nvar T$MemberExpression = 1 << 23;\n\nvar T$MemberOrCallExpression = 1 << 24;\nvar T$TemplateTail = 1 << 25 | T$MemberOrCallExpression;\nvar T$TemplateContinuation = 1 << 26 | T$MemberOrCallExpression;\n\nvar T$FalseKeyword = 0 | T$Keyword | T$Literal;\nvar T$TrueKeyword = 1 | T$Keyword | T$Literal;\nvar T$NullKeyword = 2 | T$Keyword | T$Literal;\nvar T$UndefinedKeyword = 3 | T$Keyword | T$Literal;\nvar T$ThisScope = 4 | T$IdentifierOrKeyword;\nvar T$ParentScope = 5 | T$IdentifierOrKeyword;\n\nvar T$LParen = 6 | T$OpeningToken | T$AccessScopeTerminal | T$MemberOrCallExpression;\nvar T$LBrace = 7 | T$OpeningToken;\nvar T$Period = 8 | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBrace = 9 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$RParen = 10 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$Comma = 11 | T$AccessScopeTerminal;\nvar T$LBracket = 12 | T$OpeningToken | T$AccessScopeTerminal | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBracket = 13 | T$ClosingToken | T$ExpressionTerminal;\nvar T$Colon = 14 | T$AccessScopeTerminal;\nvar T$Question = 15;\n\nvar T$Ampersand = 18 | T$AccessScopeTerminal;\nvar T$Bar = 19 | T$AccessScopeTerminal;\nvar T$BarBar = 20 | 1 << T$PrecShift | T$BinaryOp;\nvar T$AmpersandAmpersand = 21 | 2 << T$PrecShift | T$BinaryOp;\nvar T$Caret = 22 | 3 << T$PrecShift | T$BinaryOp;\nvar T$EqEq = 23 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEq = 24 | 4 << T$PrecShift | T$BinaryOp;\nvar T$EqEqEq = 25 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEqEq = 26 | 4 << T$PrecShift | T$BinaryOp;\nvar T$Lt = 27 | 5 << T$PrecShift | T$BinaryOp;\nvar T$Gt = 28 | 5 << T$PrecShift | T$BinaryOp;\nvar T$LtEq = 29 | 5 << T$PrecShift | T$BinaryOp;\nvar T$GtEq = 30 | 5 << T$PrecShift | T$BinaryOp;\nvar T$InKeyword = 31 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$InstanceOfKeyword = 32 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$Plus = 33 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$Minus = 34 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$TypeofKeyword = 35 | T$UnaryOp | T$Keyword;\nvar T$VoidKeyword = 36 | T$UnaryOp | T$Keyword;\nvar T$Star = 37 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Percent = 38 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Slash = 39 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Eq = 40;\nvar T$Bang = 41 | T$UnaryOp;\n\nvar KeywordLookup = Object.create(null);\nKeywordLookup.true = T$TrueKeyword;\nKeywordLookup.null = T$NullKeyword;\nKeywordLookup.false = T$FalseKeyword;\nKeywordLookup.undefined = T$UndefinedKeyword;\nKeywordLookup.$this = T$ThisScope;\nKeywordLookup.$parent = T$ParentScope;\nKeywordLookup.in = T$InKeyword;\nKeywordLookup.instanceof = T$InstanceOfKeyword;\nKeywordLookup.typeof = T$TypeofKeyword;\nKeywordLookup.void = T$VoidKeyword;\n\nvar TokenValues = [false, true, null, undefined, '$this', '$parent', '(', '{', '.', '}', ')', ',', '[', ']', ':', '?', '\\'', '\"', '&', '|', '||', '&&', '^', '==', '!=', '===', '!==', '<', '>', '<=', '>=', 'in', 'instanceof', '+', '-', 'typeof', 'void', '*', '%', '/', '=', '!'];\n\nvar codes = {\n  AsciiIdPart: [0x24, 0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B],\n  IdStart: [0x24, 0, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B, 0xAA, 0, 0xBA, 0, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0, 0x207F, 0, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0, 0x214E, 0, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7F7, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B],\n  Digit: [0x30, 0x3A],\n  Skip: [0, 0x21, 0x7F, 0xA1]\n};\n\nfunction decompress(lookup, set, compressed, value) {\n  var rangeCount = compressed.length;\n  for (var i = 0; i < rangeCount; i += 2) {\n    var start = compressed[i];\n    var end = compressed[i + 1];\n    end = end > 0 ? end : start + 1;\n    if (lookup) {\n      var j = start;\n      while (j < end) {\n        lookup[j] = value;\n        j++;\n      }\n    }\n    if (set) {\n      for (var ch = start; ch < end; ch++) {\n        set.add(ch);\n      }\n    }\n  }\n}\n\nfunction returnToken(token) {\n  return function (p) {\n    p.next();\n    return token;\n  };\n}\nfunction unexpectedCharacter(p) {\n  p.err('Unexpected character [' + fromCharCode(p.ch) + ']');\n  return null;\n}\n\nvar AsciiIdParts = new Set();\ndecompress(null, AsciiIdParts, codes.AsciiIdPart, true);\n\nvar IdParts = new Uint8Array(0xFFFF);\ndecompress(IdParts, null, codes.IdStart, 1);\ndecompress(IdParts, null, codes.Digit, 1);\n\nvar CharScanners = new Array(0xFFFF);\nvar ci = 0;\nwhile (ci < 0xFFFF) {\n  CharScanners[ci] = unexpectedCharacter;\n  ci++;\n}\n\ndecompress(CharScanners, null, codes.Skip, function (p) {\n  p.next();\n  return null;\n});\ndecompress(CharScanners, null, codes.IdStart, function (p) {\n  return p.scanIdentifier();\n});\ndecompress(CharScanners, null, codes.Digit, function (p) {\n  return p.scanNumber(false);\n});\n\nCharScanners[0x22] = CharScanners[0x27] = function (p) {\n  return p.scanString();\n};\nCharScanners[0x60] = function (p) {\n  return p.scanTemplate();\n};\n\nCharScanners[0x21] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Bang;\n  }\n  if (p.next() !== 0x3D) {\n    return T$BangEq;\n  }\n  p.next();\n  return T$BangEqEq;\n};\n\nCharScanners[0x3D] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Eq;\n  }\n  if (p.next() !== 0x3D) {\n    return T$EqEq;\n  }\n  p.next();\n  return T$EqEqEq;\n};\n\nCharScanners[0x26] = function (p) {\n  if (p.next() !== 0x26) {\n    return T$Ampersand;\n  }\n  p.next();\n  return T$AmpersandAmpersand;\n};\n\nCharScanners[0x7C] = function (p) {\n  if (p.next() !== 0x7C) {\n    return T$Bar;\n  }\n  p.next();\n  return T$BarBar;\n};\n\nCharScanners[0x2E] = function (p) {\n  if (p.next() <= 0x39 && p.ch >= 0x30) {\n    return p.scanNumber(true);\n  }\n  return T$Period;\n};\n\nCharScanners[0x3C] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Lt;\n  }\n  p.next();\n  return T$LtEq;\n};\n\nCharScanners[0x3E] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Gt;\n  }\n  p.next();\n  return T$GtEq;\n};\n\nCharScanners[0x25] = returnToken(T$Percent);\nCharScanners[0x28] = returnToken(T$LParen);\nCharScanners[0x29] = returnToken(T$RParen);\nCharScanners[0x2A] = returnToken(T$Star);\nCharScanners[0x2B] = returnToken(T$Plus);\nCharScanners[0x2C] = returnToken(T$Comma);\nCharScanners[0x2D] = returnToken(T$Minus);\nCharScanners[0x2F] = returnToken(T$Slash);\nCharScanners[0x3A] = returnToken(T$Colon);\nCharScanners[0x3F] = returnToken(T$Question);\nCharScanners[0x5B] = returnToken(T$LBracket);\nCharScanners[0x5D] = returnToken(T$RBracket);\nCharScanners[0x5E] = returnToken(T$Caret);\nCharScanners[0x7B] = returnToken(T$LBrace);\nCharScanners[0x7D] = returnToken(T$RBrace);\n\nvar mapProto = Map.prototype;\n\nfunction _getMapObserver(taskQueue, map) {\n  return ModifyMapObserver.for(taskQueue, map);\n}\n\nvar ModifyMapObserver = function (_ModifyCollectionObse2) {\n  _inherits(ModifyMapObserver, _ModifyCollectionObse2);\n\n  function ModifyMapObserver(taskQueue, map) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse2.call(this, taskQueue, map));\n  }\n\n  ModifyMapObserver.for = function _for(taskQueue, map) {\n    if (!('__map_observer__' in map)) {\n      Reflect.defineProperty(map, '__map_observer__', {\n        value: ModifyMapObserver.create(taskQueue, map),\n        enumerable: false, configurable: false\n      });\n    }\n    return map.__map_observer__;\n  };\n\n  ModifyMapObserver.create = function create(taskQueue, map) {\n    var observer = new ModifyMapObserver(taskQueue, map);\n\n    var proto = mapProto;\n    if (proto.set !== map.set || proto.delete !== map.delete || proto.clear !== map.clear) {\n      proto = {\n        set: map.set,\n        delete: map.delete,\n        clear: map.clear\n      };\n    }\n\n    map.set = function () {\n      var hasValue = map.has(arguments[0]);\n      var type = hasValue ? 'update' : 'add';\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.set.apply(map, arguments);\n      if (!hasValue || oldValue !== map.get(arguments[0])) {\n        observer.addChangeRecord({\n          type: type,\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.delete = function () {\n      var hasValue = map.has(arguments[0]);\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.delete.apply(map, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.clear = function () {\n      var methodCallResult = proto.clear.apply(map, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: map\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifyMapObserver;\n}(ModifyCollectionObserver);\n\nvar emLogger = LogManager.getLogger('event-manager');\n\nfunction findOriginalEventTarget(event) {\n  return event.composedPath && event.composedPath()[0] || event.deepPath && event.deepPath()[0] || event.path && event.path[0] || event.target;\n}\n\nfunction stopPropagation() {\n  this.standardStopPropagation();\n  this.propagationStopped = true;\n}\n\nfunction handleCapturedEvent(event) {\n  event.propagationStopped = false;\n  var target = findOriginalEventTarget(event);\n\n  var orderedCallbacks = [];\n\n  while (target) {\n    if (target.capturedCallbacks) {\n      var callback = target.capturedCallbacks[event.type];\n      if (callback) {\n        if (event.stopPropagation !== stopPropagation) {\n          event.standardStopPropagation = event.stopPropagation;\n          event.stopPropagation = stopPropagation;\n        }\n        orderedCallbacks.push(callback);\n      }\n    }\n    target = target.parentNode;\n  }\n  for (var i = orderedCallbacks.length - 1; i >= 0 && !event.propagationStopped; i--) {\n    var orderedCallback = orderedCallbacks[i];\n    if ('handleEvent' in orderedCallback) {\n      orderedCallback.handleEvent(event);\n    } else {\n      orderedCallback(event);\n    }\n  }\n}\n\nvar CapturedHandlerEntry = function () {\n  function CapturedHandlerEntry(eventName) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n  }\n\n  CapturedHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  CapturedHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  return CapturedHandlerEntry;\n}();\n\nvar DelegateHandlerEntry = function () {\n  function DelegateHandlerEntry(eventName, eventManager) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n    this.eventManager = eventManager;\n  }\n\n  DelegateHandlerEntry.prototype.handleEvent = function handleEvent(event) {\n    event.propagationStopped = false;\n    var target = findOriginalEventTarget(event);\n\n    while (target && !event.propagationStopped) {\n      if (target.delegatedCallbacks) {\n        var callback = target.delegatedCallbacks[event.type];\n        if (callback) {\n          if (event.stopPropagation !== stopPropagation) {\n            event.standardStopPropagation = event.stopPropagation;\n            event.stopPropagation = stopPropagation;\n          }\n          if ('handleEvent' in callback) {\n            callback.handleEvent(event);\n          } else {\n            callback(event);\n          }\n        }\n      }\n\n      var parent = target.parentNode;\n      var shouldEscapeShadowRoot = this.eventManager.escapeShadowRoot && parent instanceof ShadowRoot;\n\n      target = shouldEscapeShadowRoot ? parent.host : parent;\n    }\n  };\n\n  DelegateHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, this, false);\n    }\n  };\n\n  DelegateHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, this, false);\n    }\n  };\n\n  return DelegateHandlerEntry;\n}();\n\nvar DelegationEntryHandler = function () {\n  function DelegationEntryHandler(entry, lookup, targetEvent) {\n    \n\n    this.entry = entry;\n    this.lookup = lookup;\n    this.targetEvent = targetEvent;\n  }\n\n  DelegationEntryHandler.prototype.dispose = function dispose() {\n    if (this.lookup[this.targetEvent]) {\n      this.entry.decrement();\n      this.lookup[this.targetEvent] = null;\n    } else {\n      emLogger.warn('Calling .dispose() on already disposed eventListener');\n    }\n  };\n\n  return DelegationEntryHandler;\n}();\n\nvar EventHandler = function () {\n  function EventHandler(target, targetEvent, callback) {\n    \n\n    this.target = target;\n    this.targetEvent = targetEvent;\n    this.callback = callback;\n  }\n\n  EventHandler.prototype.dispose = function dispose() {\n    this.target.removeEventListener(this.targetEvent, this.callback);\n  };\n\n  return EventHandler;\n}();\n\nvar DefaultEventStrategy = function () {\n  function DefaultEventStrategy(eventManager) {\n    \n\n    this.delegatedHandlers = {};\n    this.capturedHandlers = {};\n\n    this.eventManager = eventManager;\n  }\n\n  DefaultEventStrategy.prototype.subscribe = function subscribe(target, targetEvent, callback, strategy, disposable) {\n    var delegatedHandlers = void 0;\n    var capturedHandlers = void 0;\n    var handlerEntry = void 0;\n\n    if (strategy === delegationStrategy.bubbling) {\n      delegatedHandlers = this.delegatedHandlers;\n      handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent, this.eventManager));\n      var delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {});\n      if (!delegatedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.warn('Overriding previous callback for event listener', { event: targetEvent, callback: callback, previousCallback: delegatedCallbacks[targetEvent] });\n      }\n      delegatedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, delegatedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        delegatedCallbacks[targetEvent] = null;\n      };\n    }\n    if (strategy === delegationStrategy.capturing) {\n      capturedHandlers = this.capturedHandlers;\n      handlerEntry = capturedHandlers[targetEvent] || (capturedHandlers[targetEvent] = new CapturedHandlerEntry(targetEvent));\n      var capturedCallbacks = target.capturedCallbacks || (target.capturedCallbacks = {});\n      if (!capturedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.error('already have a callback for event', { event: targetEvent, callback: callback });\n      }\n      capturedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, capturedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        capturedCallbacks[targetEvent] = null;\n      };\n    }\n\n    target.addEventListener(targetEvent, callback);\n\n    if (disposable === true) {\n      return new EventHandler(target, targetEvent, callback);\n    }\n\n    return function () {\n      target.removeEventListener(targetEvent, callback);\n    };\n  };\n\n  return DefaultEventStrategy;\n}();\n\nexport var delegationStrategy = {\n  none: 0,\n  capturing: 1,\n  bubbling: 2\n};\n\nexport var EventManager = function () {\n  function EventManager() {\n    var escapeShadowRoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    \n\n    this.elementHandlerLookup = {};\n    this.eventStrategyLookup = {};\n    this.escapeShadowRoot = escapeShadowRoot;\n\n    this.registerElementConfig({\n      tagName: 'input',\n      properties: {\n        value: ['change', 'input'],\n        checked: ['change', 'input'],\n        files: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'textarea',\n      properties: {\n        value: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'select',\n      properties: {\n        value: ['change']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'content editable',\n      properties: {\n        value: ['change', 'input', 'blur', 'keyup', 'paste']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'scrollable element',\n      properties: {\n        scrollTop: ['scroll'],\n        scrollLeft: ['scroll']\n      }\n    });\n\n    this.defaultEventStrategy = new DefaultEventStrategy(this);\n  }\n\n  EventManager.prototype.registerElementConfig = function registerElementConfig(config) {\n    var tagName = config.tagName.toLowerCase();\n    var properties = config.properties;\n    var propertyName = void 0;\n\n    var lookup = this.elementHandlerLookup[tagName] = {};\n\n    for (propertyName in properties) {\n      if (properties.hasOwnProperty(propertyName)) {\n        lookup[propertyName] = properties[propertyName];\n      }\n    }\n  };\n\n  EventManager.prototype.registerEventStrategy = function registerEventStrategy(eventName, strategy) {\n    this.eventStrategyLookup[eventName] = strategy;\n  };\n\n  EventManager.prototype.getElementHandler = function getElementHandler(target, propertyName) {\n    var tagName = void 0;\n    var lookup = this.elementHandlerLookup;\n\n    if (target.tagName) {\n      tagName = target.tagName.toLowerCase();\n\n      if (lookup[tagName] && lookup[tagName][propertyName]) {\n        return new EventSubscriber(lookup[tagName][propertyName]);\n      }\n\n      if (propertyName === 'textContent' || propertyName === 'innerHTML') {\n        return new EventSubscriber(lookup['content editable'].value);\n      }\n\n      if (propertyName === 'scrollTop' || propertyName === 'scrollLeft') {\n        return new EventSubscriber(lookup['scrollable element'][propertyName]);\n      }\n    }\n\n    return null;\n  };\n\n  EventManager.prototype.addEventListener = function addEventListener(target, targetEvent, callbackOrListener, delegate, disposable) {\n    return (this.eventStrategyLookup[targetEvent] || this.defaultEventStrategy).subscribe(target, targetEvent, callbackOrListener, delegate, disposable);\n  };\n\n  return EventManager;\n}();\n\nexport var EventSubscriber = function () {\n  function EventSubscriber(events) {\n    \n\n    this.events = events;\n    this.element = null;\n    this.handler = null;\n  }\n\n  EventSubscriber.prototype.subscribe = function subscribe(element, callbackOrListener) {\n    this.element = element;\n    this.handler = callbackOrListener;\n\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.addEventListener(events[i], callbackOrListener);\n    }\n  };\n\n  EventSubscriber.prototype.dispose = function dispose() {\n    if (this.element === null) {\n      return;\n    }\n    var element = this.element;\n    var callbackOrListener = this.handler;\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.removeEventListener(events[i], callbackOrListener);\n    }\n    this.element = this.handler = null;\n  };\n\n  return EventSubscriber;\n}();\n\nexport var DirtyChecker = function () {\n  function DirtyChecker() {\n    \n\n    this.tracked = [];\n    this.checkDelay = 120;\n  }\n\n  DirtyChecker.prototype.addProperty = function addProperty(property) {\n    var tracked = this.tracked;\n\n    tracked.push(property);\n\n    if (tracked.length === 1) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  DirtyChecker.prototype.removeProperty = function removeProperty(property) {\n    var tracked = this.tracked;\n    tracked.splice(tracked.indexOf(property), 1);\n  };\n\n  DirtyChecker.prototype.scheduleDirtyCheck = function scheduleDirtyCheck() {\n    var _this22 = this;\n\n    setTimeout(function () {\n      return _this22.check();\n    }, this.checkDelay);\n  };\n\n  DirtyChecker.prototype.check = function check() {\n    var tracked = this.tracked;\n    var i = tracked.length;\n\n    while (i--) {\n      var current = tracked[i];\n\n      if (current.isDirty()) {\n        current.call();\n      }\n    }\n\n    if (tracked.length) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  return DirtyChecker;\n}();\n\nexport var DirtyCheckProperty = (_dec5 = subscriberCollection(), _dec5(_class5 = function () {\n  function DirtyCheckProperty(dirtyChecker, obj, propertyName) {\n    \n\n    this.dirtyChecker = dirtyChecker;\n    this.obj = obj;\n    this.propertyName = propertyName;\n  }\n\n  DirtyCheckProperty.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  DirtyCheckProperty.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  DirtyCheckProperty.prototype.isDirty = function isDirty() {\n    return this.oldValue !== this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.dirtyChecker.addProperty(this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  DirtyCheckProperty.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.dirtyChecker.removeProperty(this);\n    }\n  };\n\n  return DirtyCheckProperty;\n}()) || _class5);\n\nvar logger = LogManager.getLogger('property-observation');\n\nexport var propertyAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj[propertyName];\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    obj[propertyName] = value;\n  }\n};\n\nexport var PrimitiveObserver = function () {\n  function PrimitiveObserver(primitive, propertyName) {\n    \n\n    this.doNotCache = true;\n\n    this.primitive = primitive;\n    this.propertyName = propertyName;\n  }\n\n  PrimitiveObserver.prototype.getValue = function getValue() {\n    return this.primitive[this.propertyName];\n  };\n\n  PrimitiveObserver.prototype.setValue = function setValue() {\n    var type = _typeof(this.primitive);\n    throw new Error('The ' + this.propertyName + ' property of a ' + type + ' (' + this.primitive + ') cannot be assigned.');\n  };\n\n  PrimitiveObserver.prototype.subscribe = function subscribe() {};\n\n  PrimitiveObserver.prototype.unsubscribe = function unsubscribe() {};\n\n  return PrimitiveObserver;\n}();\n\nexport var SetterObserver = (_dec6 = subscriberCollection(), _dec6(_class7 = function () {\n  function SetterObserver(taskQueue, obj, propertyName) {\n    \n\n    this.taskQueue = taskQueue;\n    this.obj = obj;\n    this.propertyName = propertyName;\n    this.queued = false;\n    this.observing = false;\n  }\n\n  SetterObserver.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  SetterObserver.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  SetterObserver.prototype.getterValue = function getterValue() {\n    return this.currentValue;\n  };\n\n  SetterObserver.prototype.setterValue = function setterValue(newValue) {\n    var oldValue = this.currentValue;\n\n    if (oldValue !== newValue) {\n      if (!this.queued) {\n        this.oldValue = oldValue;\n        this.queued = true;\n        this.taskQueue.queueMicroTask(this);\n      }\n\n      this.currentValue = newValue;\n    }\n  };\n\n  SetterObserver.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.oldValue = this.currentValue;\n\n    this.queued = false;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SetterObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.observing) {\n      this.convertProperty();\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.convertProperty = function convertProperty() {\n    this.observing = true;\n    this.currentValue = this.obj[this.propertyName];\n    this.setValue = this.setterValue;\n    this.getValue = this.getterValue;\n\n    if (!Reflect.defineProperty(this.obj, this.propertyName, {\n      configurable: true,\n      enumerable: this.propertyName in this.obj ? this.obj.propertyIsEnumerable(this.propertyName) : true,\n      get: this.getValue.bind(this),\n      set: this.setValue.bind(this)\n    })) {\n      logger.warn('Cannot observe property \\'' + this.propertyName + '\\' of object', this.obj);\n    }\n  };\n\n  return SetterObserver;\n}()) || _class7);\n\nexport var XLinkAttributeObserver = function () {\n  function XLinkAttributeObserver(element, propertyName, attributeName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.attributeName = attributeName;\n  }\n\n  XLinkAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttributeNS('http://www.w3.org/1999/xlink', this.attributeName);\n  };\n\n  XLinkAttributeObserver.prototype.setValue = function setValue(newValue) {\n    return this.element.setAttributeNS('http://www.w3.org/1999/xlink', this.attributeName, newValue);\n  };\n\n  XLinkAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return XLinkAttributeObserver;\n}();\n\nexport var dataAttributeAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj.getAttribute(propertyName);\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    if (value === null || value === undefined) {\n      obj.removeAttribute(propertyName);\n    } else {\n      obj.setAttribute(propertyName, value);\n    }\n  }\n};\n\nexport var DataAttributeObserver = function () {\n  function DataAttributeObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n  }\n\n  DataAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttribute(this.propertyName);\n  };\n\n  DataAttributeObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue === null || newValue === undefined) {\n      return this.element.removeAttribute(this.propertyName);\n    }\n    return this.element.setAttribute(this.propertyName, newValue);\n  };\n\n  DataAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return DataAttributeObserver;\n}();\n\nexport var StyleObserver = function () {\n  function StyleObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n\n    this.styles = null;\n    this.version = 0;\n  }\n\n  StyleObserver.prototype.getValue = function getValue() {\n    return this.element.style.cssText;\n  };\n\n  StyleObserver.prototype._setProperty = function _setProperty(style, value) {\n    var priority = '';\n\n    if (value !== null && value !== undefined && typeof value.indexOf === 'function' && value.indexOf('!important') !== -1) {\n      priority = 'important';\n      value = value.replace('!important', '');\n    }\n    this.element.style.setProperty(style, value, priority);\n  };\n\n  StyleObserver.prototype.setValue = function setValue(newValue) {\n    var styles = this.styles || {};\n    var style = void 0;\n    var version = this.version;\n\n    if (newValue !== null && newValue !== undefined) {\n      if (newValue instanceof Object) {\n        var value = void 0;\n        for (style in newValue) {\n          if (newValue.hasOwnProperty(style)) {\n            value = newValue[style];\n            style = style.replace(/([A-Z])/g, function (m) {\n              return '-' + m.toLowerCase();\n            });\n            styles[style] = version;\n            this._setProperty(style, value);\n          }\n        }\n      } else if (newValue.length) {\n        var rx = /\\s*([\\w\\-]+)\\s*:\\s*((?:(?:[\\w\\-]+\\(\\s*(?:\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[\\w\\-]+\\(\\s*(?:^\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^\\)]*)\\),?|[^\\)]*)\\),?|\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^;]*),?\\s*)+);?/g;\n        var pair = void 0;\n        while ((pair = rx.exec(newValue)) !== null) {\n          style = pair[1];\n          if (!style) {\n            continue;\n          }\n\n          styles[style] = version;\n          this._setProperty(style, pair[2]);\n        }\n      }\n    }\n\n    this.styles = styles;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (style in styles) {\n      if (!styles.hasOwnProperty(style) || styles[style] !== version) {\n        continue;\n      }\n\n      this.element.style.removeProperty(style);\n    }\n  };\n\n  StyleObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return StyleObserver;\n}();\n\nexport var ValueAttributeObserver = (_dec7 = subscriberCollection(), _dec7(_class8 = function () {\n  function ValueAttributeObserver(element, propertyName, handler) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.handler = handler;\n    if (propertyName === 'files') {\n      this.setValue = function () {};\n    }\n  }\n\n  ValueAttributeObserver.prototype.getValue = function getValue() {\n    return this.element[this.propertyName];\n  };\n\n  ValueAttributeObserver.prototype.setValue = function setValue(newValue) {\n    newValue = newValue === undefined || newValue === null ? '' : newValue;\n    if (this.element[this.propertyName] !== newValue) {\n      this.element[this.propertyName] = newValue;\n      this.notify();\n    }\n  };\n\n  ValueAttributeObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  ValueAttributeObserver.prototype.handleEvent = function handleEvent() {\n    this.notify();\n  };\n\n  ValueAttributeObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.handler.subscribe(this.element, this);\n    }\n\n    this.addSubscriber(context, callable);\n  };\n\n  ValueAttributeObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  return ValueAttributeObserver;\n}()) || _class8);\n\nvar checkedArrayContext = 'CheckedObserver:array';\nvar checkedValueContext = 'CheckedObserver:value';\n\nexport var CheckedObserver = (_dec8 = subscriberCollection(), _dec8(_class9 = function () {\n  function CheckedObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  CheckedObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  CheckedObserver.prototype.setValue = function setValue(newValue) {\n    if (this.initialSync && this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (this.element.type === 'checkbox' && Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(checkedArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeElement();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  CheckedObserver.prototype.call = function call(context, splices) {\n    this.synchronizeElement();\n\n    if (!this.valueObserver) {\n      this.valueObserver = this.element.__observers__.model || this.element.__observers__.value;\n      if (this.valueObserver) {\n        this.valueObserver.subscribe(checkedValueContext, this);\n      }\n    }\n  };\n\n  CheckedObserver.prototype.synchronizeElement = function synchronizeElement() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var isRadio = element.type === 'radio';\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    element.checked = isRadio && !!matcher(value, elementValue) || !isRadio && value === true || !isRadio && Array.isArray(value) && value.findIndex(function (item) {\n      return !!matcher(item, elementValue);\n    }) !== -1;\n  };\n\n  CheckedObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var index = void 0;\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    if (element.type === 'checkbox') {\n      if (Array.isArray(value)) {\n        index = value.findIndex(function (item) {\n          return !!matcher(item, elementValue);\n        });\n        if (element.checked && index === -1) {\n          value.push(elementValue);\n        } else if (!element.checked && index !== -1) {\n          value.splice(index, 1);\n        }\n\n        return;\n      }\n\n      value = element.checked;\n    } else if (element.checked) {\n      value = elementValue;\n    } else {\n      return;\n    }\n\n    this.oldValue = this.value;\n    this.value = value;\n    this.notify();\n  };\n\n  CheckedObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    if (newValue === oldValue) {\n      return;\n    }\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  CheckedObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  CheckedObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  CheckedObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  CheckedObserver.prototype.unbind = function unbind() {\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n    if (this.valueObserver) {\n      this.valueObserver.unsubscribe(checkedValueContext, this);\n    }\n  };\n\n  return CheckedObserver;\n}()) || _class9);\n\nvar selectArrayContext = 'SelectValueObserver:array';\n\nexport var SelectValueObserver = (_dec9 = subscriberCollection(), _dec9(_class10 = function () {\n  function SelectValueObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  SelectValueObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  SelectValueObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue !== null && newValue !== undefined && this.element.multiple && !Array.isArray(newValue)) {\n      throw new Error('Only null or Array instances can be bound to a multi-select.');\n    }\n    if (this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(selectArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeOptions();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  SelectValueObserver.prototype.call = function call(context, splices) {\n    this.synchronizeOptions();\n  };\n\n  SelectValueObserver.prototype.synchronizeOptions = function synchronizeOptions() {\n    var value = this.value;\n    var isArray = void 0;\n\n    if (Array.isArray(value)) {\n      isArray = true;\n    }\n\n    var options = this.element.options;\n    var i = options.length;\n    var matcher = this.element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    var _loop = function _loop() {\n      var option = options.item(i);\n      var optionValue = option.hasOwnProperty('model') ? option.model : option.value;\n      if (isArray) {\n        option.selected = value.findIndex(function (item) {\n          return !!matcher(optionValue, item);\n        }) !== -1;\n        return 'continue';\n      }\n      option.selected = !!matcher(optionValue, value);\n    };\n\n    while (i--) {\n      var _ret = _loop();\n\n      if (_ret === 'continue') continue;\n    }\n  };\n\n  SelectValueObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var _this23 = this;\n\n    var options = this.element.options;\n    var count = 0;\n    var value = [];\n\n    for (var i = 0, ii = options.length; i < ii; i++) {\n      var _option = options.item(i);\n      if (!_option.selected) {\n        continue;\n      }\n      value.push(_option.hasOwnProperty('model') ? _option.model : _option.value);\n      count++;\n    }\n\n    if (this.element.multiple) {\n      if (Array.isArray(this.value)) {\n        var _ret2 = function () {\n          var matcher = _this23.element.matcher || function (a, b) {\n            return a === b;\n          };\n\n          var i = 0;\n\n          var _loop2 = function _loop2() {\n            var a = _this23.value[i];\n            if (value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.splice(i, 1);\n            } else {\n              i++;\n            }\n          };\n\n          while (i < _this23.value.length) {\n            _loop2();\n          }\n\n          i = 0;\n\n          var _loop3 = function _loop3() {\n            var a = value[i];\n            if (_this23.value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.push(a);\n            }\n            i++;\n          };\n\n          while (i < value.length) {\n            _loop3();\n          }\n          return {\n            v: void 0\n          };\n        }();\n\n        if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === \"object\") return _ret2.v;\n      }\n    } else {\n      if (count === 0) {\n        value = null;\n      } else {\n        value = value[0];\n      }\n    }\n\n    if (value !== this.value) {\n      this.oldValue = this.value;\n      this.value = value;\n      this.notify();\n    }\n  };\n\n  SelectValueObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SelectValueObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  SelectValueObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SelectValueObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  SelectValueObserver.prototype.bind = function bind() {\n    var _this24 = this;\n\n    this.domObserver = DOM.createMutationObserver(function () {\n      _this24.synchronizeOptions();\n      _this24.synchronizeValue();\n    });\n    this.domObserver.observe(this.element, { childList: true, subtree: true, characterData: true });\n  };\n\n  SelectValueObserver.prototype.unbind = function unbind() {\n    this.domObserver.disconnect();\n    this.domObserver = null;\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n  };\n\n  return SelectValueObserver;\n}()) || _class10);\n\nexport var ClassObserver = function () {\n  function ClassObserver(element) {\n    \n\n    this.element = element;\n    this.doNotCache = true;\n    this.value = '';\n    this.version = 0;\n  }\n\n  ClassObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  ClassObserver.prototype.setValue = function setValue(newValue) {\n    var nameIndex = this.nameIndex || {};\n    var version = this.version;\n    var names = void 0;\n    var name = void 0;\n\n    if (newValue !== null && newValue !== undefined && newValue.length) {\n      names = newValue.split(/\\s+/);\n      for (var i = 0, length = names.length; i < length; i++) {\n        name = names[i];\n        if (name === '') {\n          continue;\n        }\n        nameIndex[name] = version;\n        this.element.classList.add(name);\n      }\n    }\n\n    this.value = newValue;\n    this.nameIndex = nameIndex;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (name in nameIndex) {\n      if (!nameIndex.hasOwnProperty(name) || nameIndex[name] !== version) {\n        continue;\n      }\n      this.element.classList.remove(name);\n    }\n  };\n\n  ClassObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"class\" property is not supported.');\n  };\n\n  return ClassObserver;\n}();\n\nexport function hasDeclaredDependencies(descriptor) {\n  return !!(descriptor && descriptor.get && descriptor.get.dependencies);\n}\n\nexport function declarePropertyDependencies(ctor, propertyName, dependencies) {\n  var descriptor = Object.getOwnPropertyDescriptor(ctor.prototype, propertyName);\n  descriptor.get.dependencies = dependencies;\n}\n\nexport function computedFrom() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  return function (target, key, descriptor) {\n    descriptor.get.dependencies = rest;\n    return descriptor;\n  };\n}\n\nexport var ComputedExpression = function (_Expression19) {\n  _inherits(ComputedExpression, _Expression19);\n\n  function ComputedExpression(name, dependencies) {\n    \n\n    var _this25 = _possibleConstructorReturn(this, _Expression19.call(this));\n\n    _this25.name = name;\n    _this25.dependencies = dependencies;\n    _this25.isAssignable = true;\n    return _this25;\n  }\n\n  ComputedExpression.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return scope.bindingContext[this.name];\n  };\n\n  ComputedExpression.prototype.assign = function assign(scope, value) {\n    scope.bindingContext[this.name] = value;\n  };\n\n  ComputedExpression.prototype.accept = function accept(visitor) {\n    throw new Error('not implemented');\n  };\n\n  ComputedExpression.prototype.connect = function connect(binding, scope) {\n    var dependencies = this.dependencies;\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i].connect(binding, scope);\n    }\n  };\n\n  return ComputedExpression;\n}(Expression);\n\nexport function createComputedObserver(obj, propertyName, descriptor, observerLocator) {\n  var dependencies = descriptor.get.dependencies;\n  if (!(dependencies instanceof ComputedExpression)) {\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i] = observerLocator.parser.parse(dependencies[i]);\n    }\n    dependencies = descriptor.get.dependencies = new ComputedExpression(propertyName, dependencies);\n  }\n\n  var scope = { bindingContext: obj, overrideContext: createOverrideContext(obj) };\n  return new ExpressionObserver(scope, dependencies, observerLocator);\n}\n\nvar svgElements = void 0;\nvar svgPresentationElements = void 0;\nvar svgPresentationAttributes = void 0;\nvar svgAnalyzer = void 0;\n\nif (typeof FEATURE_NO_SVG === 'undefined') {\n  svgElements = {\n    a: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'target', 'transform', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyph: ['class', 'dx', 'dy', 'externalResourcesRequired', 'format', 'glyphRef', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    altGlyphDef: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyphItem: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    animate: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateColor: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateMotion: ['accumulate', 'additive', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keyPoints', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'origin', 'path', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'rotate', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateTransform: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'type', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    circle: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'r', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    clipPath: ['class', 'clipPathUnits', 'externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    'color-profile': ['id', 'local', 'name', 'rendering-intent', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    cursor: ['externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    defs: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    desc: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    ellipse: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    feBlend: ['class', 'height', 'id', 'in', 'in2', 'mode', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feColorMatrix: ['class', 'height', 'id', 'in', 'result', 'style', 'type', 'values', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComponentTransfer: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComposite: ['class', 'height', 'id', 'in', 'in2', 'k1', 'k2', 'k3', 'k4', 'operator', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feConvolveMatrix: ['bias', 'class', 'divisor', 'edgeMode', 'height', 'id', 'in', 'kernelMatrix', 'kernelUnitLength', 'order', 'preserveAlpha', 'result', 'style', 'targetX', 'targetY', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDiffuseLighting: ['class', 'diffuseConstant', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDisplacementMap: ['class', 'height', 'id', 'in', 'in2', 'result', 'scale', 'style', 'width', 'x', 'xChannelSelector', 'xml:base', 'xml:lang', 'xml:space', 'y', 'yChannelSelector'],\n    feDistantLight: ['azimuth', 'elevation', 'id', 'xml:base', 'xml:lang', 'xml:space'],\n    feFlood: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feFuncA: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncB: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncG: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncR: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feGaussianBlur: ['class', 'height', 'id', 'in', 'result', 'stdDeviation', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feImage: ['class', 'externalResourcesRequired', 'height', 'id', 'preserveAspectRatio', 'result', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMerge: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMergeNode: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    feMorphology: ['class', 'height', 'id', 'in', 'operator', 'radius', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feOffset: ['class', 'dx', 'dy', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    fePointLight: ['id', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feSpecularLighting: ['class', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'specularConstant', 'specularExponent', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feSpotLight: ['id', 'limitingConeAngle', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'specularExponent', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feTile: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feTurbulence: ['baseFrequency', 'class', 'height', 'id', 'numOctaves', 'result', 'seed', 'stitchTiles', 'style', 'type', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    filter: ['class', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'height', 'id', 'primitiveUnits', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    font: ['class', 'externalResourcesRequired', 'horiz-adv-x', 'horiz-origin-x', 'horiz-origin-y', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face': ['accent-height', 'alphabetic', 'ascent', 'bbox', 'cap-height', 'descent', 'font-family', 'font-size', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'hanging', 'id', 'ideographic', 'mathematical', 'overline-position', 'overline-thickness', 'panose-1', 'slope', 'stemh', 'stemv', 'strikethrough-position', 'strikethrough-thickness', 'underline-position', 'underline-thickness', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'widths', 'x-height', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-format': ['id', 'string', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-name': ['id', 'name', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-src': ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-uri': ['id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    foreignObject: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    g: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    glyph: ['arabic-form', 'class', 'd', 'glyph-name', 'horiz-adv-x', 'id', 'lang', 'orientation', 'style', 'unicode', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    glyphRef: ['class', 'dx', 'dy', 'format', 'glyphRef', 'id', 'style', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    hkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'],\n    image: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    line: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'x1', 'x2', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    linearGradient: ['class', 'externalResourcesRequired', 'gradientTransform', 'gradientUnits', 'id', 'spreadMethod', 'style', 'x1', 'x2', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    marker: ['class', 'externalResourcesRequired', 'id', 'markerHeight', 'markerUnits', 'markerWidth', 'orient', 'preserveAspectRatio', 'refX', 'refY', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    mask: ['class', 'externalResourcesRequired', 'height', 'id', 'maskContentUnits', 'maskUnits', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    metadata: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'missing-glyph': ['class', 'd', 'horiz-adv-x', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    mpath: ['externalResourcesRequired', 'id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    path: ['class', 'd', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'pathLength', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    pattern: ['class', 'externalResourcesRequired', 'height', 'id', 'patternContentUnits', 'patternTransform', 'patternUnits', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'viewBox', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    polygon: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    polyline: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    radialGradient: ['class', 'cx', 'cy', 'externalResourcesRequired', 'fx', 'fy', 'gradientTransform', 'gradientUnits', 'id', 'r', 'spreadMethod', 'style', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    rect: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    script: ['externalResourcesRequired', 'id', 'type', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    set: ['attributeName', 'attributeType', 'begin', 'dur', 'end', 'externalResourcesRequired', 'fill', 'id', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    stop: ['class', 'id', 'offset', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    style: ['id', 'media', 'title', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    svg: ['baseProfile', 'class', 'contentScriptType', 'contentStyleType', 'externalResourcesRequired', 'height', 'id', 'onabort', 'onactivate', 'onclick', 'onerror', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onresize', 'onscroll', 'onunload', 'onzoom', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'version', 'viewBox', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'zoomAndPan'],\n    switch: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    symbol: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    text: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'transform', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    textPath: ['class', 'externalResourcesRequired', 'id', 'lengthAdjust', 'method', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'spacing', 'startOffset', 'style', 'systemLanguage', 'textLength', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    title: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    tref: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    tspan: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    use: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    view: ['externalResourcesRequired', 'id', 'preserveAspectRatio', 'viewBox', 'viewTarget', 'xml:base', 'xml:lang', 'xml:space', 'zoomAndPan'],\n    vkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space']\n  };\n\n\n  svgPresentationElements = {\n    'a': true,\n    'altGlyph': true,\n    'animate': true,\n    'animateColor': true,\n    'circle': true,\n    'clipPath': true,\n    'defs': true,\n    'ellipse': true,\n    'feBlend': true,\n    'feColorMatrix': true,\n    'feComponentTransfer': true,\n    'feComposite': true,\n    'feConvolveMatrix': true,\n    'feDiffuseLighting': true,\n    'feDisplacementMap': true,\n    'feFlood': true,\n    'feGaussianBlur': true,\n    'feImage': true,\n    'feMerge': true,\n    'feMorphology': true,\n    'feOffset': true,\n    'feSpecularLighting': true,\n    'feTile': true,\n    'feTurbulence': true,\n    'filter': true,\n    'font': true,\n    'foreignObject': true,\n    'g': true,\n    'glyph': true,\n    'glyphRef': true,\n    'image': true,\n    'line': true,\n    'linearGradient': true,\n    'marker': true,\n    'mask': true,\n    'missing-glyph': true,\n    'path': true,\n    'pattern': true,\n    'polygon': true,\n    'polyline': true,\n    'radialGradient': true,\n    'rect': true,\n    'stop': true,\n    'svg': true,\n    'switch': true,\n    'symbol': true,\n    'text': true,\n    'textPath': true,\n    'tref': true,\n    'tspan': true,\n    'use': true\n  };\n\n  svgPresentationAttributes = {\n    'alignment-baseline': true,\n    'baseline-shift': true,\n    'clip-path': true,\n    'clip-rule': true,\n    'clip': true,\n    'color-interpolation-filters': true,\n    'color-interpolation': true,\n    'color-profile': true,\n    'color-rendering': true,\n    'color': true,\n    'cursor': true,\n    'direction': true,\n    'display': true,\n    'dominant-baseline': true,\n    'enable-background': true,\n    'fill-opacity': true,\n    'fill-rule': true,\n    'fill': true,\n    'filter': true,\n    'flood-color': true,\n    'flood-opacity': true,\n    'font-family': true,\n    'font-size-adjust': true,\n    'font-size': true,\n    'font-stretch': true,\n    'font-style': true,\n    'font-variant': true,\n    'font-weight': true,\n    'glyph-orientation-horizontal': true,\n    'glyph-orientation-vertical': true,\n    'image-rendering': true,\n    'kerning': true,\n    'letter-spacing': true,\n    'lighting-color': true,\n    'marker-end': true,\n    'marker-mid': true,\n    'marker-start': true,\n    'mask': true,\n    'opacity': true,\n    'overflow': true,\n    'pointer-events': true,\n    'shape-rendering': true,\n    'stop-color': true,\n    'stop-opacity': true,\n    'stroke-dasharray': true,\n    'stroke-dashoffset': true,\n    'stroke-linecap': true,\n    'stroke-linejoin': true,\n    'stroke-miterlimit': true,\n    'stroke-opacity': true,\n    'stroke-width': true,\n    'stroke': true,\n    'text-anchor': true,\n    'text-decoration': true,\n    'text-rendering': true,\n    'unicode-bidi': true,\n    'visibility': true,\n    'word-spacing': true,\n    'writing-mode': true\n  };\n\n  var createElement = function createElement(html) {\n    var div = DOM.createElement('div');\n    div.innerHTML = html;\n    return div.firstChild;\n  };\n\n  svgAnalyzer = function () {\n    function SVGAnalyzer() {\n      \n\n      if (createElement('<svg><altGlyph /></svg>').firstElementChild.nodeName === 'altglyph' && elements.altGlyph) {\n        elements.altglyph = elements.altGlyph;\n        delete elements.altGlyph;\n        elements.altglyphdef = elements.altGlyphDef;\n        delete elements.altGlyphDef;\n        elements.altglyphitem = elements.altGlyphItem;\n        delete elements.altGlyphItem;\n        elements.glyphref = elements.glyphRef;\n        delete elements.glyphRef;\n      }\n    }\n\n    SVGAnalyzer.prototype.isStandardSvgAttribute = function isStandardSvgAttribute(nodeName, attributeName) {\n      return presentationElements[nodeName] && presentationAttributes[attributeName] || elements[nodeName] && elements[nodeName].indexOf(attributeName) !== -1;\n    };\n\n    return SVGAnalyzer;\n  }();\n}\n\nexport var elements = svgElements;\nexport var presentationElements = svgPresentationElements;\nexport var presentationAttributes = svgPresentationAttributes;\nexport var SVGAnalyzer = svgAnalyzer || function () {\n  function _class11() {\n    \n  }\n\n  _class11.prototype.isStandardSvgAttribute = function isStandardSvgAttribute() {\n    return false;\n  };\n\n  return _class11;\n}();\n\nexport var ObserverLocator = (_temp = _class12 = function () {\n  function ObserverLocator(taskQueue, eventManager, dirtyChecker, svgAnalyzer, parser) {\n    \n\n    this.taskQueue = taskQueue;\n    this.eventManager = eventManager;\n    this.dirtyChecker = dirtyChecker;\n    this.svgAnalyzer = svgAnalyzer;\n    this.parser = parser;\n\n    this.adapters = [];\n    this.logger = LogManager.getLogger('observer-locator');\n  }\n\n  ObserverLocator.prototype.getObserver = function getObserver(obj, propertyName) {\n    var observersLookup = obj.__observers__;\n    var observer = void 0;\n\n    if (observersLookup && propertyName in observersLookup) {\n      return observersLookup[propertyName];\n    }\n\n    observer = this.createPropertyObserver(obj, propertyName);\n\n    if (!observer.doNotCache) {\n      if (observersLookup === undefined) {\n        observersLookup = this.getOrCreateObserversLookup(obj);\n      }\n\n      observersLookup[propertyName] = observer;\n    }\n\n    return observer;\n  };\n\n  ObserverLocator.prototype.getOrCreateObserversLookup = function getOrCreateObserversLookup(obj) {\n    return obj.__observers__ || this.createObserversLookup(obj);\n  };\n\n  ObserverLocator.prototype.createObserversLookup = function createObserversLookup(obj) {\n    var value = {};\n\n    if (!Reflect.defineProperty(obj, '__observers__', {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: value\n    })) {\n      this.logger.warn('Cannot add observers to object', obj);\n    }\n\n    return value;\n  };\n\n  ObserverLocator.prototype.addAdapter = function addAdapter(adapter) {\n    this.adapters.push(adapter);\n  };\n\n  ObserverLocator.prototype.getAdapterObserver = function getAdapterObserver(obj, propertyName, descriptor) {\n    for (var i = 0, ii = this.adapters.length; i < ii; i++) {\n      var adapter = this.adapters[i];\n      var observer = adapter.getObserver(obj, propertyName, descriptor);\n      if (observer) {\n        return observer;\n      }\n    }\n    return null;\n  };\n\n  ObserverLocator.prototype.createPropertyObserver = function createPropertyObserver(obj, propertyName) {\n    var descriptor = void 0;\n    var handler = void 0;\n    var xlinkResult = void 0;\n\n    if (!(obj instanceof Object)) {\n      return new PrimitiveObserver(obj, propertyName);\n    }\n\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class') {\n        return new ClassObserver(obj);\n      }\n      if (propertyName === 'style' || propertyName === 'css') {\n        return new StyleObserver(obj, propertyName);\n      }\n      handler = this.eventManager.getElementHandler(obj, propertyName);\n      if (propertyName === 'value' && obj.tagName.toLowerCase() === 'select') {\n        return new SelectValueObserver(obj, handler, this);\n      }\n      if (propertyName === 'checked' && obj.tagName.toLowerCase() === 'input') {\n        return new CheckedObserver(obj, handler, this);\n      }\n      if (handler) {\n        return new ValueAttributeObserver(obj, propertyName, handler);\n      }\n      xlinkResult = /^xlink:(.+)$/.exec(propertyName);\n      if (xlinkResult) {\n        return new XLinkAttributeObserver(obj, propertyName, xlinkResult[1]);\n      }\n      if (propertyName === 'role' && (obj instanceof DOM.Element || obj instanceof DOM.SVGElement) || /^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) {\n        return new DataAttributeObserver(obj, propertyName);\n      }\n    }\n\n    descriptor = Object.getPropertyDescriptor(obj, propertyName);\n\n    if (hasDeclaredDependencies(descriptor)) {\n      return createComputedObserver(obj, propertyName, descriptor, this);\n    }\n\n    if (descriptor) {\n      var existingGetterOrSetter = descriptor.get || descriptor.set;\n      if (existingGetterOrSetter) {\n        if (existingGetterOrSetter.getObserver) {\n          return existingGetterOrSetter.getObserver(obj);\n        }\n\n        var adapterObserver = this.getAdapterObserver(obj, propertyName, descriptor);\n        if (adapterObserver) {\n          return adapterObserver;\n        }\n        return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n      }\n    }\n\n    if (obj instanceof Array) {\n      if (propertyName === 'length') {\n        return this.getArrayObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Map) {\n      if (propertyName === 'size') {\n        return this.getMapObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Set) {\n      if (propertyName === 'size') {\n        return this.getSetObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    }\n\n    return new SetterObserver(this.taskQueue, obj, propertyName);\n  };\n\n  ObserverLocator.prototype.getAccessor = function getAccessor(obj, propertyName) {\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class' || propertyName === 'style' || propertyName === 'css' || propertyName === 'value' && (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'select') || propertyName === 'checked' && obj.tagName.toLowerCase() === 'input' || propertyName === 'model' && obj.tagName.toLowerCase() === 'input' || /^xlink:.+$/.exec(propertyName)) {\n        return this.getObserver(obj, propertyName);\n      }\n      if (/^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName) || obj.tagName.toLowerCase() === 'img' && propertyName === 'src' || obj.tagName.toLowerCase() === 'a' && propertyName === 'href') {\n        return dataAttributeAccessor;\n      }\n    }\n    return propertyAccessor;\n  };\n\n  ObserverLocator.prototype.getArrayObserver = function getArrayObserver(array) {\n    return _getArrayObserver(this.taskQueue, array);\n  };\n\n  ObserverLocator.prototype.getMapObserver = function getMapObserver(map) {\n    return _getMapObserver(this.taskQueue, map);\n  };\n\n  ObserverLocator.prototype.getSetObserver = function getSetObserver(set) {\n    return _getSetObserver(this.taskQueue, set);\n  };\n\n  return ObserverLocator;\n}(), _class12.inject = [TaskQueue, EventManager, DirtyChecker, SVGAnalyzer, Parser], _temp);\n\nexport var ObjectObservationAdapter = function () {\n  function ObjectObservationAdapter() {\n    \n  }\n\n  ObjectObservationAdapter.prototype.getObserver = function getObserver(object, propertyName, descriptor) {\n    throw new Error('BindingAdapters must implement getObserver(object, propertyName).');\n  };\n\n  return ObjectObservationAdapter;\n}();\n\nexport var BindingExpression = function () {\n  function BindingExpression(observerLocator, targetProperty, sourceExpression, mode, lookupFunctions, attribute) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n    this.attribute = attribute;\n    this.discrete = false;\n  }\n\n  BindingExpression.prototype.createBinding = function createBinding(target) {\n    return new Binding(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.mode, this.lookupFunctions);\n  };\n\n  return BindingExpression;\n}();\n\nexport var Binding = (_dec10 = connectable(), _dec10(_class13 = function () {\n  function Binding(observerLocator, sourceExpression, target, targetProperty, mode, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = targetProperty;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Binding.prototype.updateTarget = function updateTarget(value) {\n    this.targetObserver.setValue(value, this.target, this.targetProperty);\n  };\n\n  Binding.prototype.updateSource = function updateSource(value) {\n    this.sourceExpression.assign(this.source, value, this.lookupFunctions);\n  };\n\n  Binding.prototype.call = function call(context, newValue, oldValue) {\n    if (!this.isBound) {\n      return;\n    }\n    if (context === sourceContext) {\n      oldValue = this.targetObserver.getValue(this.target, this.targetProperty);\n      newValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      if (newValue !== oldValue) {\n        this.updateTarget(newValue);\n      }\n      if (this.mode !== bindingMode.oneTime) {\n        this._version++;\n        this.sourceExpression.connect(this, this.source);\n        this.unobserve(false);\n      }\n      return;\n    }\n    if (context === targetContext) {\n      if (newValue !== this.sourceExpression.evaluate(this.source, this.lookupFunctions)) {\n        this.updateSource(newValue);\n      }\n      return;\n    }\n    throw new Error('Unexpected call context ' + context);\n  };\n\n  Binding.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n\n    var mode = this.mode;\n    if (!this.targetObserver) {\n      var method = mode === bindingMode.twoWay || mode === bindingMode.fromView ? 'getObserver' : 'getAccessor';\n      this.targetObserver = this.observerLocator[method](this.target, this.targetProperty);\n    }\n\n    if ('bind' in this.targetObserver) {\n      this.targetObserver.bind();\n    }\n    if (this.mode !== bindingMode.fromView) {\n      var value = this.sourceExpression.evaluate(source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n\n    if (mode === bindingMode.oneTime) {\n      return;\n    } else if (mode === bindingMode.toView) {\n      enqueueBindingConnect(this);\n    } else if (mode === bindingMode.twoWay) {\n      this.sourceExpression.connect(this, source);\n      this.targetObserver.subscribe(targetContext, this);\n    } else if (mode === bindingMode.fromView) {\n      this.targetObserver.subscribe(targetContext, this);\n    }\n  };\n\n  Binding.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    if ('unbind' in this.targetObserver) {\n      this.targetObserver.unbind();\n    }\n    if (this.targetObserver.unsubscribe) {\n      this.targetObserver.unsubscribe(targetContext, this);\n    }\n    this.unobserve(true);\n  };\n\n  Binding.prototype.connect = function connect(evaluate) {\n    if (!this.isBound) {\n      return;\n    }\n    if (evaluate) {\n      var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n    this.sourceExpression.connect(this, this.source);\n  };\n\n  return Binding;\n}()) || _class13);\n\nexport var CallExpression = function () {\n  function CallExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  CallExpression.prototype.createBinding = function createBinding(target) {\n    return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.lookupFunctions);\n  };\n\n  return CallExpression;\n}();\n\nexport var Call = function () {\n  function Call(observerLocator, sourceExpression, target, targetProperty, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = observerLocator.getObserver(target, targetProperty);\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Call.prototype.callSource = function callSource($event) {\n    var overrideContext = this.source.overrideContext;\n    Object.assign(overrideContext, $event);\n    overrideContext.$event = $event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    for (var prop in $event) {\n      delete overrideContext[prop];\n    }\n    return result;\n  };\n\n  Call.prototype.bind = function bind(source) {\n    var _this26 = this;\n\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.targetProperty.setValue(function ($event) {\n      return _this26.callSource($event);\n    });\n  };\n\n  Call.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this.targetProperty.setValue(null);\n  };\n\n  return Call;\n}();\n\nexport var ValueConverterResource = function () {\n  function ValueConverterResource(name) {\n    \n\n    this.name = name;\n  }\n\n  ValueConverterResource.convention = function convention(name) {\n    if (name.endsWith('ValueConverter')) {\n      return new ValueConverterResource(camelCase(name.substring(0, name.length - 14)));\n    }\n  };\n\n  ValueConverterResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  ValueConverterResource.prototype.register = function register(registry, name) {\n    registry.registerValueConverter(name || this.name, this.instance);\n  };\n\n  ValueConverterResource.prototype.load = function load(container, target) {};\n\n  return ValueConverterResource;\n}();\n\nexport function valueConverter(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new ValueConverterResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new ValueConverterResource(), nameOrTarget);\n}\n\nexport var BindingBehaviorResource = function () {\n  function BindingBehaviorResource(name) {\n    \n\n    this.name = name;\n  }\n\n  BindingBehaviorResource.convention = function convention(name) {\n    if (name.endsWith('BindingBehavior')) {\n      return new BindingBehaviorResource(camelCase(name.substring(0, name.length - 15)));\n    }\n  };\n\n  BindingBehaviorResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  BindingBehaviorResource.prototype.register = function register(registry, name) {\n    registry.registerBindingBehavior(name || this.name, this.instance);\n  };\n\n  BindingBehaviorResource.prototype.load = function load(container, target) {};\n\n  return BindingBehaviorResource;\n}();\n\nexport function bindingBehavior(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new BindingBehaviorResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new BindingBehaviorResource(), nameOrTarget);\n}\n\nexport var ListenerExpression = function () {\n  function ListenerExpression(eventManager, targetEvent, sourceExpression, delegationStrategy, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.sourceExpression = sourceExpression;\n    this.delegationStrategy = delegationStrategy;\n    this.discrete = true;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ListenerExpression.prototype.createBinding = function createBinding(target) {\n    return new Listener(this.eventManager, this.targetEvent, this.delegationStrategy, this.sourceExpression, target, this.preventDefault, this.lookupFunctions);\n  };\n\n  return ListenerExpression;\n}();\n\nexport var Listener = function () {\n  function Listener(eventManager, targetEvent, delegationStrategy, sourceExpression, target, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.delegationStrategy = delegationStrategy;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Listener.prototype.callSource = function callSource(event) {\n    var overrideContext = this.source.overrideContext;\n    overrideContext.$event = event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    if (result !== true && this.preventDefault) {\n      event.preventDefault();\n    }\n    return result;\n  };\n\n  Listener.prototype.handleEvent = function handleEvent(event) {\n    this.callSource(event);\n  };\n\n  Listener.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this._handler = this.eventManager.addEventListener(this.target, this.targetEvent, this, this.delegationStrategy, true);\n  };\n\n  Listener.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this._handler.dispose();\n    this._handler = null;\n  };\n\n  return Listener;\n}();\n\nfunction getAU(element) {\n  var au = element.au;\n\n  if (au === undefined) {\n    throw new Error('No Aurelia APIs are defined for the element: \"' + element.tagName + '\".');\n  }\n\n  return au;\n}\n\nexport var NameExpression = function () {\n  function NameExpression(sourceExpression, apiName, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.apiName = apiName;\n    this.lookupFunctions = lookupFunctions;\n    this.discrete = true;\n  }\n\n  NameExpression.prototype.createBinding = function createBinding(target) {\n    return new NameBinder(this.sourceExpression, NameExpression.locateAPI(target, this.apiName), this.lookupFunctions);\n  };\n\n  NameExpression.locateAPI = function locateAPI(element, apiName) {\n    switch (apiName) {\n      case 'element':\n        return element;\n      case 'controller':\n        return getAU(element).controller;\n      case 'view-model':\n        return getAU(element).controller.viewModel;\n      case 'view':\n        return getAU(element).controller.view;\n      default:\n        var target = getAU(element)[apiName];\n\n        if (target === undefined) {\n          throw new Error('Attempted to reference \"' + apiName + '\", but it was not found amongst the target\\'s API.');\n        }\n\n        return target.viewModel;\n    }\n  };\n\n  return NameExpression;\n}();\n\nvar NameBinder = function () {\n  function NameBinder(sourceExpression, target, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  NameBinder.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.sourceExpression.assign(this.source, this.target, this.lookupFunctions);\n  };\n\n  NameBinder.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.evaluate(this.source, this.lookupFunctions) === this.target) {\n      this.sourceExpression.assign(this.source, null, this.lookupFunctions);\n    }\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n  };\n\n  return NameBinder;\n}();\n\nvar LookupFunctions = {\n  bindingBehaviors: function bindingBehaviors(name) {\n    return null;\n  },\n  valueConverters: function valueConverters(name) {\n    return null;\n  }\n};\n\nexport var BindingEngine = (_temp2 = _class14 = function () {\n  function BindingEngine(observerLocator, parser) {\n    \n\n    this.observerLocator = observerLocator;\n    this.parser = parser;\n  }\n\n  BindingEngine.prototype.createBindingExpression = function createBindingExpression(targetProperty, sourceExpression) {\n    var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : bindingMode.toView;\n    var lookupFunctions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : LookupFunctions;\n\n    return new BindingExpression(this.observerLocator, targetProperty, this.parser.parse(sourceExpression), mode, lookupFunctions);\n  };\n\n  BindingEngine.prototype.propertyObserver = function propertyObserver(obj, propertyName) {\n    var _this27 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = _this27.observerLocator.getObserver(obj, propertyName);\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.collectionObserver = function collectionObserver(collection) {\n    var _this28 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = void 0;\n        if (collection instanceof Array) {\n          observer = _this28.observerLocator.getArrayObserver(collection);\n        } else if (collection instanceof Map) {\n          observer = _this28.observerLocator.getMapObserver(collection);\n        } else if (collection instanceof Set) {\n          observer = _this28.observerLocator.getSetObserver(collection);\n        } else {\n          throw new Error('collection must be an instance of Array, Map or Set.');\n        }\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.expressionObserver = function expressionObserver(bindingContext, expression) {\n    var scope = { bindingContext: bindingContext, overrideContext: createOverrideContext(bindingContext) };\n    return new ExpressionObserver(scope, this.parser.parse(expression), this.observerLocator, LookupFunctions);\n  };\n\n  BindingEngine.prototype.parseExpression = function parseExpression(expression) {\n    return this.parser.parse(expression);\n  };\n\n  BindingEngine.prototype.registerAdapter = function registerAdapter(adapter) {\n    this.observerLocator.addAdapter(adapter);\n  };\n\n  return BindingEngine;\n}(), _class14.inject = [ObserverLocator, Parser], _temp2);\n\nvar setProto = Set.prototype;\n\nfunction _getSetObserver(taskQueue, set) {\n  return ModifySetObserver.for(taskQueue, set);\n}\n\nvar ModifySetObserver = function (_ModifyCollectionObse3) {\n  _inherits(ModifySetObserver, _ModifyCollectionObse3);\n\n  function ModifySetObserver(taskQueue, set) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse3.call(this, taskQueue, set));\n  }\n\n  ModifySetObserver.for = function _for(taskQueue, set) {\n    if (!('__set_observer__' in set)) {\n      Reflect.defineProperty(set, '__set_observer__', {\n        value: ModifySetObserver.create(taskQueue, set),\n        enumerable: false, configurable: false\n      });\n    }\n    return set.__set_observer__;\n  };\n\n  ModifySetObserver.create = function create(taskQueue, set) {\n    var observer = new ModifySetObserver(taskQueue, set);\n\n    var proto = setProto;\n    if (proto.add !== set.add || proto.delete !== set.delete || proto.clear !== set.clear) {\n      proto = {\n        add: set.add,\n        delete: set.delete,\n        clear: set.clear\n      };\n    }\n\n    set.add = function () {\n      var type = 'add';\n      var oldSize = set.size;\n      var methodCallResult = proto.add.apply(set, arguments);\n      var hasValue = set.size === oldSize;\n      if (!hasValue) {\n        observer.addChangeRecord({\n          type: type,\n          object: set,\n          value: Array.from(set).pop()\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.delete = function () {\n      var hasValue = set.has(arguments[0]);\n      var methodCallResult = proto.delete.apply(set, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: set,\n          value: arguments[0]\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.clear = function () {\n      var methodCallResult = proto.clear.apply(set, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: set\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifySetObserver;\n}(ModifyCollectionObserver);\n\nexport function observable(targetOrConfig, key, descriptor) {\n  function deco(target, key, descriptor, config) {\n    var isClassDecorator = key === undefined;\n    if (isClassDecorator) {\n      target = target.prototype;\n      key = typeof config === 'string' ? config : config.name;\n    }\n\n    var innerPropertyName = '_' + key;\n    var innerPropertyDescriptor = {\n      configurable: true,\n      enumerable: false,\n      writable: true\n    };\n\n    var callbackName = config && config.changeHandler || key + 'Changed';\n\n    if (descriptor) {\n      if (typeof descriptor.initializer === 'function') {\n        innerPropertyDescriptor.value = descriptor.initializer();\n      }\n    } else {\n      descriptor = {};\n    }\n\n    if (!('enumerable' in descriptor)) {\n      descriptor.enumerable = true;\n    }\n\n    delete descriptor.value;\n    delete descriptor.writable;\n    delete descriptor.initializer;\n\n    Reflect.defineProperty(target, innerPropertyName, innerPropertyDescriptor);\n\n    descriptor.get = function () {\n      return this[innerPropertyName];\n    };\n    descriptor.set = function (newValue) {\n      var oldValue = this[innerPropertyName];\n      if (newValue === oldValue) {\n        return;\n      }\n\n      this[innerPropertyName] = newValue;\n      Reflect.defineProperty(this, innerPropertyName, { enumerable: false });\n\n      if (this[callbackName]) {\n        this[callbackName](newValue, oldValue, key);\n      }\n    };\n\n    descriptor.get.dependencies = [innerPropertyName];\n\n    if (isClassDecorator) {\n      Reflect.defineProperty(target, key, descriptor);\n    } else {\n      return descriptor;\n    }\n  }\n\n  if (key === undefined) {\n    return function (t, k, d) {\n      return deco(t, k, d, targetOrConfig);\n    };\n  }\n  return deco(targetOrConfig, key, descriptor);\n}\n\nvar signals = {};\n\nexport function connectBindingToSignal(binding, name) {\n  if (!signals.hasOwnProperty(name)) {\n    signals[name] = 0;\n  }\n  binding.observeProperty(signals, name);\n}\n\nexport function signalBindings(name) {\n  if (signals.hasOwnProperty(name)) {\n    signals[name]++;\n  }\n}","import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\n\nfunction isInjectable(potentialTarget) {\r\n    return !!potentialTarget;\r\n}\r\nfunction autoinject(potentialTarget) {\r\n    var deco = function (target) {\r\n        if (!target.hasOwnProperty('inject')) {\r\n            target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\r\n                _emptyParameters).slice();\r\n            if (target.inject && target.inject.length > 0) {\r\n                if (target.inject[target.inject.length - 1] === Object) {\r\n                    target.inject.splice(-1, 1);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    if (isInjectable(potentialTarget)) {\r\n        return deco(potentialTarget);\r\n    }\r\n    return deco;\r\n}\r\nfunction inject() {\r\n    var rest = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        rest[_i] = arguments[_i];\r\n    }\r\n    return function (target, _key, descriptor) {\r\n        if (typeof descriptor === 'number') {\r\n            autoinject(target);\r\n            if (rest.length === 1) {\r\n                target.inject[descriptor] = rest[0];\r\n            }\r\n            return;\r\n        }\r\n        if (descriptor) {\r\n            var fn = descriptor.value;\r\n            fn.inject = rest;\r\n        }\r\n        else {\r\n            target.inject = rest;\r\n        }\r\n    };\r\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\r\n    if (!(typeof target.get === 'function')) {\r\n        return 'Resolvers must implement: get(container: Container, key: any): any';\r\n    }\r\n    return true;\r\n});\r\nvar Strategy;\r\n(function (Strategy) {\r\n    Strategy[Strategy[\"instance\"] = 0] = \"instance\";\r\n    Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\r\n    Strategy[Strategy[\"transient\"] = 2] = \"transient\";\r\n    Strategy[Strategy[\"function\"] = 3] = \"function\";\r\n    Strategy[Strategy[\"array\"] = 4] = \"array\";\r\n    Strategy[Strategy[\"alias\"] = 5] = \"alias\";\r\n})(Strategy || (Strategy = {}));\r\nfunction isStrategy(actual, expected, state) {\r\n    return actual === expected;\r\n}\r\nvar StrategyResolver = (function () {\r\n    function StrategyResolver(strategy, state) {\r\n        this.strategy = strategy;\r\n        this.state = state;\r\n    }\r\n    StrategyResolver.prototype.get = function (container, key) {\r\n        if (isStrategy(this.strategy, Strategy.instance, this.state)) {\r\n            return this.state;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\r\n            var singleton = container.invoke(this.state);\r\n            this.state = singleton;\r\n            this.strategy = 0;\r\n            return singleton;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.transient, this.state)) {\r\n            return container.invoke(this.state);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.function, this.state)) {\r\n            return this.state(container, key, this);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.array, this.state)) {\r\n            return this.state[0].get(container, key);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.alias, this.state)) {\r\n            return container.get(this.state);\r\n        }\r\n        throw new Error('Invalid strategy: ' + this.strategy);\r\n    };\r\n    StrategyResolver = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Number, Object])\r\n    ], StrategyResolver);\r\n    return StrategyResolver;\r\n}());\r\nvar Lazy = (function () {\r\n    function Lazy(key) {\r\n        this._key = key;\r\n    }\r\n    Lazy_1 = Lazy;\r\n    Lazy.prototype.get = function (container) {\r\n        var _this = this;\r\n        return function () { return container.get(_this._key); };\r\n    };\r\n    Lazy.of = function (key) {\r\n        return new Lazy_1(key);\r\n    };\r\n    var Lazy_1;\r\n    Lazy = Lazy_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Lazy);\r\n    return Lazy;\r\n}());\r\nvar All = (function () {\r\n    function All(key) {\r\n        this._key = key;\r\n    }\r\n    All_1 = All;\r\n    All.prototype.get = function (container) {\r\n        return container.getAll(this._key);\r\n    };\r\n    All.of = function (key) {\r\n        return new All_1(key);\r\n    };\r\n    var All_1;\r\n    All = All_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], All);\r\n    return All;\r\n}());\r\nvar Optional = (function () {\r\n    function Optional(key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        this._key = key;\r\n        this._checkParent = checkParent;\r\n    }\r\n    Optional_1 = Optional;\r\n    Optional.prototype.get = function (container) {\r\n        if (container.hasResolver(this._key, this._checkParent)) {\r\n            return container.get(this._key);\r\n        }\r\n        return null;\r\n    };\r\n    Optional.of = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        return new Optional_1(key, checkParent);\r\n    };\r\n    var Optional_1;\r\n    Optional = Optional_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Boolean])\r\n    ], Optional);\r\n    return Optional;\r\n}());\r\nvar Parent = (function () {\r\n    function Parent(key) {\r\n        this._key = key;\r\n    }\r\n    Parent_1 = Parent;\r\n    Parent.prototype.get = function (container) {\r\n        return container.parent ? container.parent.get(this._key) : null;\r\n    };\r\n    Parent.of = function (key) {\r\n        return new Parent_1(key);\r\n    };\r\n    var Parent_1;\r\n    Parent = Parent_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Parent);\r\n    return Parent;\r\n}());\r\nvar Factory = (function () {\r\n    function Factory(key) {\r\n        this._key = key;\r\n    }\r\n    Factory_1 = Factory;\r\n    Factory.prototype.get = function (container) {\r\n        var fn = this._key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === Strategy.function) {\r\n            fn = resolver.state;\r\n        }\r\n        return function () {\r\n            var rest = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                rest[_i] = arguments[_i];\r\n            }\r\n            return container.invoke(fn, rest);\r\n        };\r\n    };\r\n    Factory.of = function (key) {\r\n        return new Factory_1(key);\r\n    };\r\n    var Factory_1;\r\n    Factory = Factory_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Factory);\r\n    return Factory;\r\n}());\r\nvar NewInstance = (function () {\r\n    function NewInstance(key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        this.key = key;\r\n        this.asKey = key;\r\n        this.dynamicDependencies = dynamicDependencies;\r\n    }\r\n    NewInstance_1 = NewInstance;\r\n    NewInstance.prototype.get = function (container) {\r\n        var dynamicDependencies = this.dynamicDependencies.length > 0\r\n            ? this.dynamicDependencies.map(function (dependency) {\r\n                return dependency['protocol:aurelia:resolver']\r\n                    ? dependency.get(container)\r\n                    : container.get(dependency);\r\n            })\r\n            : undefined;\r\n        var fn = this.key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === 3) {\r\n            fn = resolver.state;\r\n        }\r\n        var instance = container.invoke(fn, dynamicDependencies);\r\n        container.registerInstance(this.asKey, instance);\r\n        return instance;\r\n    };\r\n    NewInstance.prototype.as = function (key) {\r\n        this.asKey = key;\r\n        return this;\r\n    };\r\n    NewInstance.of = function (key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        return new (NewInstance_1.bind.apply(NewInstance_1, [void 0, key].concat(dynamicDependencies)))();\r\n    };\r\n    var NewInstance_1;\r\n    NewInstance = NewInstance_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Object])\r\n    ], NewInstance);\r\n    return NewInstance;\r\n}());\r\nfunction getDecoratorDependencies(target) {\r\n    autoinject(target);\r\n    return target.inject;\r\n}\r\nfunction lazy(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Lazy.of(keyValue);\r\n    };\r\n}\r\nfunction all(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = All.of(keyValue);\r\n    };\r\n}\r\nfunction optional(checkParentOrTarget) {\r\n    if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\r\n    var deco = function (checkParent) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = Optional.of(inject$$1[index], checkParent);\r\n        };\r\n    };\r\n    if (typeof checkParentOrTarget === 'boolean') {\r\n        return deco(checkParentOrTarget);\r\n    }\r\n    return deco(true);\r\n}\r\nfunction parent(target, _key, index) {\r\n    var inject$$1 = getDecoratorDependencies(target);\r\n    inject$$1[index] = Parent.of(inject$$1[index]);\r\n}\r\nfunction factory(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Factory.of(keyValue);\r\n    };\r\n}\r\nfunction newInstance(asKeyOrTarget) {\r\n    var dynamicDependencies = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        dynamicDependencies[_i - 1] = arguments[_i];\r\n    }\r\n    var deco = function (asKey) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = NewInstance.of.apply(NewInstance, [inject$$1[index]].concat(dynamicDependencies));\r\n            if (!!asKey) {\r\n                inject$$1[index].as(asKey);\r\n            }\r\n        };\r\n    };\r\n    if (arguments.length >= 1) {\r\n        return deco(asKeyOrTarget);\r\n    }\r\n    return deco();\r\n}\n\nfunction validateKey(key) {\r\n    if (key === null || key === undefined) {\r\n        throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n    }\r\n}\r\nvar _emptyParameters = Object.freeze([]);\r\nmetadata.registration = 'aurelia:registration';\r\nmetadata.invoker = 'aurelia:invoker';\r\nvar resolverDecorates = resolver.decorates;\r\nvar InvocationHandler = (function () {\r\n    function InvocationHandler(fn, invoker, dependencies) {\r\n        this.fn = fn;\r\n        this.invoker = invoker;\r\n        this.dependencies = dependencies;\r\n    }\r\n    InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\r\n        return dynamicDependencies !== undefined\r\n            ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\r\n            : this.invoker.invoke(container, this.fn, this.dependencies);\r\n    };\r\n    return InvocationHandler;\r\n}());\r\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\r\n    var i = staticDependencies.length;\r\n    var args = new Array(i);\r\n    var lookup;\r\n    while (i--) {\r\n        lookup = staticDependencies[i];\r\n        if (lookup === null || lookup === undefined) {\r\n            throw new Error('Constructor Parameter with index ' +\r\n                i +\r\n                ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n        }\r\n        else {\r\n            args[i] = container.get(lookup);\r\n        }\r\n    }\r\n    if (dynamicDependencies !== undefined) {\r\n        args = args.concat(dynamicDependencies);\r\n    }\r\n    return Reflect.construct(fn, args);\r\n}\r\nvar classInvoker = {\r\n    invoke: function (container, Type, deps) {\r\n        var instances = deps.map(function (dep) { return container.get(dep); });\r\n        return Reflect.construct(Type, instances);\r\n    },\r\n    invokeWithDynamicDependencies: invokeWithDynamicDependencies\r\n};\r\nfunction getDependencies(f) {\r\n    if (!f.hasOwnProperty('inject')) {\r\n        return [];\r\n    }\r\n    if (typeof f.inject === 'function') {\r\n        return f.inject();\r\n    }\r\n    return f.inject;\r\n}\r\nvar Container = (function () {\r\n    function Container(configuration) {\r\n        if (configuration === undefined) {\r\n            configuration = {};\r\n        }\r\n        this._configuration = configuration;\r\n        this._onHandlerCreated = configuration.onHandlerCreated;\r\n        this._handlers =\r\n            configuration.handlers || (configuration.handlers = new Map());\r\n        this._resolvers = new Map();\r\n        this.root = this;\r\n        this.parent = null;\r\n    }\r\n    Container.prototype.makeGlobal = function () {\r\n        Container.instance = this;\r\n        return this;\r\n    };\r\n    Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\r\n        this._onHandlerCreated = onHandlerCreated;\r\n        this._configuration.onHandlerCreated = onHandlerCreated;\r\n    };\r\n    Container.prototype.registerInstance = function (key, instance) {\r\n        return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\r\n    };\r\n    Container.prototype.registerSingleton = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerTransient = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerHandler = function (key, handler) {\r\n        return this.registerResolver(key, new StrategyResolver(3, handler));\r\n    };\r\n    Container.prototype.registerAlias = function (originalKey, aliasKey) {\r\n        return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\r\n    };\r\n    Container.prototype.registerResolver = function (key, resolver$$1) {\r\n        validateKey(key);\r\n        var allResolvers = this._resolvers;\r\n        var result = allResolvers.get(key);\r\n        if (result === undefined) {\r\n            allResolvers.set(key, resolver$$1);\r\n        }\r\n        else if (result.strategy === 4) {\r\n            result.state.push(resolver$$1);\r\n        }\r\n        else {\r\n            allResolvers.set(key, new StrategyResolver(4, [result, resolver$$1]));\r\n        }\r\n        return resolver$$1;\r\n    };\r\n    Container.prototype.autoRegister = function (key, fn) {\r\n        fn = fn === undefined ? key : fn;\r\n        if (typeof fn === 'function') {\r\n            var registration = metadata.get(metadata.registration, fn);\r\n            if (registration === undefined) {\r\n                return this.registerResolver(key, new StrategyResolver(1, fn));\r\n            }\r\n            return registration.registerResolver(this, key, fn);\r\n        }\r\n        return this.registerResolver(key, new StrategyResolver(0, fn));\r\n    };\r\n    Container.prototype.autoRegisterAll = function (fns) {\r\n        var i = fns.length;\r\n        while (i--) {\r\n            this.autoRegister(fns[i]);\r\n        }\r\n    };\r\n    Container.prototype.unregister = function (key) {\r\n        this._resolvers.delete(key);\r\n    };\r\n    Container.prototype.hasResolver = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = false; }\r\n        validateKey(key);\r\n        return (this._resolvers.has(key) ||\r\n            (checkParent &&\r\n                this.parent !== null &&\r\n                this.parent.hasResolver(key, checkParent)));\r\n    };\r\n    Container.prototype.getResolver = function (key) {\r\n        return this._resolvers.get(key);\r\n    };\r\n    Container.prototype.get = function (key) {\r\n        validateKey(key);\r\n        if (key === Container) {\r\n            return this;\r\n        }\r\n        if (resolverDecorates(key)) {\r\n            return key.get(this, key);\r\n        }\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            var registration = metadata.get(metadata.registration, key);\r\n            if (registration === undefined) {\r\n                return this.parent._get(key);\r\n            }\r\n            return registration.registerResolver(this, key, key).get(this, key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype._get = function (key) {\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            return this.parent._get(key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype.getAll = function (key) {\r\n        validateKey(key);\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return _emptyParameters;\r\n            }\r\n            return this.parent.getAll(key);\r\n        }\r\n        if (resolver$$1.strategy === 4) {\r\n            var state = resolver$$1.state;\r\n            var i = state.length;\r\n            var results = new Array(i);\r\n            while (i--) {\r\n                results[i] = state[i].get(this, key);\r\n            }\r\n            return results;\r\n        }\r\n        return [resolver$$1.get(this, key)];\r\n    };\r\n    Container.prototype.createChild = function () {\r\n        var child = new Container(this._configuration);\r\n        child.root = this.root;\r\n        child.parent = this;\r\n        return child;\r\n    };\r\n    Container.prototype.invoke = function (fn, dynamicDependencies) {\r\n        try {\r\n            var handler = this._handlers.get(fn);\r\n            if (handler === undefined) {\r\n                handler = this._createInvocationHandler(fn);\r\n                this._handlers.set(fn, handler);\r\n            }\r\n            return handler.invoke(this, dynamicDependencies);\r\n        }\r\n        catch (e) {\r\n            throw new AggregateError(\"Error invoking \" + fn.name + \". Check the inner error for details.\", e, true);\r\n        }\r\n    };\r\n    Container.prototype._createInvocationHandler = function (fn) {\r\n        var dependencies;\r\n        if (fn.inject === undefined) {\r\n            dependencies =\r\n                metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\r\n        }\r\n        else {\r\n            dependencies = [];\r\n            var ctor = fn;\r\n            while (typeof ctor === 'function') {\r\n                dependencies.push.apply(dependencies, getDependencies(ctor));\r\n                ctor = Object.getPrototypeOf(ctor);\r\n            }\r\n        }\r\n        var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\r\n        var handler = new InvocationHandler(fn, invoker, dependencies);\r\n        return this._onHandlerCreated !== undefined\r\n            ? this._onHandlerCreated(handler)\r\n            : handler;\r\n    };\r\n    return Container;\r\n}());\n\nfunction invoker(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.invoker, value, target);\r\n    };\r\n}\r\nfunction invokeAsFactory(potentialTarget) {\r\n    var deco = function (target) {\r\n        metadata.define(metadata.invoker, FactoryInvoker.instance, target);\r\n    };\r\n    return potentialTarget ? deco(potentialTarget) : deco;\r\n}\r\nvar FactoryInvoker = (function () {\r\n    function FactoryInvoker() {\r\n    }\r\n    FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\r\n        var i = dependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(dependencies[i]);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\r\n        var i = staticDependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(staticDependencies[i]);\r\n        }\r\n        if (dynamicDependencies !== undefined) {\r\n            args = args.concat(dynamicDependencies);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    return FactoryInvoker;\r\n}());\r\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.registration, value, target);\r\n    };\r\n}\r\nfunction transient(key) {\r\n    return registration(new TransientRegistration(key));\r\n}\r\nfunction singleton(keyOrRegisterInChild, registerInChild) {\r\n    if (registerInChild === void 0) { registerInChild = false; }\r\n    return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\r\n}\r\nvar TransientRegistration = (function () {\r\n    function TransientRegistration(key) {\r\n        this._key = key;\r\n    }\r\n    TransientRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var existingResolver = container.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? container.registerTransient((this._key || key), fn)\r\n            : existingResolver;\r\n    };\r\n    return TransientRegistration;\r\n}());\r\nvar SingletonRegistration = (function () {\r\n    function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\r\n        if (registerInChild === void 0) { registerInChild = false; }\r\n        if (typeof keyOrRegisterInChild === 'boolean') {\r\n            this._registerInChild = keyOrRegisterInChild;\r\n        }\r\n        else {\r\n            this._key = keyOrRegisterInChild;\r\n            this._registerInChild = registerInChild;\r\n        }\r\n    }\r\n    SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var targetContainer = this._registerInChild ? container : container.root;\r\n        var existingResolver = targetContainer.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? targetContainer.registerSingleton(this._key || key, fn)\r\n            : existingResolver;\r\n    };\r\n    return SingletonRegistration;\r\n}());\n\nexport { _emptyParameters, InvocationHandler, Container, autoinject, inject, invoker, invokeAsFactory, FactoryInvoker, registration, transient, singleton, TransientRegistration, SingletonRegistration, resolver, Strategy, StrategyResolver, Lazy, All, Optional, Parent, Factory, NewInstance, getDecoratorDependencies, lazy, all, optional, parent, factory, newInstance };\n","import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n    function DefaultDialogSettings() {\r\n        this.lock = true;\r\n        this.startingZIndex = 1000;\r\n        this.centerHorizontalOnly = false;\r\n        this.rejectOnCancel = false;\r\n        this.ignoreTransitions = false;\r\n        this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n    }\r\n    return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n    ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n    native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n    'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n    'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n    'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n    'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n    'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n    function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n        var _this = this;\r\n        this.renderer = 'ux';\r\n        this.cssText = DEFAULT_CSS_TEXT;\r\n        this.resources = [];\r\n        this.fwConfig = frameworkConfiguration;\r\n        this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n        applySetter(function () { return _this._apply(); });\r\n    }\r\n    DialogConfiguration.prototype._apply = function () {\r\n        var _this = this;\r\n        var renderer = this.renderer;\r\n        var cssText = this.cssText;\r\n        return Promise\r\n            .all([\r\n            typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n            cssText\r\n                ? typeof cssText === 'string'\r\n                    ? cssText\r\n                    : cssText()\r\n                : ''\r\n        ])\r\n            .then(function (_a) {\r\n            var rendererImpl = _a[0], $cssText = _a[1];\r\n            var fwConfig = _this.fwConfig;\r\n            fwConfig.transient(Renderer, rendererImpl);\r\n            if ($cssText) {\r\n                DOM.injectStyles($cssText);\r\n            }\r\n            return Promise\r\n                .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n                .then(function (modules) {\r\n                fwConfig.globalResources(modules);\r\n            });\r\n        });\r\n    };\r\n    DialogConfiguration.prototype.useDefaults = function () {\r\n        return this\r\n            .useRenderer('ux')\r\n            .useCSS(DEFAULT_CSS_TEXT)\r\n            .useStandardResources();\r\n    };\r\n    DialogConfiguration.prototype.useStandardResources = function () {\r\n        Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useResource = function (resourceName) {\r\n        this.resources.push(resourceName);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n        this.renderer = renderer;\r\n        if (settings) {\r\n            Object.assign(this.settings, settings);\r\n        }\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useCSS = function (cssText) {\r\n        this.cssText = cssText;\r\n        return this;\r\n    };\r\n    return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n    return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n    promise.whenClosed = whenClosed;\r\n    return promise;\r\n}\r\nvar DialogService = (function () {\r\n    function DialogService(container, compositionEngine, defaultSettings) {\r\n        this.controllers = [];\r\n        this.hasOpenDialog = false;\r\n        this.hasActiveDialog = false;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.defaultSettings = defaultSettings;\r\n    }\r\n    DialogService.prototype.validateSettings = function (settings) {\r\n        if (!settings.viewModel && !settings.view) {\r\n            throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n        }\r\n    };\r\n    DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n        return {\r\n            container: childContainer.parent,\r\n            childContainer: childContainer,\r\n            bindingContext: null,\r\n            viewResources: null,\r\n            model: settings.model,\r\n            view: settings.view,\r\n            viewModel: settings.viewModel,\r\n            viewSlot: new ViewSlot(host, true),\r\n            host: host\r\n        };\r\n    };\r\n    DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n        if (typeof compositionContext.viewModel === 'object') {\r\n            return Promise.resolve(compositionContext);\r\n        }\r\n        return this.compositionEngine.ensureViewModel(compositionContext);\r\n    };\r\n    DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n        if (!rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n        var _this = this;\r\n        if (!compositionContext.viewModel) {\r\n            compositionContext.bindingContext = { controller: dialogController };\r\n        }\r\n        return this.compositionEngine\r\n            .compose(compositionContext)\r\n            .then(function (controller) {\r\n            dialogController.controller = controller;\r\n            return dialogController.renderer\r\n                .showDialog(dialogController)\r\n                .then(function () {\r\n                _this.controllers.push(dialogController);\r\n                _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n            }, function (reason) {\r\n                if (controller.viewModel) {\r\n                    invokeLifecycle(controller.viewModel, 'deactivate');\r\n                }\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogService.prototype.createSettings = function (settings) {\r\n        settings = Object.assign({}, this.defaultSettings, settings);\r\n        if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n            settings.keyboard = !settings.lock;\r\n        }\r\n        if (typeof settings.overlayDismiss !== 'boolean') {\r\n            settings.overlayDismiss = !settings.lock;\r\n        }\r\n        Object.defineProperty(settings, 'rejectOnCancel', {\r\n            writable: false,\r\n            configurable: true,\r\n            enumerable: true\r\n        });\r\n        this.validateSettings(settings);\r\n        return settings;\r\n    };\r\n    DialogService.prototype.open = function (settings) {\r\n        var _this = this;\r\n        if (settings === void 0) { settings = {}; }\r\n        settings = this.createSettings(settings);\r\n        var childContainer = settings.childContainer || this.container.createChild();\r\n        var resolveCloseResult;\r\n        var rejectCloseResult;\r\n        var closeResult = new Promise(function (resolve, reject) {\r\n            resolveCloseResult = resolve;\r\n            rejectCloseResult = reject;\r\n        });\r\n        var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n        childContainer.registerInstance(DialogController, dialogController);\r\n        closeResult.then(function () {\r\n            removeController(_this, dialogController);\r\n        }, function () {\r\n            removeController(_this, dialogController);\r\n        });\r\n        var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n        var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n            if (!compositionContext.viewModel) {\r\n                return true;\r\n            }\r\n            return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n        }).then(function (canActivate) {\r\n            if (!canActivate) {\r\n                return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n            }\r\n            return _this.composeAndShowDialog(compositionContext, dialogController)\r\n                .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n        });\r\n        return asDialogOpenPromise(openResult);\r\n    };\r\n    DialogService.prototype.closeAll = function () {\r\n        return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n            if (!controller.settings.rejectOnCancel) {\r\n                return controller.cancel().then(function (result) {\r\n                    if (result.wasCancelled) {\r\n                        return controller;\r\n                    }\r\n                    return null;\r\n                });\r\n            }\r\n            return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n                if (reason.wasCancelled) {\r\n                    return controller;\r\n                }\r\n                throw reason;\r\n            });\r\n        })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n    };\r\n    DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n    return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n    var i = service.controllers.indexOf(dialogController);\r\n    if (i !== -1) {\r\n        service.controllers.splice(i, 1);\r\n        service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n    }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n    var applyConfig = null;\r\n    var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n    if (typeof callback === 'function') {\r\n        callback(config);\r\n    }\r\n    else {\r\n        config.useDefaults();\r\n    }\r\n    return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n","var Renderer = (function () {\r\n    function Renderer() {\r\n    }\r\n    Renderer.prototype.getDialogContainer = function () {\r\n        throw new Error('DialogRenderer must implement getDialogContainer().');\r\n    };\r\n    Renderer.prototype.showDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement showDialog().');\r\n    };\r\n    Renderer.prototype.hideDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement hideDialog().');\r\n    };\r\n    return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n    var error = new Error('Operation cancelled.');\r\n    error.wasCancelled = true;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n    var error = new Error();\r\n    error.wasCancelled = false;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n    if (typeof instance[name] === 'function') {\r\n        return new Promise(function (resolve) {\r\n            resolve(instance[name](model));\r\n        }).then(function (result) {\r\n            if (result !== null && result !== undefined) {\r\n                return result;\r\n            }\r\n            return true;\r\n        });\r\n    }\r\n    return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n    function DialogController(renderer, settings, resolve, reject) {\r\n        this.resolve = resolve;\r\n        this.reject = reject;\r\n        this.settings = settings;\r\n        this.renderer = renderer;\r\n    }\r\n    DialogController.prototype.releaseResources = function (result) {\r\n        var _this = this;\r\n        return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n            .then(function () { return _this.renderer.hideDialog(_this); })\r\n            .then(function () {\r\n            _this.controller.unbind();\r\n        });\r\n    };\r\n    DialogController.prototype.cancelOperation = function () {\r\n        if (!this.settings.rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogController.prototype.ok = function (output) {\r\n        return this.close(true, output);\r\n    };\r\n    DialogController.prototype.cancel = function (output) {\r\n        return this.close(false, output);\r\n    };\r\n    DialogController.prototype.error = function (output) {\r\n        var _this = this;\r\n        var closeError = createDialogCloseError(output);\r\n        return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n    };\r\n    DialogController.prototype.close = function (ok, output) {\r\n        var _this = this;\r\n        if (this.closePromise) {\r\n            return this.closePromise;\r\n        }\r\n        var dialogResult = { wasCancelled: !ok, output: output };\r\n        return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n            .catch(function (reason) {\r\n            _this.closePromise = undefined;\r\n            return Promise.reject(reason);\r\n        }).then(function (canDeactivate) {\r\n            if (!canDeactivate) {\r\n                _this.closePromise = undefined;\r\n                return _this.cancelOperation();\r\n            }\r\n            return _this.releaseResources(dialogResult).then(function () {\r\n                if (!_this.settings.rejectOnCancel || ok) {\r\n                    _this.resolve(dialogResult);\r\n                }\r\n                else {\r\n                    _this.reject(createDialogCancelError(output));\r\n                }\r\n                return { wasCancelled: false };\r\n            }).catch(function (reason) {\r\n                _this.closePromise = undefined;\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogController.inject = [Renderer];\r\n    return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n","\n\nimport * as LogManager from 'aurelia-logging';\n\nvar logger = LogManager.getLogger('event-aggregator');\n\nvar Handler = function () {\n  function Handler(messageType, callback) {\n    \n\n    this.messageType = messageType;\n    this.callback = callback;\n  }\n\n  Handler.prototype.handle = function handle(message) {\n    if (message instanceof this.messageType) {\n      this.callback.call(null, message);\n    }\n  };\n\n  return Handler;\n}();\n\nfunction invokeCallback(callback, data, event) {\n  try {\n    callback(data, event);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nfunction invokeHandler(handler, data) {\n  try {\n    handler.handle(data);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nexport var EventAggregator = function () {\n  function EventAggregator() {\n    \n\n    this.eventLookup = {};\n    this.messageHandlers = [];\n  }\n\n  EventAggregator.prototype.publish = function publish(event, data) {\n    var subscribers = void 0;\n    var i = void 0;\n\n    if (!event) {\n      throw new Error('Event was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      subscribers = this.eventLookup[event];\n      if (subscribers) {\n        subscribers = subscribers.slice();\n        i = subscribers.length;\n\n        while (i--) {\n          invokeCallback(subscribers[i], data, event);\n        }\n      }\n    } else {\n      subscribers = this.messageHandlers.slice();\n      i = subscribers.length;\n\n      while (i--) {\n        invokeHandler(subscribers[i], event);\n      }\n    }\n  };\n\n  EventAggregator.prototype.subscribe = function subscribe(event, callback) {\n    var handler = void 0;\n    var subscribers = void 0;\n\n    if (!event) {\n      throw new Error('Event channel/type was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      handler = callback;\n      subscribers = this.eventLookup[event] || (this.eventLookup[event] = []);\n    } else {\n      handler = new Handler(event, callback);\n      subscribers = this.messageHandlers;\n    }\n\n    subscribers.push(handler);\n\n    return {\n      dispose: function dispose() {\n        var idx = subscribers.indexOf(handler);\n        if (idx !== -1) {\n          subscribers.splice(idx, 1);\n        }\n      }\n    };\n  };\n\n  EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) {\n    var sub = this.subscribe(event, function (a, b) {\n      sub.dispose();\n      return callback(a, b);\n    });\n\n    return sub;\n  };\n\n  return EventAggregator;\n}();\n\nexport function includeEventsIn(obj) {\n  var ea = new EventAggregator();\n\n  obj.subscribeOnce = function (event, callback) {\n    return ea.subscribeOnce(event, callback);\n  };\n\n  obj.subscribe = function (event, callback) {\n    return ea.subscribe(event, callback);\n  };\n\n  obj.publish = function (event, data) {\n    ea.publish(event, data);\n  };\n\n  return ea;\n}\n\nexport function configure(config) {\n  config.instance(EventAggregator, includeEventsIn(config.aurelia));\n}","import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n    var current;\r\n    var next = function () {\r\n        current = tasks.shift();\r\n        if (current) {\r\n            return Promise.resolve(current(config)).then(next);\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n    logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n    if (typeof info.moduleId === 'string') {\r\n        fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n        var id = info.moduleId;\r\n        if (info.resourcesRelativeTo.length > 1) {\r\n            return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n                .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n        }\r\n        return _loadPlugin(id);\r\n    }\r\n    else if (typeof info.configure === 'function') {\r\n        if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n            return Promise.resolve();\r\n        }\r\n        fwConfig.configuredPlugins.push(info.configure);\r\n        return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n    }\r\n    throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n    function _loadPlugin(moduleId) {\r\n        return loader.loadModule(moduleId).then(function (m) {\r\n            if ('configure' in m) {\r\n                if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n                    return Promise.resolve();\r\n                }\r\n                return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n                    fwConfig.configuredPlugins.push(m.configure);\r\n                    fwConfig.resourcesRelativeTo = null;\r\n                    logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n                });\r\n            }\r\n            fwConfig.resourcesRelativeTo = null;\r\n            logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n        });\r\n    }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n    if (Object.keys(resourcesToLoad).length === 0) {\r\n        return Promise.resolve();\r\n    }\r\n    var viewEngine = aurelia.container.get(ViewEngine);\r\n    return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n        .then(function (loads) {\r\n        var names = [];\r\n        var importIds = [];\r\n        loads.forEach(function (l) {\r\n            names.push(undefined);\r\n            importIds.push(l.importId);\r\n        });\r\n        return viewEngine.importViewResources(importIds, names, appResources);\r\n    });\r\n    function _normalize(load) {\r\n        var moduleId = load.moduleId;\r\n        var ext = getExt(moduleId);\r\n        if (isOtherResource(moduleId)) {\r\n            moduleId = removeExt(moduleId);\r\n        }\r\n        return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n            .then(function (normalized) {\r\n            return {\r\n                name: load.moduleId,\r\n                importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n            };\r\n        });\r\n    }\r\n    function isOtherResource(name) {\r\n        var ext = getExt(name);\r\n        if (!ext)\r\n            return false;\r\n        if (ext === '')\r\n            return false;\r\n        if (ext === '.js' || ext === '.ts')\r\n            return false;\r\n        return true;\r\n    }\r\n    function removeExt(name) {\r\n        return name.replace(extPattern, '');\r\n    }\r\n    function addOriginalExt(normalized, ext) {\r\n        return removeExt(normalized) + '.' + ext;\r\n    }\r\n}\r\nfunction getExt(name) {\r\n    var match = name.match(extPattern);\r\n    if (match && match.length > 0) {\r\n        return (match[0].split('.'))[1];\r\n    }\r\n}\r\nfunction loadBehaviors(config) {\r\n    return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n        config.behaviorsToLoad = null;\r\n    });\r\n}\r\nfunction assertProcessed(plugins) {\r\n    if (plugins.processed) {\r\n        throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n    }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n    return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n    function FrameworkConfiguration(aurelia) {\r\n        var _this = this;\r\n        this.aurelia = aurelia;\r\n        this.container = aurelia.container;\r\n        this.info = [];\r\n        this.processed = false;\r\n        this.preTasks = [];\r\n        this.postTasks = [];\r\n        this.behaviorsToLoad = [];\r\n        this.configuredPlugins = [];\r\n        this.resourcesToLoad = {};\r\n        this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n            .then(function (name) { return _this.bootstrapperName = name; }); });\r\n        this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n    }\r\n    FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n        this.container.registerInstance(type, instance);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n        this.container.registerSingleton(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n        this.container.registerTransient(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.preTask = function (task) {\r\n        assertProcessed(this);\r\n        this.preTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.postTask = function (task) {\r\n        assertProcessed(this);\r\n        this.postTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n        if (config === void 0) { config = {}; }\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                var hasIndex = /\\/index$/i.test(plugin);\r\n                var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n                var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n                this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n                break;\r\n            case 'function':\r\n                this.info.push({ configure: plugin, config: config || {} });\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n        var _this = this;\r\n        assertProcessed(this);\r\n        var toAdd = Array.isArray(resources) ? resources : arguments;\r\n        var resource;\r\n        var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n        for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n            resource = toAdd[i];\r\n            switch (typeof resource) {\r\n                case 'string':\r\n                    var parent_1 = resourcesRelativeTo[0];\r\n                    var grandParent = resourcesRelativeTo[1];\r\n                    var name_1 = resource;\r\n                    if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n                        name_1 = join(parent_1, resource);\r\n                    }\r\n                    this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n                    break;\r\n                case 'function':\r\n                    var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n                    if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n                        if (this.behaviorsToLoad.push(meta) === 1) {\r\n                            this.postTask(function () { return loadBehaviors(_this); });\r\n                        }\r\n                    }\r\n                    break;\r\n                default:\r\n                    throw new Error(invalidConfigMsg(resource, 'resource'));\r\n            }\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n        assertProcessed(this);\r\n        this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n        assertProcessed(this);\r\n        var info;\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n                break;\r\n            case 'function':\r\n                info = { configure: plugin, config: pluginConfig || {} };\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n        }\r\n        this.info.push(info);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n        var _this = this;\r\n        var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n        this.info.push(plugin);\r\n        this.preTask(function () {\r\n            var relativeTo = [name, _this.bootstrapperName];\r\n            plugin.moduleId = name;\r\n            plugin.resourcesRelativeTo = relativeTo;\r\n            return Promise.resolve();\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-binding');\r\n    };\r\n    FrameworkConfiguration.prototype.router = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-router');\r\n    };\r\n    FrameworkConfiguration.prototype.history = function () {\r\n        return this._addNormalizedPlugin('aurelia-history-browser');\r\n    };\r\n    FrameworkConfiguration.prototype.defaultResources = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-resources');\r\n    };\r\n    FrameworkConfiguration.prototype.eventAggregator = function () {\r\n        return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n    };\r\n    FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n        return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n    };\r\n    FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n        return this.basicConfiguration().history().router();\r\n    };\r\n    FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n        var _this = this;\r\n        var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n        if (logLevel === undefined) {\r\n            logLevel = TheLogManager.logLevel.debug;\r\n        }\r\n        this.preTask(function () {\r\n            return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n                return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n                    TheLogManager.addAppender(new m.ConsoleAppender());\r\n                    TheLogManager.setLevel(logLevel);\r\n                });\r\n            });\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.apply = function () {\r\n        var _this = this;\r\n        if (this.processed) {\r\n            return Promise.resolve();\r\n        }\r\n        return runTasks(this, this.preTasks).then(function () {\r\n            var loader = _this.aurelia.loader;\r\n            var info = _this.info;\r\n            var current;\r\n            var next = function () {\r\n                current = info.shift();\r\n                if (current) {\r\n                    return loadPlugin(_this, loader, current).then(next);\r\n                }\r\n                _this.processed = true;\r\n                _this.configuredPlugins = null;\r\n                return Promise.resolve();\r\n            };\r\n            return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n        });\r\n    };\r\n    return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n    DOM.addEventListener('submit', function (evt) {\r\n        var target = evt.target;\r\n        var action = target.action;\r\n        if (target.tagName.toLowerCase() === 'form' && !action) {\r\n            evt.preventDefault();\r\n        }\r\n    }, false);\r\n}\r\nvar Aurelia = (function () {\r\n    function Aurelia(loader, container, resources) {\r\n        this.loader = loader || new PLATFORM.Loader();\r\n        this.container = container || (new Container()).makeGlobal();\r\n        this.resources = resources || new ViewResources();\r\n        this.use = new FrameworkConfiguration(this);\r\n        this.logger = TheLogManager.getLogger('aurelia');\r\n        this.hostConfigured = false;\r\n        this.host = null;\r\n        this.use.instance(Aurelia, this);\r\n        this.use.instance(Loader, this.loader);\r\n        this.use.instance(ViewResources, this.resources);\r\n    }\r\n    Aurelia.prototype.start = function () {\r\n        var _this = this;\r\n        if (this._started) {\r\n            return this._started;\r\n        }\r\n        this.logger.info('Aurelia Starting');\r\n        return this._started = this.use.apply().then(function () {\r\n            preventActionlessFormSubmit();\r\n            if (!_this.container.hasResolver(BindingLanguage)) {\r\n                var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n                _this.logger.error(message);\r\n                throw new Error(message);\r\n            }\r\n            _this.logger.info('Aurelia Started');\r\n            var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n            DOM.dispatchEvent(evt);\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n        var _this = this;\r\n        if (bindingContext === void 0) { bindingContext = {}; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n        return new Promise(function (resolve) {\r\n            var engine = _this.container.get(TemplatingEngine);\r\n            _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n            _this.root.attached();\r\n            _this._onAureliaComposed();\r\n            resolve(_this);\r\n        });\r\n    };\r\n    Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n        var _this = this;\r\n        if (root === void 0) { root = null; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        var instruction = {};\r\n        if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n            this.root.viewModel.router.deactivate();\r\n            this.root.viewModel.router.reset();\r\n        }\r\n        this._configureHost(applicationHost);\r\n        var engine = this.container.get(TemplatingEngine);\r\n        var transaction = this.container.get(CompositionTransaction);\r\n        delete transaction.initialComposition;\r\n        if (!root) {\r\n            if (this.configModuleId) {\r\n                root = relativeToFile('./app', this.configModuleId);\r\n            }\r\n            else {\r\n                root = 'app';\r\n            }\r\n        }\r\n        instruction.viewModel = root;\r\n        instruction.container = instruction.childContainer = this.container;\r\n        instruction.viewSlot = this.hostSlot;\r\n        instruction.host = this.host;\r\n        return engine.compose(instruction).then(function (r) {\r\n            _this.root = r;\r\n            instruction.viewSlot.attached();\r\n            _this._onAureliaComposed();\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype._configureHost = function (applicationHost) {\r\n        if (this.hostConfigured) {\r\n            return;\r\n        }\r\n        applicationHost = applicationHost || this.host;\r\n        if (!applicationHost || typeof applicationHost === 'string') {\r\n            this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n        }\r\n        else {\r\n            this.host = applicationHost;\r\n        }\r\n        if (!this.host) {\r\n            throw new Error('No applicationHost was specified.');\r\n        }\r\n        this.hostConfigured = true;\r\n        this.host.aurelia = this;\r\n        this.hostSlot = new ViewSlot(this.host, true);\r\n        this.hostSlot.transformChildNodesIntoView();\r\n        this.container.registerInstance(DOM.boundary, this.host);\r\n    };\r\n    Aurelia.prototype._onAureliaComposed = function () {\r\n        var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n        setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n    };\r\n    return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n","import { History } from 'aurelia-history';\nimport { DOM, PLATFORM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar LinkHandler = (function () {\r\n    function LinkHandler() {\r\n    }\r\n    LinkHandler.prototype.activate = function (history) { };\r\n    LinkHandler.prototype.deactivate = function () { };\r\n    return LinkHandler;\r\n}());\r\nvar DefaultLinkHandler = (function (_super) {\r\n    __extends(DefaultLinkHandler, _super);\r\n    function DefaultLinkHandler() {\r\n        var _this = _super.call(this) || this;\r\n        _this.handler = function (e) {\r\n            var _a = DefaultLinkHandler.getEventInfo(e), shouldHandleEvent = _a.shouldHandleEvent, href = _a.href;\r\n            if (shouldHandleEvent) {\r\n                e.preventDefault();\r\n                _this.history.navigate(href);\r\n            }\r\n        };\r\n        return _this;\r\n    }\r\n    DefaultLinkHandler.prototype.activate = function (history) {\r\n        if (history._hasPushState) {\r\n            this.history = history;\r\n            DOM.addEventListener('click', this.handler, true);\r\n        }\r\n    };\r\n    DefaultLinkHandler.prototype.deactivate = function () {\r\n        DOM.removeEventListener('click', this.handler, true);\r\n    };\r\n    DefaultLinkHandler.getEventInfo = function (event) {\r\n        var $event = event;\r\n        var info = {\r\n            shouldHandleEvent: false,\r\n            href: null,\r\n            anchor: null\r\n        };\r\n        var target = DefaultLinkHandler.findClosestAnchor($event.target);\r\n        if (!target || !DefaultLinkHandler.targetIsThisWindow(target)) {\r\n            return info;\r\n        }\r\n        if (hasAttribute(target, 'download')\r\n            || hasAttribute(target, 'router-ignore')\r\n            || hasAttribute(target, 'data-router-ignore')) {\r\n            return info;\r\n        }\r\n        if ($event.altKey || $event.ctrlKey || $event.metaKey || $event.shiftKey) {\r\n            return info;\r\n        }\r\n        var href = target.getAttribute('href');\r\n        info.anchor = target;\r\n        info.href = href;\r\n        var leftButtonClicked = $event.which === 1;\r\n        var isRelative = href && !(href.charAt(0) === '#' || (/^[a-z]+:/i).test(href));\r\n        info.shouldHandleEvent = leftButtonClicked && isRelative;\r\n        return info;\r\n    };\r\n    DefaultLinkHandler.findClosestAnchor = function (el) {\r\n        while (el) {\r\n            if (el.tagName === 'A') {\r\n                return el;\r\n            }\r\n            el = el.parentNode;\r\n        }\r\n    };\r\n    DefaultLinkHandler.targetIsThisWindow = function (target) {\r\n        var targetWindow = target.getAttribute('target');\r\n        var win = PLATFORM.global;\r\n        return !targetWindow ||\r\n            targetWindow === win.name ||\r\n            targetWindow === '_self';\r\n    };\r\n    return DefaultLinkHandler;\r\n}(LinkHandler));\r\nvar hasAttribute = function (el, attr) { return el.hasAttribute(attr); };\n\nvar BrowserHistory = (function (_super) {\r\n    __extends(BrowserHistory, _super);\r\n    function BrowserHistory(linkHandler) {\r\n        var _this = _super.call(this) || this;\r\n        _this._isActive = false;\r\n        _this._checkUrlCallback = _this._checkUrl.bind(_this);\r\n        _this.location = PLATFORM.location;\r\n        _this.history = PLATFORM.history;\r\n        _this.linkHandler = linkHandler;\r\n        return _this;\r\n    }\r\n    BrowserHistory.prototype.activate = function (options) {\r\n        if (this._isActive) {\r\n            throw new Error('History has already been activated.');\r\n        }\r\n        var $history = this.history;\r\n        var wantsPushState = !!options.pushState;\r\n        this._isActive = true;\r\n        var normalizedOptions = this.options = Object.assign({}, { root: '/' }, this.options, options);\r\n        var rootUrl = this.root = ('/' + normalizedOptions.root + '/').replace(rootStripper, '/');\r\n        var wantsHashChange = this._wantsHashChange = normalizedOptions.hashChange !== false;\r\n        var hasPushState = this._hasPushState = !!(normalizedOptions.pushState && $history && $history.pushState);\r\n        var eventName;\r\n        if (hasPushState) {\r\n            eventName = 'popstate';\r\n        }\r\n        else if (wantsHashChange) {\r\n            eventName = 'hashchange';\r\n        }\r\n        PLATFORM.addEventListener(eventName, this._checkUrlCallback);\r\n        if (wantsHashChange && wantsPushState) {\r\n            var $location = this.location;\r\n            var atRoot = $location.pathname.replace(/[^\\/]$/, '$&/') === rootUrl;\r\n            if (!hasPushState && !atRoot) {\r\n                var fragment = this.fragment = this._getFragment(null, true);\r\n                $location.replace(rootUrl + $location.search + '#' + fragment);\r\n                return true;\r\n            }\r\n            else if (hasPushState && atRoot && $location.hash) {\r\n                var fragment = this.fragment = this._getHash().replace(routeStripper, '');\r\n                $history.replaceState({}, DOM.title, rootUrl + fragment + $location.search);\r\n            }\r\n        }\r\n        if (!this.fragment) {\r\n            this.fragment = this._getFragment('');\r\n        }\r\n        this.linkHandler.activate(this);\r\n        if (!normalizedOptions.silent) {\r\n            return this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype.deactivate = function () {\r\n        var handler = this._checkUrlCallback;\r\n        PLATFORM.removeEventListener('popstate', handler);\r\n        PLATFORM.removeEventListener('hashchange', handler);\r\n        this._isActive = false;\r\n        this.linkHandler.deactivate();\r\n    };\r\n    BrowserHistory.prototype.getAbsoluteRoot = function () {\r\n        var $location = this.location;\r\n        var origin = createOrigin($location.protocol, $location.hostname, $location.port);\r\n        return \"\" + origin + this.root;\r\n    };\r\n    BrowserHistory.prototype.navigate = function (fragment, _a) {\r\n        var _b = _a === void 0 ? {} : _a, _c = _b.trigger, trigger = _c === void 0 ? true : _c, _d = _b.replace, replace = _d === void 0 ? false : _d;\r\n        var location = this.location;\r\n        if (fragment && absoluteUrl.test(fragment)) {\r\n            location.href = fragment;\r\n            return true;\r\n        }\r\n        if (!this._isActive) {\r\n            return false;\r\n        }\r\n        fragment = this._getFragment(fragment || '');\r\n        if (this.fragment === fragment && !replace) {\r\n            return false;\r\n        }\r\n        this.fragment = fragment;\r\n        var url = this.root + fragment;\r\n        if (fragment === '' && url !== '/') {\r\n            url = url.slice(0, -1);\r\n        }\r\n        if (this._hasPushState) {\r\n            url = url.replace('//', '/');\r\n            this.history[replace ? 'replaceState' : 'pushState']({}, DOM.title, url);\r\n        }\r\n        else if (this._wantsHashChange) {\r\n            updateHash(location, fragment, replace);\r\n        }\r\n        else {\r\n            location.assign(url);\r\n        }\r\n        if (trigger) {\r\n            return this._loadUrl(fragment);\r\n        }\r\n        return true;\r\n    };\r\n    BrowserHistory.prototype.navigateBack = function () {\r\n        this.history.back();\r\n    };\r\n    BrowserHistory.prototype.setTitle = function (title) {\r\n        DOM.title = title;\r\n    };\r\n    BrowserHistory.prototype.setState = function (key, value) {\r\n        var $history = this.history;\r\n        var state = Object.assign({}, $history.state);\r\n        var _a = this.location, pathname = _a.pathname, search = _a.search, hash = _a.hash;\r\n        state[key] = value;\r\n        $history.replaceState(state, null, \"\" + pathname + search + hash);\r\n    };\r\n    BrowserHistory.prototype.getState = function (key) {\r\n        var state = Object.assign({}, this.history.state);\r\n        return state[key];\r\n    };\r\n    BrowserHistory.prototype.getHistoryIndex = function () {\r\n        var historyIndex = this.getState('HistoryIndex');\r\n        if (historyIndex === undefined) {\r\n            historyIndex = this.history.length - 1;\r\n            this.setState('HistoryIndex', historyIndex);\r\n        }\r\n        return historyIndex;\r\n    };\r\n    BrowserHistory.prototype.go = function (movement) {\r\n        this.history.go(movement);\r\n    };\r\n    BrowserHistory.prototype._getHash = function () {\r\n        return this.location.hash.substr(1);\r\n    };\r\n    BrowserHistory.prototype._getFragment = function (fragment, forcePushState) {\r\n        var rootUrl;\r\n        if (!fragment) {\r\n            if (this._hasPushState || !this._wantsHashChange || forcePushState) {\r\n                var location_1 = this.location;\r\n                fragment = location_1.pathname + location_1.search;\r\n                rootUrl = this.root.replace(trailingSlash, '');\r\n                if (!fragment.indexOf(rootUrl)) {\r\n                    fragment = fragment.substr(rootUrl.length);\r\n                }\r\n            }\r\n            else {\r\n                fragment = this._getHash();\r\n            }\r\n        }\r\n        return '/' + fragment.replace(routeStripper, '');\r\n    };\r\n    BrowserHistory.prototype._checkUrl = function () {\r\n        var current = this._getFragment('');\r\n        if (current !== this.fragment) {\r\n            this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype._loadUrl = function (fragmentOverride) {\r\n        var fragment = this.fragment = this._getFragment(fragmentOverride);\r\n        return this.options.routeHandler ?\r\n            this.options.routeHandler(fragment) :\r\n            false;\r\n    };\r\n    BrowserHistory.inject = [LinkHandler];\r\n    return BrowserHistory;\r\n}(History));\r\nvar routeStripper = /^#?\\/*|\\s+$/g;\r\nvar rootStripper = /^\\/+|\\/+$/g;\r\nvar trailingSlash = /\\/$/;\r\nvar absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\r\nfunction updateHash($location, fragment, replace) {\r\n    if (replace) {\r\n        var href = $location.href.replace(/(javascript:|#).*$/, '');\r\n        $location.replace(href + '#' + fragment);\r\n    }\r\n    else {\r\n        $location.hash = '#' + fragment;\r\n    }\r\n}\r\nfunction createOrigin(protocol, hostname, port) {\r\n    return protocol + \"//\" + hostname + (port ? ':' + port : '');\r\n}\n\nfunction configure(config) {\r\n    var $config = config;\r\n    $config.singleton(History, BrowserHistory);\r\n    $config.transient(LinkHandler, DefaultLinkHandler);\r\n}\n\nexport { BrowserHistory, DefaultLinkHandler, LinkHandler, configure };\n//# sourceMappingURL=aurelia-history-browser.js.map\n","\n\nfunction mi(name) {\n  throw new Error('History must implement ' + name + '().');\n}\n\nexport var History = function () {\n  function History() {\n    \n  }\n\n  History.prototype.activate = function activate(options) {\n    mi('activate');\n  };\n\n  History.prototype.deactivate = function deactivate() {\n    mi('deactivate');\n  };\n\n  History.prototype.getAbsoluteRoot = function getAbsoluteRoot() {\n    mi('getAbsoluteRoot');\n  };\n\n  History.prototype.navigate = function navigate(fragment, options) {\n    mi('navigate');\n  };\n\n  History.prototype.navigateBack = function navigateBack() {\n    mi('navigateBack');\n  };\n\n  History.prototype.setTitle = function setTitle(title) {\n    mi('setTitle');\n  };\n\n  History.prototype.setState = function setState(key, value) {\n    mi('setState');\n  };\n\n  History.prototype.getState = function getState(key) {\n    mi('getState');\n  };\n\n  History.prototype.getHistoryIndex = function getHistoryIndex() {\n    mi('getHistoryIndex');\n  };\n\n  History.prototype.go = function go(movement) {\n    mi('go');\n  };\n\n  return History;\n}();","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport { join, buildQueryString } from 'aurelia-path';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\nexport var Headers = function () {\n  function Headers() {\n    var headers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    \n\n    this.headers = {};\n\n    for (var _key in headers) {\n      this.headers[_key.toLowerCase()] = { key: _key, value: headers[_key] };\n    }\n  }\n\n  Headers.prototype.add = function add(key, value) {\n    this.headers[key.toLowerCase()] = { key: key, value: value };\n  };\n\n  Headers.prototype.get = function get(key) {\n    var header = this.headers[key.toLowerCase()];\n    return header ? header.value : undefined;\n  };\n\n  Headers.prototype.clear = function clear() {\n    this.headers = {};\n  };\n\n  Headers.prototype.has = function has(header) {\n    return this.headers.hasOwnProperty(header.toLowerCase());\n  };\n\n  Headers.prototype.configureXHR = function configureXHR(xhr) {\n    for (var name in this.headers) {\n      if (this.headers.hasOwnProperty(name)) {\n        xhr.setRequestHeader(this.headers[name].key, this.headers[name].value);\n      }\n    }\n  };\n\n  Headers.parse = function parse(headerStr) {\n    var headers = new Headers();\n    if (!headerStr) {\n      return headers;\n    }\n\n    var headerPairs = headerStr.split('\\r\\n');\n    for (var i = 0; i < headerPairs.length; i++) {\n      var headerPair = headerPairs[i];\n\n      var index = headerPair.indexOf(': ');\n      if (index > 0) {\n        var _key2 = headerPair.substring(0, index);\n        var val = headerPair.substring(index + 2);\n        headers.add(_key2, val);\n      }\n    }\n\n    return headers;\n  };\n\n  return Headers;\n}();\n\nexport var RequestMessage = function () {\n  function RequestMessage(method, url, content, headers) {\n    \n\n    this.method = method;\n    this.url = url;\n    this.content = content;\n    this.headers = headers || new Headers();\n    this.baseUrl = '';\n  }\n\n  RequestMessage.prototype.buildFullUrl = function buildFullUrl() {\n    var absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n    var url = absoluteUrl.test(this.url) ? this.url : join(this.baseUrl, this.url);\n\n    if (this.params) {\n      var qs = buildQueryString(this.params, this.traditional);\n      url = qs ? url + (this.url.indexOf('?') < 0 ? '?' : '&') + qs : url;\n    }\n\n    return url;\n  };\n\n  return RequestMessage;\n}();\n\nexport var HttpResponseMessage = function () {\n  function HttpResponseMessage(requestMessage, xhr, responseType, reviver) {\n    \n\n    this.requestMessage = requestMessage;\n    this.statusCode = xhr.status;\n    this.response = xhr.response || xhr.responseText;\n    this.isSuccess = xhr.status >= 200 && xhr.status < 400;\n    this.statusText = xhr.statusText;\n    this.reviver = reviver;\n    this.mimeType = null;\n\n    if (xhr.getAllResponseHeaders) {\n      this.headers = Headers.parse(xhr.getAllResponseHeaders());\n    } else {\n      this.headers = new Headers();\n    }\n\n    var contentType = void 0;\n\n    if (this.headers && this.headers.headers) {\n      contentType = this.headers.get('Content-Type');\n    }\n\n    if (contentType) {\n      this.mimeType = responseType = contentType.split(';')[0].trim();\n      if (mimeTypes.hasOwnProperty(this.mimeType)) responseType = mimeTypes[this.mimeType];\n    }\n\n    this.responseType = responseType;\n  }\n\n  _createClass(HttpResponseMessage, [{\n    key: 'content',\n    get: function get() {\n      try {\n        if (this._content !== undefined) {\n          return this._content;\n        }\n\n        if (this.response === undefined || this.response === null || this.response === '') {\n          this._content = this.response;\n          return this._content;\n        }\n\n        if (this.responseType === 'json') {\n          this._content = JSON.parse(this.response, this.reviver);\n          return this._content;\n        }\n\n        if (this.reviver) {\n          this._content = this.reviver(this.response);\n          return this._content;\n        }\n\n        this._content = this.response;\n        return this._content;\n      } catch (e) {\n        if (this.isSuccess) {\n          throw e;\n        }\n\n        this._content = null;\n        return this._content;\n      }\n    }\n  }]);\n\n  return HttpResponseMessage;\n}();\n\nexport var mimeTypes = {\n  'text/html': 'html',\n  'text/javascript': 'js',\n  'application/javascript': 'js',\n  'text/json': 'json',\n  'application/json': 'json',\n  'application/rss+xml': 'rss',\n  'application/atom+xml': 'atom',\n  'application/xhtml+xml': 'xhtml',\n  'text/markdown': 'md',\n  'text/xml': 'xml',\n  'text/mathml': 'mml',\n  'application/xml': 'xml',\n  'text/yml': 'yml',\n  'text/csv': 'csv',\n  'text/css': 'css',\n  'text/less': 'less',\n  'text/stylus': 'styl',\n  'text/scss': 'scss',\n  'text/sass': 'sass',\n  'text/plain': 'txt'\n};\n\nfunction applyXhrTransformers(xhrTransformers, client, processor, message, xhr) {\n  var i = void 0;\n  var ii = void 0;\n\n  for (i = 0, ii = xhrTransformers.length; i < ii; ++i) {\n    xhrTransformers[i](client, processor, message, xhr);\n  }\n}\n\nexport var RequestMessageProcessor = function () {\n  function RequestMessageProcessor(xhrType, xhrTransformers) {\n    \n\n    this.XHRType = xhrType;\n    this.xhrTransformers = xhrTransformers;\n    this.isAborted = false;\n  }\n\n  RequestMessageProcessor.prototype.abort = function abort() {\n    if (this.xhr && this.xhr.readyState !== PLATFORM.XMLHttpRequest.UNSENT) {\n      this.xhr.abort();\n    }\n\n    this.isAborted = true;\n  };\n\n  RequestMessageProcessor.prototype.process = function process(client, requestMessage) {\n    var _this = this;\n\n    var promise = new Promise(function (resolve, reject) {\n      var rejectResponse = void 0;\n      if (client.rejectPromiseWithErrorObject) {\n        rejectResponse = function rejectResponse(resp) {\n          var errorResp = new ErrorHttpResponseMessage(resp);\n          reject(errorResp);\n        };\n      } else {\n        rejectResponse = function rejectResponse(resp) {\n          reject(resp);\n        };\n      }\n\n      var xhr = _this.xhr = new _this.XHRType();\n      xhr.onload = function (e) {\n        var response = new HttpResponseMessage(requestMessage, xhr, requestMessage.responseType, requestMessage.reviver);\n        if (response.isSuccess) {\n          resolve(response);\n        } else {\n          rejectResponse(response);\n        }\n      };\n\n      xhr.ontimeout = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'timeout'));\n      };\n\n      xhr.onerror = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'error'));\n      };\n\n      xhr.onabort = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'abort'));\n      };\n    });\n\n    return Promise.resolve(requestMessage).then(function (message) {\n      var processRequest = function processRequest() {\n        if (_this.isAborted) {\n          _this.xhr.abort();\n        } else {\n          _this.xhr.open(message.method, message.buildFullUrl(), true, message.user, message.password);\n          applyXhrTransformers(_this.xhrTransformers, client, _this, message, _this.xhr);\n          if (typeof message.content === 'undefined') {\n            _this.xhr.send();\n          } else {\n            _this.xhr.send(message.content);\n          }\n        }\n\n        return promise;\n      };\n\n      var chain = [[processRequest, undefined]];\n\n      var interceptors = message.interceptors || [];\n      interceptors.forEach(function (interceptor) {\n        if (interceptor.request || interceptor.requestError) {\n          chain.unshift([interceptor.request ? interceptor.request.bind(interceptor) : undefined, interceptor.requestError ? interceptor.requestError.bind(interceptor) : undefined]);\n        }\n\n        if (interceptor.response || interceptor.responseError) {\n          chain.push([interceptor.response ? interceptor.response.bind(interceptor) : undefined, interceptor.responseError ? interceptor.responseError.bind(interceptor) : undefined]);\n        }\n      });\n\n      var interceptorsPromise = Promise.resolve(message);\n\n      while (chain.length) {\n        var _interceptorsPromise;\n\n        interceptorsPromise = (_interceptorsPromise = interceptorsPromise).then.apply(_interceptorsPromise, chain.shift());\n      }\n\n      return interceptorsPromise;\n    });\n  };\n\n  return RequestMessageProcessor;\n}();\n\nexport function timeoutTransformer(client, processor, message, xhr) {\n  if (message.timeout !== undefined) {\n    xhr.timeout = message.timeout;\n  }\n}\n\nexport function callbackParameterNameTransformer(client, processor, message, xhr) {\n  if (message.callbackParameterName !== undefined) {\n    xhr.callbackParameterName = message.callbackParameterName;\n  }\n}\n\nexport function credentialsTransformer(client, processor, message, xhr) {\n  if (message.withCredentials !== undefined) {\n    xhr.withCredentials = message.withCredentials;\n  }\n}\n\nexport function progressTransformer(client, processor, message, xhr) {\n  if (message.progressCallback) {\n    xhr.upload.onprogress = message.progressCallback;\n  }\n}\n\nexport function downloadProgressTransformer(client, processor, message, xhr) {\n  if (message.downloadProgressCallback) {\n    xhr.onprogress = message.downloadProgressCallback;\n  }\n}\n\nexport function responseTypeTransformer(client, processor, message, xhr) {\n  var responseType = message.responseType;\n\n  if (responseType === 'json') {\n    responseType = 'text';\n  }\n\n  xhr.responseType = responseType;\n}\n\nexport function headerTransformer(client, processor, message, xhr) {\n  message.headers.configureXHR(xhr);\n}\n\nexport function contentTransformer(client, processor, message, xhr) {\n  if (message.skipContentProcessing) {\n    return;\n  }\n\n  if (PLATFORM.global.FormData && message.content instanceof FormData) {\n    return;\n  }\n\n  if (PLATFORM.global.Blob && message.content instanceof Blob) {\n    return;\n  }\n\n  if (PLATFORM.global.ArrayBuffer && message.content instanceof ArrayBuffer) {\n    return;\n  }\n\n  if (message.content instanceof Document) {\n    return;\n  }\n\n  if (typeof message.content === 'string') {\n    return;\n  }\n\n  if (message.content === null || message.content === undefined) {\n    return;\n  }\n\n  message.content = JSON.stringify(message.content, message.replacer);\n\n  if (!message.headers.has('Content-Type')) {\n    message.headers.add('Content-Type', 'application/json');\n  }\n}\n\nexport var JSONPRequestMessage = function (_RequestMessage) {\n  _inherits(JSONPRequestMessage, _RequestMessage);\n\n  function JSONPRequestMessage(url, callbackParameterName) {\n    \n\n    var _this2 = _possibleConstructorReturn(this, _RequestMessage.call(this, 'JSONP', url));\n\n    _this2.responseType = 'jsonp';\n    _this2.callbackParameterName = callbackParameterName;\n    return _this2;\n  }\n\n  return JSONPRequestMessage;\n}(RequestMessage);\n\nvar JSONPXHR = function () {\n  function JSONPXHR() {\n    \n  }\n\n  JSONPXHR.prototype.open = function open(method, url) {\n    this.method = method;\n    this.url = url;\n    this.callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random());\n  };\n\n  JSONPXHR.prototype.send = function send() {\n    var _this3 = this;\n\n    var url = this.url + (this.url.indexOf('?') >= 0 ? '&' : '?') + encodeURIComponent(this.callbackParameterName) + '=' + this.callbackName;\n    var script = DOM.createElement('script');\n\n    script.src = url;\n    script.onerror = function (e) {\n      cleanUp();\n\n      _this3.status = 0;\n      _this3.onerror(new Error('error'));\n    };\n\n    var cleanUp = function cleanUp() {\n      delete PLATFORM.global[_this3.callbackName];\n      DOM.removeNode(script);\n    };\n\n    PLATFORM.global[this.callbackName] = function (data) {\n      cleanUp();\n\n      if (_this3.status === undefined) {\n        _this3.status = 200;\n        _this3.statusText = 'OK';\n        _this3.response = data;\n        _this3.onload(_this3);\n      }\n    };\n\n    DOM.appendNode(script);\n\n    if (this.timeout !== undefined) {\n      setTimeout(function () {\n        if (_this3.status === undefined) {\n          _this3.status = 0;\n          _this3.ontimeout(new Error('timeout'));\n        }\n      }, this.timeout);\n    }\n  };\n\n  JSONPXHR.prototype.abort = function abort() {\n    if (this.status === undefined) {\n      this.status = 0;\n      this.onabort(new Error('abort'));\n    }\n  };\n\n  JSONPXHR.prototype.setRequestHeader = function setRequestHeader() {};\n\n  return JSONPXHR;\n}();\n\nexport function createJSONPRequestMessageProcessor() {\n  return new RequestMessageProcessor(JSONPXHR, [timeoutTransformer, callbackParameterNameTransformer]);\n}\n\nexport var HttpRequestMessage = function (_RequestMessage2) {\n  _inherits(HttpRequestMessage, _RequestMessage2);\n\n  function HttpRequestMessage(method, url, content, headers) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _RequestMessage2.call(this, method, url, content, headers));\n\n    _this4.responseType = 'json';return _this4;\n  }\n\n  return HttpRequestMessage;\n}(RequestMessage);\n\nexport function createHttpRequestMessageProcessor() {\n  return new RequestMessageProcessor(PLATFORM.XMLHttpRequest, [timeoutTransformer, credentialsTransformer, progressTransformer, downloadProgressTransformer, responseTypeTransformer, contentTransformer, headerTransformer]);\n}\n\nexport var ErrorHttpResponseMessage = function (_HttpResponseMessage) {\n  _inherits(ErrorHttpResponseMessage, _HttpResponseMessage);\n\n  function ErrorHttpResponseMessage(responseMessage) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _HttpResponseMessage.call(this, responseMessage.requestMessage, {\n      response: responseMessage.response,\n      status: responseMessage.statusCode,\n      statusText: responseMessage.statusText\n    }, responseMessage.responseType));\n\n    _this5.name = responseMessage.responseType;\n    _this5.message = 'Error: ' + responseMessage.statusCode + ' Status: ' + responseMessage.statusText;\n    return _this5;\n  }\n\n  return ErrorHttpResponseMessage;\n}(HttpResponseMessage);\n\nexport var RequestBuilder = function () {\n  function RequestBuilder(client) {\n    \n\n    this.client = client;\n    this.transformers = client.requestTransformers.slice(0);\n    this.useJsonp = false;\n  }\n\n  RequestBuilder.prototype.asDelete = function asDelete() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'DELETE';\n    });\n  };\n\n  RequestBuilder.prototype.asGet = function asGet() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'GET';\n    });\n  };\n\n  RequestBuilder.prototype.asHead = function asHead() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'HEAD';\n    });\n  };\n\n  RequestBuilder.prototype.asOptions = function asOptions() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'OPTIONS';\n    });\n  };\n\n  RequestBuilder.prototype.asPatch = function asPatch() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PATCH';\n    });\n  };\n\n  RequestBuilder.prototype.asPost = function asPost() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'POST';\n    });\n  };\n\n  RequestBuilder.prototype.asPut = function asPut() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PUT';\n    });\n  };\n\n  RequestBuilder.prototype.asJsonp = function asJsonp(callbackParameterName) {\n    this.useJsonp = true;\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withUrl = function withUrl(url) {\n    return this._addTransformer(function (client, processor, message) {\n      message.url = url;\n    });\n  };\n\n  RequestBuilder.prototype.withContent = function withContent(content) {\n    return this._addTransformer(function (client, processor, message) {\n      message.content = content;\n    });\n  };\n\n  RequestBuilder.prototype.withBaseUrl = function withBaseUrl(baseUrl) {\n    return this._addTransformer(function (client, processor, message) {\n      message.baseUrl = baseUrl;\n    });\n  };\n\n  RequestBuilder.prototype.withParams = function withParams(params, traditional) {\n    return this._addTransformer(function (client, processor, message) {\n      message.traditional = traditional;\n      message.params = params;\n    });\n  };\n\n  RequestBuilder.prototype.withResponseType = function withResponseType(responseType) {\n    return this._addTransformer(function (client, processor, message) {\n      message.responseType = responseType;\n    });\n  };\n\n  RequestBuilder.prototype.withTimeout = function withTimeout(timeout) {\n    return this._addTransformer(function (client, processor, message) {\n      message.timeout = timeout;\n    });\n  };\n\n  RequestBuilder.prototype.withHeader = function withHeader(key, value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.headers.add(key, value);\n    });\n  };\n\n  RequestBuilder.prototype.withCredentials = function withCredentials(value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.withCredentials = value;\n    });\n  };\n\n  RequestBuilder.prototype.withLogin = function withLogin(user, password) {\n    return this._addTransformer(function (client, processor, message) {\n      message.user = user;message.password = password;\n    });\n  };\n\n  RequestBuilder.prototype.withReviver = function withReviver(reviver) {\n    return this._addTransformer(function (client, processor, message) {\n      message.reviver = reviver;\n    });\n  };\n\n  RequestBuilder.prototype.withReplacer = function withReplacer(replacer) {\n    return this._addTransformer(function (client, processor, message) {\n      message.replacer = replacer;\n    });\n  };\n\n  RequestBuilder.prototype.withProgressCallback = function withProgressCallback(progressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.progressCallback = progressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withDownloadProgressCallback = function withDownloadProgressCallback(downloadProgressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.downloadProgressCallback = downloadProgressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withCallbackParameterName = function withCallbackParameterName(callbackParameterName) {\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withInterceptor = function withInterceptor(interceptor) {\n    return this._addTransformer(function (client, processor, message) {\n      message.interceptors = message.interceptors || [];\n      message.interceptors.unshift(interceptor);\n    });\n  };\n\n  RequestBuilder.prototype.skipContentProcessing = function skipContentProcessing() {\n    return this._addTransformer(function (client, processor, message) {\n      message.skipContentProcessing = true;\n    });\n  };\n\n  RequestBuilder.prototype._addTransformer = function _addTransformer(fn) {\n    this.transformers.push(fn);\n    return this;\n  };\n\n  RequestBuilder.addHelper = function addHelper(name, fn) {\n    RequestBuilder.prototype[name] = function () {\n      return this._addTransformer(fn.apply(this, arguments));\n    };\n  };\n\n  RequestBuilder.prototype.send = function send() {\n    var message = this.useJsonp ? new JSONPRequestMessage() : new HttpRequestMessage();\n    return this.client.send(message, this.transformers);\n  };\n\n  return RequestBuilder;\n}();\n\nfunction trackRequestStart(client, processor) {\n  client.pendingRequests.push(processor);\n  client.isRequesting = true;\n}\n\nfunction trackRequestEnd(client, processor) {\n  var index = client.pendingRequests.indexOf(processor);\n\n  client.pendingRequests.splice(index, 1);\n  client.isRequesting = client.pendingRequests.length > 0;\n\n  if (!client.isRequesting) {\n    var evt = DOM.createCustomEvent('aurelia-http-client-requests-drained', { bubbles: true, cancelable: true });\n    setTimeout(function () {\n      return DOM.dispatchEvent(evt);\n    }, 1);\n  }\n}\n\nexport var HttpClient = function () {\n  function HttpClient() {\n    \n\n    this.isRequesting = false;\n\n    this.rejectPromiseWithErrorObject = false;\n    this.requestTransformers = [];\n    this.requestProcessorFactories = new Map();\n    this.requestProcessorFactories.set(HttpRequestMessage, createHttpRequestMessageProcessor);\n    this.requestProcessorFactories.set(JSONPRequestMessage, createJSONPRequestMessageProcessor);\n    this.pendingRequests = [];\n  }\n\n  HttpClient.prototype.configure = function configure(fn) {\n    var builder = new RequestBuilder(this);\n    fn(builder);\n    this.requestTransformers = builder.transformers;\n    return this;\n  };\n\n  HttpClient.prototype.createRequest = function createRequest(url) {\n    var builder = new RequestBuilder(this);\n\n    if (url) {\n      builder.withUrl(url);\n    }\n\n    return builder;\n  };\n\n  HttpClient.prototype.send = function send(requestMessage, transformers) {\n    var _this6 = this;\n\n    var createProcessor = this.requestProcessorFactories.get(requestMessage.constructor);\n    var processor = void 0;\n    var promise = void 0;\n    var i = void 0;\n    var ii = void 0;\n\n    if (!createProcessor) {\n      throw new Error('No request message processor factory for ' + requestMessage.constructor + '.');\n    }\n\n    processor = createProcessor();\n    trackRequestStart(this, processor);\n\n    transformers = transformers || this.requestTransformers;\n\n    promise = Promise.resolve(requestMessage).then(function (message) {\n      for (i = 0, ii = transformers.length; i < ii; ++i) {\n        transformers[i](_this6, processor, message);\n      }\n\n      return processor.process(_this6, message).then(function (response) {\n        trackRequestEnd(_this6, processor);\n        return response;\n      }).catch(function (response) {\n        trackRequestEnd(_this6, processor);\n        throw response;\n      });\n    });\n\n    promise.abort = promise.cancel = function () {\n      processor.abort();\n    };\n\n    return promise;\n  };\n\n  HttpClient.prototype.delete = function _delete(url) {\n    return this.createRequest(url).asDelete().send();\n  };\n\n  HttpClient.prototype.get = function get(url, params, traditional) {\n    var req = this.createRequest(url).asGet();\n\n    if (params) {\n      return req.withParams(params, traditional).send();\n    }\n\n    return req.send();\n  };\n\n  HttpClient.prototype.head = function head(url) {\n    return this.createRequest(url).asHead().send();\n  };\n\n  HttpClient.prototype.jsonp = function jsonp(url) {\n    var callbackParameterName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'jsoncallback';\n\n    return this.createRequest(url).asJsonp(callbackParameterName).send();\n  };\n\n  HttpClient.prototype.options = function options(url) {\n    return this.createRequest(url).asOptions().send();\n  };\n\n  HttpClient.prototype.put = function put(url, content) {\n    return this.createRequest(url).asPut().withContent(content).send();\n  };\n\n  HttpClient.prototype.patch = function patch(url, content) {\n    return this.createRequest(url).asPatch().withContent(content).send();\n  };\n\n  HttpClient.prototype.post = function post(url, content) {\n    return this.createRequest(url).asPost().withContent(content).send();\n  };\n\n  return HttpClient;\n}();","import { Loader } from 'aurelia-loader';\nimport { Origin } from 'aurelia-metadata';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\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;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\n\n/**\r\n* An implementation of the TemplateLoader interface implemented with text-based loading.\r\n*/\r\nvar TextTemplateLoader = /** @class */ (function () {\r\n    function TextTemplateLoader() {\r\n    }\r\n    /**\r\n    * Loads a template.\r\n    * @param loader The loader that is requesting the template load.\r\n    * @param entry The TemplateRegistryEntry to load and populate with a template.\r\n    * @return A promise which resolves when the TemplateRegistryEntry is loaded with a template.\r\n    */\r\n    TextTemplateLoader.prototype.loadTemplate = function (loader, entry) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var text;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, loader.loadText(entry.address)];\r\n                    case 1:\r\n                        text = _a.sent();\r\n                        entry.template = DOM.createTemplateFromMarkup(text);\r\n                        return [2 /*return*/];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    return TextTemplateLoader;\r\n}());\r\nfunction ensureOriginOnExports(moduleExports, moduleId) {\r\n    var target = moduleExports;\r\n    var key;\r\n    var exportedValue;\r\n    if (target.__useDefault) {\r\n        target = target.default;\r\n    }\r\n    Origin.set(target, new Origin(moduleId, 'default'));\r\n    if (typeof target === 'object') {\r\n        for (key in target) {\r\n            exportedValue = target[key];\r\n            if (typeof exportedValue === 'function') {\r\n                Origin.set(exportedValue, new Origin(moduleId, key));\r\n            }\r\n        }\r\n    }\r\n    return moduleExports;\r\n}\r\n/**\r\n* A default implementation of the Loader abstraction which works with webpack (extended common-js style).\r\n*/\r\nvar WebpackLoader = /** @class */ (function (_super) {\r\n    __extends(WebpackLoader, _super);\r\n    function WebpackLoader() {\r\n        var _this = _super.call(this) || this;\r\n        _this.moduleRegistry = Object.create(null);\r\n        _this.loaderPlugins = Object.create(null);\r\n        _this.modulesBeingLoaded = new Map();\r\n        _this.useTemplateLoader(new TextTemplateLoader());\r\n        _this.addPlugin('template-registry-entry', {\r\n            fetch: function (moduleId) { return __awaiter(_this, void 0, void 0, function () {\r\n                var HmrContext, entry;\r\n                var _this = this;\r\n                return __generator(this, function (_a) {\r\n                    switch (_a.label) {\r\n                        case 0:\r\n                            // HMR:\r\n                            if (module.hot) {\r\n                                if (!this.hmrContext) {\r\n                                    HmrContext = require('aurelia-hot-module-reload').HmrContext;\r\n                                    this.hmrContext = new HmrContext(this);\r\n                                }\r\n                                module.hot.accept(moduleId, function () { return __awaiter(_this, void 0, void 0, function () {\r\n                                    return __generator(this, function (_a) {\r\n                                        switch (_a.label) {\r\n                                            case 0: return [4 /*yield*/, this.hmrContext.handleViewChange(moduleId)];\r\n                                            case 1:\r\n                                                _a.sent();\r\n                                                return [2 /*return*/];\r\n                                        }\r\n                                    });\r\n                                }); });\r\n                            }\r\n                            entry = this.getOrCreateTemplateRegistryEntry(moduleId);\r\n                            if (!!entry.templateIsLoaded) return [3 /*break*/, 2];\r\n                            return [4 /*yield*/, this.templateLoader.loadTemplate(this, entry)];\r\n                        case 1:\r\n                            _a.sent();\r\n                            _a.label = 2;\r\n                        case 2: return [2 /*return*/, entry];\r\n                    }\r\n                });\r\n            }); }\r\n        });\r\n        PLATFORM.eachModule = function (callback) {\r\n            var registry = __webpack_require__.c;\r\n            var cachedModuleIds = Object.getOwnPropertyNames(registry);\r\n            cachedModuleIds\r\n                // Note: we use .some here like a .forEach that can be \"break\"ed out of.\r\n                // It will stop iterating only when a truthy value is returned.\r\n                // Even though the docs say \"true\" explicitly, loader-default also goes by truthy\r\n                // and this is to keep it consistent with that.\r\n                .some(function (moduleId) {\r\n                var moduleExports = registry[moduleId].exports;\r\n                if (typeof moduleExports === 'object') {\r\n                    return callback(moduleId, moduleExports);\r\n                }\r\n                return false;\r\n            });\r\n        };\r\n        return _this;\r\n    }\r\n    WebpackLoader.prototype._import = function (address, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var addressParts, moduleId, loaderPlugin, plugin_1, asyncModuleId, callback;\r\n            var _this = this;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        addressParts = address.split('!');\r\n                        moduleId = addressParts.splice(addressParts.length - 1, 1)[0];\r\n                        loaderPlugin = addressParts.length === 1 ? addressParts[0] : null;\r\n                        if (!loaderPlugin) return [3 /*break*/, 2];\r\n                        plugin_1 = this.loaderPlugins[loaderPlugin];\r\n                        if (!plugin_1) {\r\n                            throw new Error(\"Plugin \" + loaderPlugin + \" is not registered in the loader.\");\r\n                        }\r\n                        if (module.hot && plugin_1.hot) {\r\n                            module.hot.accept(moduleId, function () { return plugin_1.hot(moduleId); });\r\n                        }\r\n                        return [4 /*yield*/, plugin_1.fetch(moduleId)];\r\n                    case 1: return [2 /*return*/, _a.sent()];\r\n                    case 2:\r\n                        if (__webpack_require__.m[moduleId]) {\r\n                            if (defaultHMR && module.hot && this.hmrContext) {\r\n                                module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            }\r\n                            return [2 /*return*/, __webpack_require__(moduleId)];\r\n                        }\r\n                        asyncModuleId = \"async!\" + moduleId;\r\n                        if (!__webpack_require__.m[asyncModuleId]) return [3 /*break*/, 4];\r\n                        if (defaultHMR && module.hot && this.hmrContext) {\r\n                            module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            module.hot.accept(asyncModuleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                        }\r\n                        callback = __webpack_require__(asyncModuleId);\r\n                        return [4 /*yield*/, new Promise(callback)];\r\n                    case 3: return [2 /*return*/, _a.sent()];\r\n                    case 4: throw new Error(\"Unable to find module with ID: \" + moduleId);\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Maps a module id to a source.\r\n    * @param id The module id.\r\n    * @param source The source to map the module to.\r\n    */\r\n    WebpackLoader.prototype.map = function (id, source) { };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalizeSync = function (moduleId, relativeTo) {\r\n        return moduleId;\r\n    };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalize = function (moduleId, relativeTo) {\r\n        return Promise.resolve(moduleId);\r\n    };\r\n    /**\r\n    * Instructs the loader to use a specific TemplateLoader instance for loading templates\r\n    * @param templateLoader The instance of TemplateLoader to use for loading templates.\r\n    */\r\n    WebpackLoader.prototype.useTemplateLoader = function (templateLoader) {\r\n        this.templateLoader = templateLoader;\r\n    };\r\n    /**\r\n    * Loads a collection of modules.\r\n    * @param ids The set of module ids to load.\r\n    * @return A Promise for an array of loaded modules.\r\n    */\r\n    WebpackLoader.prototype.loadAllModules = function (ids) {\r\n        var _this = this;\r\n        return Promise.all(ids.map(function (id) { return _this.loadModule(id); }));\r\n    };\r\n    /**\r\n    * Loads a module.\r\n    * @param moduleId The module ID to load.\r\n    * @return A Promise for the loaded module.\r\n    */\r\n    WebpackLoader.prototype.loadModule = function (moduleId, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var existing, beingLoaded, moduleExports;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        existing = this.moduleRegistry[moduleId];\r\n                        if (existing) {\r\n                            return [2 /*return*/, existing];\r\n                        }\r\n                        beingLoaded = this.modulesBeingLoaded.get(moduleId);\r\n                        if (beingLoaded) {\r\n                            return [2 /*return*/, beingLoaded];\r\n                        }\r\n                        beingLoaded = this._import(moduleId, defaultHMR);\r\n                        this.modulesBeingLoaded.set(moduleId, beingLoaded);\r\n                        return [4 /*yield*/, beingLoaded];\r\n                    case 1:\r\n                        moduleExports = _a.sent();\r\n                        this.moduleRegistry[moduleId] = ensureOriginOnExports(moduleExports, moduleId);\r\n                        this.modulesBeingLoaded.delete(moduleId);\r\n                        return [2 /*return*/, moduleExports];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Loads a template.\r\n    * @param url The url of the template to load.\r\n    * @return A Promise for a TemplateRegistryEntry containing the template.\r\n    */\r\n    WebpackLoader.prototype.loadTemplate = function (url) {\r\n        return this.loadModule(this.applyPluginToUrl(url, 'template-registry-entry'), false);\r\n    };\r\n    /**\r\n    * Loads a text-based resource.\r\n    * @param url The url of the text file to load.\r\n    * @return A Promise for text content.\r\n    */\r\n    WebpackLoader.prototype.loadText = function (url) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var result, defaultExport;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, this.loadModule(url, false)];\r\n                    case 1:\r\n                        result = _a.sent();\r\n                        defaultExport = result && result.__esModule ? result.default : result;\r\n                        if (defaultExport instanceof Array && defaultExport[0] instanceof Array && defaultExport.hasOwnProperty('toString')) {\r\n                            // we're dealing with a file loaded using the css-loader:\r\n                            return [2 /*return*/, defaultExport.toString()];\r\n                        }\r\n                        return [2 /*return*/, typeof result === \"string\" ? result : defaultExport];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Alters a module id so that it includes a plugin loader.\r\n    * @param url The url of the module to load.\r\n    * @param pluginName The plugin to apply to the module id.\r\n    * @return The plugin-based module id.\r\n    */\r\n    WebpackLoader.prototype.applyPluginToUrl = function (url, pluginName) {\r\n        return pluginName + \"!\" + url;\r\n    };\r\n    /**\r\n    * Registers a plugin with the loader.\r\n    * @param pluginName The name of the plugin.\r\n    * @param implementation The plugin implementation.\r\n    */\r\n    WebpackLoader.prototype.addPlugin = function (pluginName, implementation) {\r\n        this.loaderPlugins[pluginName] = implementation;\r\n    };\r\n    return WebpackLoader;\r\n}(Loader));\r\nPLATFORM.Loader = WebpackLoader;\n\nexport { TextTemplateLoader, WebpackLoader, ensureOriginOnExports };\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n\n\nimport { relativeToFile } from 'aurelia-path';\nimport { Origin } from 'aurelia-metadata';\n\nexport var TemplateDependency = function TemplateDependency(src, name) {\n  \n\n  this.src = src;\n  this.name = name;\n};\n\nexport var TemplateRegistryEntry = function () {\n  function TemplateRegistryEntry(address) {\n    \n\n    this.templateIsLoaded = false;\n    this.factoryIsReady = false;\n    this.resources = null;\n    this.dependencies = null;\n\n    this.address = address;\n    this.onReady = null;\n    this._template = null;\n    this._factory = null;\n  }\n\n  TemplateRegistryEntry.prototype.addDependency = function addDependency(src, name) {\n    var finalSrc = typeof src === 'string' ? relativeToFile(src, this.address) : Origin.get(src).moduleId;\n\n    this.dependencies.push(new TemplateDependency(finalSrc, name));\n  };\n\n  _createClass(TemplateRegistryEntry, [{\n    key: 'template',\n    get: function get() {\n      return this._template;\n    },\n    set: function set(value) {\n      var address = this.address;\n      var requires = void 0;\n      var current = void 0;\n      var src = void 0;\n      var dependencies = void 0;\n\n      this._template = value;\n      this.templateIsLoaded = true;\n\n      requires = value.content.querySelectorAll('require');\n      dependencies = this.dependencies = new Array(requires.length);\n\n      for (var i = 0, ii = requires.length; i < ii; ++i) {\n        current = requires[i];\n        src = current.getAttribute('from');\n\n        if (!src) {\n          throw new Error('<require> element in ' + address + ' has no \"from\" attribute.');\n        }\n\n        dependencies[i] = new TemplateDependency(relativeToFile(src, address), current.getAttribute('as'));\n\n        if (current.parentNode) {\n          current.parentNode.removeChild(current);\n        }\n      }\n    }\n  }, {\n    key: 'factory',\n    get: function get() {\n      return this._factory;\n    },\n    set: function set(value) {\n      this._factory = value;\n      this.factoryIsReady = true;\n    }\n  }]);\n\n  return TemplateRegistryEntry;\n}();\n\nexport var Loader = function () {\n  function Loader() {\n    \n\n    this.templateRegistry = {};\n  }\n\n  Loader.prototype.map = function map(id, source) {\n    throw new Error('Loaders must implement map(id, source).');\n  };\n\n  Loader.prototype.normalizeSync = function normalizeSync(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalizeSync(moduleId, relativeTo).');\n  };\n\n  Loader.prototype.normalize = function normalize(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.');\n  };\n\n  Loader.prototype.loadModule = function loadModule(id) {\n    throw new Error('Loaders must implement loadModule(id).');\n  };\n\n  Loader.prototype.loadAllModules = function loadAllModules(ids) {\n    throw new Error('Loader must implement loadAllModules(ids).');\n  };\n\n  Loader.prototype.loadTemplate = function loadTemplate(url) {\n    throw new Error('Loader must implement loadTemplate(url).');\n  };\n\n  Loader.prototype.loadText = function loadText(url) {\n    throw new Error('Loader must implement loadText(url).');\n  };\n\n  Loader.prototype.applyPluginToUrl = function applyPluginToUrl(url, pluginName) {\n    throw new Error('Loader must implement applyPluginToUrl(url, pluginName).');\n  };\n\n  Loader.prototype.addPlugin = function addPlugin(pluginName, implementation) {\n    throw new Error('Loader must implement addPlugin(pluginName, implementation).');\n  };\n\n  Loader.prototype.getOrCreateTemplateRegistryEntry = function getOrCreateTemplateRegistryEntry(address) {\n    return this.templateRegistry[address] || (this.templateRegistry[address] = new TemplateRegistryEntry(address));\n  };\n\n  return Loader;\n}();","\n\nexport var ConsoleAppender = function () {\n  function ConsoleAppender() {\n    \n  }\n\n  ConsoleAppender.prototype.debug = function debug(logger) {\n    var _console;\n\n    for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      rest[_key - 1] = arguments[_key];\n    }\n\n    (_console = console).debug.apply(_console, [\"DEBUG [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.info = function info(logger) {\n    var _console2;\n\n    for (var _len2 = arguments.length, rest = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      rest[_key2 - 1] = arguments[_key2];\n    }\n\n    (_console2 = console).info.apply(_console2, [\"INFO [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.warn = function warn(logger) {\n    var _console3;\n\n    for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      rest[_key3 - 1] = arguments[_key3];\n    }\n\n    (_console3 = console).warn.apply(_console3, [\"WARN [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.error = function error(logger) {\n    var _console4;\n\n    for (var _len4 = arguments.length, rest = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n      rest[_key4 - 1] = arguments[_key4];\n    }\n\n    (_console4 = console).error.apply(_console4, [\"ERROR [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  return ConsoleAppender;\n}();","\n\nexport var logLevel = {\n  none: 0,\n  error: 10,\n  warn: 20,\n  info: 30,\n  debug: 40\n};\n\nvar loggers = {};\nvar appenders = [];\nvar globalDefaultLevel = logLevel.none;\n\nvar standardLevels = ['none', 'error', 'warn', 'info', 'debug'];\nfunction isStandardLevel(level) {\n  return standardLevels.filter(function (l) {\n    return l === level;\n  }).length > 0;\n}\n\nfunction appendArgs() {\n  return [this].concat(Array.prototype.slice.call(arguments));\n}\n\nfunction logFactory(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var _appenders$i;\n\n      (_appenders$i = appenders[i])[level].apply(_appenders$i, args);\n    }\n  };\n}\n\nfunction logFactoryCustom(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var appender = appenders[i];\n      if (appender[level] !== undefined) {\n        appender[level].apply(appender, args);\n      }\n    }\n  };\n}\n\nfunction connectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level in logLevel) {\n    if (isStandardLevel(_level)) {\n      if (_level !== 'none') {\n        proto[_level] = logFactory(_level);\n      }\n    } else {\n      proto[_level] = logFactoryCustom(_level);\n    }\n  }\n}\n\nfunction disconnectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level2 in logLevel) {\n    if (_level2 !== 'none') {\n      proto[_level2] = function () {};\n    }\n  }\n}\n\nexport function getLogger(id) {\n  return loggers[id] || new Logger(id);\n}\n\nexport function addAppender(appender) {\n  if (appenders.push(appender) === 1) {\n    connectLoggers();\n  }\n}\n\nexport function removeAppender(appender) {\n  appenders = appenders.filter(function (a) {\n    return a !== appender;\n  });\n}\n\nexport function getAppenders() {\n  return [].concat(appenders);\n}\n\nexport function clearAppenders() {\n  appenders = [];\n  disconnectLoggers();\n}\n\nexport function addCustomLevel(name, value) {\n  if (logLevel[name] !== undefined) {\n    throw Error('Log level \"' + name + '\" already exists.');\n  }\n\n  if (isNaN(value)) {\n    throw Error('Value must be a number.');\n  }\n\n  logLevel[name] = value;\n\n  if (appenders.length > 0) {\n    connectLoggers();\n  } else {\n    Logger.prototype[name] = function () {};\n  }\n}\n\nexport function removeCustomLevel(name) {\n  if (logLevel[name] === undefined) {\n    return;\n  }\n\n  if (isStandardLevel(name)) {\n    throw Error('Built-in log level \"' + name + '\" cannot be removed.');\n  }\n\n  delete logLevel[name];\n  delete Logger.prototype[name];\n}\n\nexport function setLevel(level) {\n  globalDefaultLevel = level;\n  for (var key in loggers) {\n    loggers[key].setLevel(level);\n  }\n}\n\nexport function getLevel() {\n  return globalDefaultLevel;\n}\n\nexport var Logger = function () {\n  function Logger(id) {\n    \n\n    var cached = loggers[id];\n    if (cached) {\n      return cached;\n    }\n\n    loggers[id] = this;\n    this.id = id;\n    this.level = globalDefaultLevel;\n  }\n\n  Logger.prototype.debug = function debug(message) {};\n\n  Logger.prototype.info = function info(message) {};\n\n  Logger.prototype.warn = function warn(message) {};\n\n  Logger.prototype.error = function error(message) {};\n\n  Logger.prototype.setLevel = function setLevel(level) {\n    this.level = level;\n  };\n\n  Logger.prototype.isDebugEnabled = function isDebugEnabled() {\n    return this.level === logLevel.debug;\n  };\n\n  return Logger;\n}();","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { PLATFORM } from 'aurelia-pal';\n\nfunction isObject(val) {\n  return val && (typeof val === 'function' || (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object');\n}\n\nexport var metadata = {\n  resource: 'aurelia:resource',\n  paramTypes: 'design:paramtypes',\n  propertyType: 'design:type',\n  properties: 'design:properties',\n  get: function get(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n    return result === undefined ? metadata.get(metadataKey, Object.getPrototypeOf(target), targetKey) : result;\n  },\n  getOwn: function getOwn(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    return Reflect.getOwnMetadata(metadataKey, target, targetKey);\n  },\n  define: function define(metadataKey, metadataValue, target, targetKey) {\n    Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n  },\n  getOrCreateOwn: function getOrCreateOwn(metadataKey, Type, target, targetKey) {\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n\n    if (result === undefined) {\n      result = new Type();\n      Reflect.defineMetadata(metadataKey, result, target, targetKey);\n    }\n\n    return result;\n  }\n};\n\nvar originStorage = new Map();\nvar unknownOrigin = Object.freeze({ moduleId: undefined, moduleMember: undefined });\n\nexport var Origin = function () {\n  function Origin(moduleId, moduleMember) {\n    \n\n    this.moduleId = moduleId;\n    this.moduleMember = moduleMember;\n  }\n\n  Origin.get = function get(fn) {\n    var origin = originStorage.get(fn);\n\n    if (origin === undefined) {\n      PLATFORM.eachModule(function (key, value) {\n        if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n          for (var name in value) {\n            try {\n              var exp = value[name];\n              if (exp === fn) {\n                originStorage.set(fn, origin = new Origin(key, name));\n                return true;\n              }\n            } catch (e) {}\n          }\n        }\n\n        if (value === fn) {\n          originStorage.set(fn, origin = new Origin(key, 'default'));\n          return true;\n        }\n\n        return false;\n      });\n    }\n\n    return origin || unknownOrigin;\n  };\n\n  Origin.set = function set(fn, origin) {\n    originStorage.set(fn, origin);\n  };\n\n  return Origin;\n}();\n\nexport function decorators() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  var applicator = function applicator(target, key, descriptor) {\n    var i = rest.length;\n\n    if (key) {\n      descriptor = descriptor || {\n        value: target[key],\n        writable: true,\n        configurable: true,\n        enumerable: true\n      };\n\n      while (i--) {\n        descriptor = rest[i](target, key, descriptor) || descriptor;\n      }\n\n      Object.defineProperty(target, key, descriptor);\n    } else {\n      while (i--) {\n        target = rest[i](target) || target;\n      }\n    }\n\n    return target;\n  };\n\n  applicator.on = applicator;\n  return applicator;\n}\n\nexport function deprecated(optionsOrTarget, maybeKey, maybeDescriptor) {\n  function decorator(target, key, descriptor) {\n    var methodSignature = target.constructor.name + '#' + key;\n    var options = maybeKey ? {} : optionsOrTarget || {};\n    var message = 'DEPRECATION - ' + methodSignature;\n\n    if (typeof descriptor.value !== 'function') {\n      throw new SyntaxError('Only methods can be marked as deprecated.');\n    }\n\n    if (options.message) {\n      message += ' - ' + options.message;\n    }\n\n    return _extends({}, descriptor, {\n      value: function deprecationWrapper() {\n        if (options.error) {\n          throw new Error(message);\n        } else {\n          console.warn(message);\n        }\n\n        return descriptor.value.apply(this, arguments);\n      }\n    });\n  }\n\n  return maybeKey ? decorator(optionsOrTarget, maybeKey, maybeDescriptor) : decorator;\n}\n\nexport function mixin(behavior) {\n  var instanceKeys = Object.keys(behavior);\n\n  function _mixin(possible) {\n    var decorator = function decorator(target) {\n      var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n      var i = instanceKeys.length;\n      while (i--) {\n        var property = instanceKeys[i];\n        Object.defineProperty(resolvedTarget, property, {\n          value: behavior[property],\n          writable: true\n        });\n      }\n    };\n\n    return possible ? decorator(possible) : decorator;\n  }\n\n  return _mixin;\n}\n\nfunction alwaysValid() {\n  return true;\n}\nfunction noCompose() {}\n\nfunction ensureProtocolOptions(options) {\n  if (options === undefined) {\n    options = {};\n  } else if (typeof options === 'function') {\n    options = {\n      validate: options\n    };\n  }\n\n  if (!options.validate) {\n    options.validate = alwaysValid;\n  }\n\n  if (!options.compose) {\n    options.compose = noCompose;\n  }\n\n  return options;\n}\n\nfunction createProtocolValidator(validate) {\n  return function (target) {\n    var result = validate(target);\n    return result === true;\n  };\n}\n\nfunction createProtocolAsserter(name, validate) {\n  return function (target) {\n    var result = validate(target);\n    if (result !== true) {\n      throw new Error(result || name + ' was not correctly implemented.');\n    }\n  };\n}\n\nexport function protocol(name, options) {\n  options = ensureProtocolOptions(options);\n\n  var result = function result(target) {\n    var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n    options.compose(resolvedTarget);\n    result.assert(resolvedTarget);\n\n    Object.defineProperty(resolvedTarget, 'protocol:' + name, {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: true\n    });\n  };\n\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n}\n\nprotocol.create = function (name, options) {\n  options = ensureProtocolOptions(options);\n  var hidden = 'protocol:' + name;\n  var result = function result(target) {\n    var decorator = protocol(name, options);\n    return target ? decorator(target) : decorator;\n  };\n\n  result.decorates = function (obj) {\n    return obj[hidden] === true;\n  };\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { initializePAL, isInitialized } from 'aurelia-pal';\n\nexport var _PLATFORM = {\n  location: window.location,\n  history: window.history,\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    this.global.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    this.global.removeEventListener(eventName, callback, capture);\n  },\n\n  performance: window.performance,\n  requestAnimationFrame: function requestAnimationFrame(callback) {\n    return this.global.requestAnimationFrame(callback);\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var test = function test() {};\n\n  if (test.name === undefined) {\n    Object.defineProperty(Function.prototype, 'name', {\n      get: function get() {\n        var name = this.toString().match(/^\\s*function\\s*(\\S*)\\s*\\(/)[1];\n\n        Object.defineProperty(this, 'name', { value: name });\n        return name;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!('classList' in document.createElement('_')) || document.createElementNS && !('classList' in document.createElementNS('http://www.w3.org/2000/svg', 'g'))) {\n    var protoProp = 'prototype';\n    var strTrim = String.prototype.trim;\n    var arrIndexOf = Array.prototype.indexOf;\n    var emptyArray = [];\n\n    var DOMEx = function DOMEx(type, message) {\n      this.name = type;\n      this.code = DOMException[type];\n      this.message = message;\n    };\n\n    var checkTokenAndGetIndex = function checkTokenAndGetIndex(classList, token) {\n      if (token === '') {\n        throw new DOMEx('SYNTAX_ERR', 'An invalid or illegal string was specified');\n      }\n\n      if (/\\s/.test(token)) {\n        throw new DOMEx('INVALID_CHARACTER_ERR', 'String contains an invalid character');\n      }\n\n      return arrIndexOf.call(classList, token);\n    };\n\n    var ClassList = function ClassList(elem) {\n      var trimmedClasses = strTrim.call(elem.getAttribute('class') || '');\n      var classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : emptyArray;\n\n      for (var i = 0, ii = classes.length; i < ii; ++i) {\n        this.push(classes[i]);\n      }\n\n      this._updateClassName = function () {\n        elem.setAttribute('class', this.toString());\n      };\n    };\n\n    var classListProto = ClassList[protoProp] = [];\n\n    DOMEx[protoProp] = Error[protoProp];\n\n    classListProto.item = function (i) {\n      return this[i] || null;\n    };\n\n    classListProto.contains = function (token) {\n      token += '';\n      return checkTokenAndGetIndex(this, token) !== -1;\n    };\n\n    classListProto.add = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n\n      do {\n        token = tokens[i] + '';\n        if (checkTokenAndGetIndex(this, token) === -1) {\n          this.push(token);\n          updated = true;\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.remove = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n      var index = void 0;\n\n      do {\n        token = tokens[i] + '';\n        index = checkTokenAndGetIndex(this, token);\n        while (index !== -1) {\n          this.splice(index, 1);\n          updated = true;\n          index = checkTokenAndGetIndex(this, token);\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.toggle = function (token, force) {\n      token += '';\n\n      var result = this.contains(token);\n      var method = result ? force !== true && 'remove' : force !== false && 'add';\n\n      if (method) {\n        this[method](token);\n      }\n\n      if (force === true || force === false) {\n        return force;\n      }\n\n      return !result;\n    };\n\n    classListProto.toString = function () {\n      return this.join(' ');\n    };\n\n    Object.defineProperty(Element.prototype, 'classList', {\n      get: function get() {\n        return new ClassList(this);\n      },\n      enumerable: true,\n      configurable: true\n    });\n  } else {\n    var testElement = document.createElement('_');\n    testElement.classList.add('c1', 'c2');\n\n    if (!testElement.classList.contains('c2')) {\n      var createMethod = function createMethod(method) {\n        var original = DOMTokenList.prototype[method];\n\n        DOMTokenList.prototype[method] = function (token) {\n          for (var i = 0, ii = arguments.length; i < ii; ++i) {\n            token = arguments[i];\n            original.call(this, token);\n          }\n        };\n      };\n\n      createMethod('add');\n      createMethod('remove');\n    }\n\n    testElement.classList.toggle('c3', false);\n\n    if (testElement.classList.contains('c3')) {\n      var _toggle = DOMTokenList.prototype.toggle;\n\n      DOMTokenList.prototype.toggle = function (token, force) {\n        if (1 in arguments && !this.contains(token) === !force) {\n          return force;\n        }\n\n        return _toggle.call(this, token);\n      };\n    }\n\n    testElement = null;\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var _filterEntries = function _filterEntries(key, value) {\n    var i = 0,\n        n = _entries.length,\n        result = [];\n    for (; i < n; i++) {\n      if (_entries[i][key] == value) {\n        result.push(_entries[i]);\n      }\n    }\n    return result;\n  };\n\n  var _clearEntries = function _clearEntries(type, name) {\n    var i = _entries.length,\n        entry;\n    while (i--) {\n      entry = _entries[i];\n      if (entry.entryType == type && (name === void 0 || entry.name == name)) {\n        _entries.splice(i, 1);\n      }\n    }\n  };\n\n  // @license http://opensource.org/licenses/MIT\n  if ('performance' in window === false) {\n    window.performance = {};\n  }\n\n  if ('now' in window.performance === false) {\n    var nowOffset = Date.now();\n\n    if (performance.timing && performance.timing.navigationStart) {\n      nowOffset = performance.timing.navigationStart;\n    }\n\n    window.performance.now = function now() {\n      return Date.now() - nowOffset;\n    };\n  }\n\n  var startOffset = Date.now ? Date.now() : +new Date();\n  var _entries = [];\n  var _marksIndex = {};\n\n  ;\n\n  if (!window.performance.mark) {\n    window.performance.mark = window.performance.webkitMark || function (name) {\n      var mark = {\n        name: name,\n        entryType: \"mark\",\n        startTime: window.performance.now(),\n        duration: 0\n      };\n\n      _entries.push(mark);\n      _marksIndex[name] = mark;\n    };\n  }\n\n  if (!window.performance.measure) {\n    window.performance.measure = window.performance.webkitMeasure || function (name, startMark, endMark) {\n      startMark = _marksIndex[startMark].startTime;\n      endMark = _marksIndex[endMark].startTime;\n\n      _entries.push({\n        name: name,\n        entryType: \"measure\",\n        startTime: startMark,\n        duration: endMark - startMark\n      });\n    };\n  }\n\n  if (!window.performance.getEntriesByType) {\n    window.performance.getEntriesByType = window.performance.webkitGetEntriesByType || function (type) {\n      return _filterEntries(\"entryType\", type);\n    };\n  }\n\n  if (!window.performance.getEntriesByName) {\n    window.performance.getEntriesByName = window.performance.webkitGetEntriesByName || function (name) {\n      return _filterEntries(\"name\", name);\n    };\n  }\n\n  if (!window.performance.clearMarks) {\n    window.performance.clearMarks = window.performance.webkitClearMarks || function (name) {\n      _clearEntries(\"mark\", name);\n    };\n  }\n\n  if (!window.performance.clearMeasures) {\n    window.performance.clearMeasures = window.performance.webkitClearMeasures || function (name) {\n      _clearEntries(\"measure\", name);\n    };\n  }\n\n  _PLATFORM.performance = window.performance;\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var con = window.console = window.console || {};\n  var nop = function nop() {};\n\n  if (!con.memory) con.memory = {};\n  ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',').forEach(function (m) {\n    if (!con[m]) con[m] = nop;\n  });\n\n  if (_typeof(con.log) === 'object') {\n    'log,info,warn,error,assert,dir,clear,profile,profileEnd'.split(',').forEach(function (method) {\n      console[method] = this.bind(console[method], console);\n    }, Function.prototype.call);\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!window.CustomEvent || typeof window.CustomEvent !== 'function') {\n    var _CustomEvent = function _CustomEvent(event, params) {\n      params = params || {\n        bubbles: false,\n        cancelable: false,\n        detail: undefined\n      };\n\n      var evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n      return evt;\n    };\n\n    _CustomEvent.prototype = window.Event.prototype;\n    window.CustomEvent = _CustomEvent;\n  }\n}\n\nif (Element && !Element.prototype.matches) {\n  var proto = Element.prototype;\n  proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector;\n}\n\nexport var _FEATURE = {\n  shadowDOM: !!HTMLElement.prototype.attachShadow,\n  scopedCSS: 'scoped' in document.createElement('style'),\n  htmlTemplateElement: function () {\n    var d = document.createElement('div');\n    d.innerHTML = '<template></template>';\n    return 'content' in d.children[0];\n  }(),\n  mutationObserver: !!(window.MutationObserver || window.WebKitMutationObserver),\n  ensureHTMLTemplateElement: function ensureHTMLTemplateElement(t) {\n    return t;\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var isSVGTemplate = function isSVGTemplate(el) {\n    return el.tagName === 'template' && el.namespaceURI === 'http://www.w3.org/2000/svg';\n  };\n\n  var fixSVGTemplateElement = function fixSVGTemplateElement(el) {\n    var template = el.ownerDocument.createElement('template');\n    var attrs = el.attributes;\n    var length = attrs.length;\n    var attr = void 0;\n\n    el.parentNode.insertBefore(template, el);\n\n    while (length-- > 0) {\n      attr = attrs[length];\n      template.setAttribute(attr.name, attr.value);\n      el.removeAttribute(attr.name);\n    }\n\n    el.parentNode.removeChild(el);\n\n    return fixHTMLTemplateElement(template);\n  };\n\n  var fixHTMLTemplateElement = function fixHTMLTemplateElement(template) {\n    var content = template.content = document.createDocumentFragment();\n    var child = void 0;\n\n    while (child = template.firstChild) {\n      content.appendChild(child);\n    }\n\n    return template;\n  };\n\n  var fixHTMLTemplateElementRoot = function fixHTMLTemplateElementRoot(template) {\n    var content = fixHTMLTemplateElement(template).content;\n    var childTemplates = content.querySelectorAll('template');\n\n    for (var i = 0, ii = childTemplates.length; i < ii; ++i) {\n      var child = childTemplates[i];\n\n      if (isSVGTemplate(child)) {\n        fixSVGTemplateElement(child);\n      } else {\n        fixHTMLTemplateElement(child);\n      }\n    }\n\n    return template;\n  };\n\n  if (!_FEATURE.htmlTemplateElement) {\n    _FEATURE.ensureHTMLTemplateElement = fixHTMLTemplateElementRoot;\n  }\n}\n\nvar shadowPoly = window.ShadowDOMPolyfill || null;\n\nexport var _DOM = {\n  Element: Element,\n  NodeList: NodeList,\n  SVGElement: SVGElement,\n  boundary: 'aurelia-dom-boundary',\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    document.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    document.removeEventListener(eventName, callback, capture);\n  },\n  adoptNode: function adoptNode(node) {\n    return document.adoptNode(node);\n  },\n  createAttribute: function createAttribute(name) {\n    return document.createAttribute(name);\n  },\n  createElement: function createElement(tagName) {\n    return document.createElement(tagName);\n  },\n  createTextNode: function createTextNode(text) {\n    return document.createTextNode(text);\n  },\n  createComment: function createComment(text) {\n    return document.createComment(text);\n  },\n  createDocumentFragment: function createDocumentFragment() {\n    return document.createDocumentFragment();\n  },\n  createTemplateElement: function createTemplateElement() {\n    var template = document.createElement('template');\n    return _FEATURE.ensureHTMLTemplateElement(template);\n  },\n  createMutationObserver: function createMutationObserver(callback) {\n    return new (window.MutationObserver || window.WebKitMutationObserver)(callback);\n  },\n  createCustomEvent: function createCustomEvent(eventType, options) {\n    return new window.CustomEvent(eventType, options);\n  },\n  dispatchEvent: function dispatchEvent(evt) {\n    document.dispatchEvent(evt);\n  },\n  getComputedStyle: function getComputedStyle(element) {\n    return window.getComputedStyle(element);\n  },\n  getElementById: function getElementById(id) {\n    return document.getElementById(id);\n  },\n  querySelector: function querySelector(query) {\n    return document.querySelector(query);\n  },\n  querySelectorAll: function querySelectorAll(query) {\n    return document.querySelectorAll(query);\n  },\n  nextElementSibling: function nextElementSibling(element) {\n    if (element.nextElementSibling) {\n      return element.nextElementSibling;\n    }\n    do {\n      element = element.nextSibling;\n    } while (element && element.nodeType !== 1);\n    return element;\n  },\n  createTemplateFromMarkup: function createTemplateFromMarkup(markup) {\n    var parser = document.createElement('div');\n    parser.innerHTML = markup;\n\n    var temp = parser.firstElementChild;\n    if (!temp || temp.nodeName !== 'TEMPLATE') {\n      throw new Error('Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>');\n    }\n\n    return _FEATURE.ensureHTMLTemplateElement(temp);\n  },\n  appendNode: function appendNode(newNode, parentNode) {\n    (parentNode || document.body).appendChild(newNode);\n  },\n  replaceNode: function replaceNode(newNode, node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.replaceChild(newNode, node);\n    } else if (shadowPoly !== null) {\n      shadowPoly.unwrap(parentNode).replaceChild(shadowPoly.unwrap(newNode), shadowPoly.unwrap(node));\n    } else {\n      parentNode.replaceChild(newNode, node);\n    }\n  },\n  removeNode: function removeNode(node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.removeChild(node);\n    } else if (parentNode) {\n      if (shadowPoly !== null) {\n        shadowPoly.unwrap(parentNode).removeChild(shadowPoly.unwrap(node));\n      } else {\n        parentNode.removeChild(node);\n      }\n    }\n  },\n  injectStyles: function injectStyles(styles, destination, prepend, id) {\n    if (id) {\n      var oldStyle = document.getElementById(id);\n      if (oldStyle) {\n        var isStyleTag = oldStyle.tagName.toLowerCase() === 'style';\n\n        if (isStyleTag) {\n          oldStyle.innerHTML = styles;\n          return;\n        }\n\n        throw new Error('The provided id does not indicate a style tag.');\n      }\n    }\n\n    var node = document.createElement('style');\n    node.innerHTML = styles;\n    node.type = 'text/css';\n\n    if (id) {\n      node.id = id;\n    }\n\n    destination = destination || document.head;\n\n    if (prepend && destination.childNodes.length > 0) {\n      destination.insertBefore(node, destination.childNodes[0]);\n    } else {\n      destination.appendChild(node);\n    }\n\n    return node;\n  }\n};\n\nexport function initialize() {\n  if (isInitialized) {\n    return;\n  }\n\n  initializePAL(function (platform, feature, dom) {\n    Object.assign(platform, _PLATFORM);\n    Object.assign(feature, _FEATURE);\n    Object.assign(dom, _DOM);\n\n    Object.defineProperty(dom, 'title', {\n      get: function get() {\n        return document.title;\n      },\n      set: function set(value) {\n        document.title = value;\n      }\n    });\n\n    Object.defineProperty(dom, 'activeElement', {\n      get: function get() {\n        return document.activeElement;\n      }\n    });\n\n    Object.defineProperty(platform, 'XMLHttpRequest', {\n      get: function get() {\n        return platform.global.XMLHttpRequest;\n      }\n    });\n  });\n}","\nexport function AggregateError(message, innerError, skipIfAlreadyAggregate) {\n  if (innerError) {\n    if (innerError.innerError && skipIfAlreadyAggregate) {\n      return innerError;\n    }\n\n    var separator = '\\n------------------------------------------------\\n';\n\n    message += separator + 'Inner Error:\\n';\n\n    if (typeof innerError === 'string') {\n      message += 'Message: ' + innerError;\n    } else {\n      if (innerError.message) {\n        message += 'Message: ' + innerError.message;\n      } else {\n        message += 'Unknown Inner Error Type. Displaying Inner Error as JSON:\\n ' + JSON.stringify(innerError, null, '  ');\n      }\n\n      if (innerError.stack) {\n        message += '\\nInner Error Stack:\\n' + innerError.stack;\n        message += '\\nEnd Inner Error Stack';\n      }\n    }\n\n    message += separator;\n  }\n\n  var e = new Error(message);\n  if (innerError) {\n    e.innerError = innerError;\n  }\n\n  return e;\n}\n\nexport var FEATURE = {};\n\nexport var PLATFORM = {\n  noop: function noop() {},\n  eachModule: function eachModule() {},\n  moduleName: function (_moduleName) {\n    function moduleName(_x) {\n      return _moduleName.apply(this, arguments);\n    }\n\n    moduleName.toString = function () {\n      return _moduleName.toString();\n    };\n\n    return moduleName;\n  }(function (moduleName) {\n    return moduleName;\n  })\n};\n\nPLATFORM.global = function () {\n  if (typeof self !== 'undefined') {\n    return self;\n  }\n\n  if (typeof global !== 'undefined') {\n    return global;\n  }\n\n  return new Function('return this')();\n}();\n\nexport var DOM = {};\nexport var isInitialized = false;\n\nexport function initializePAL(callback) {\n  if (isInitialized) {\n    return;\n  }\n  isInitialized = true;\n  if (typeof Object.getPropertyDescriptor !== 'function') {\n    Object.getPropertyDescriptor = function (subject, name) {\n      var pd = Object.getOwnPropertyDescriptor(subject, name);\n      var proto = Object.getPrototypeOf(subject);\n      while (typeof pd === 'undefined' && proto !== null) {\n        pd = Object.getOwnPropertyDescriptor(proto, name);\n        proto = Object.getPrototypeOf(proto);\n      }\n      return pd;\n    };\n  }\n\n  callback(PLATFORM, FEATURE, DOM);\n}\nexport function reset() {\n  isInitialized = false;\n}","function trimDots(ary) {\r\n    for (var i = 0; i < ary.length; ++i) {\r\n        var part = ary[i];\r\n        if (part === '.') {\r\n            ary.splice(i, 1);\r\n            i -= 1;\r\n        }\r\n        else if (part === '..') {\r\n            if (i === 0 || (i === 1 && ary[2] === '..') || ary[i - 1] === '..') {\r\n                continue;\r\n            }\r\n            else if (i > 0) {\r\n                ary.splice(i - 1, 2);\r\n                i -= 2;\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction relativeToFile(name, file) {\r\n    var fileParts = file && file.split('/');\r\n    var nameParts = name.trim().split('/');\r\n    if (nameParts[0].charAt(0) === '.' && fileParts) {\r\n        var normalizedBaseParts = fileParts.slice(0, fileParts.length - 1);\r\n        nameParts.unshift.apply(nameParts, normalizedBaseParts);\r\n    }\r\n    trimDots(nameParts);\r\n    return nameParts.join('/');\r\n}\r\nfunction join(path1, path2) {\r\n    if (!path1) {\r\n        return path2;\r\n    }\r\n    if (!path2) {\r\n        return path1;\r\n    }\r\n    var schemeMatch = path1.match(/^([^/]*?:)\\//);\r\n    var scheme = (schemeMatch && schemeMatch.length > 0) ? schemeMatch[1] : '';\r\n    path1 = path1.substr(scheme.length);\r\n    var urlPrefix;\r\n    if (path1.indexOf('///') === 0 && scheme === 'file:') {\r\n        urlPrefix = '///';\r\n    }\r\n    else if (path1.indexOf('//') === 0) {\r\n        urlPrefix = '//';\r\n    }\r\n    else if (path1.indexOf('/') === 0) {\r\n        urlPrefix = '/';\r\n    }\r\n    else {\r\n        urlPrefix = '';\r\n    }\r\n    var trailingSlash = path2.slice(-1) === '/' ? '/' : '';\r\n    var url1 = path1.split('/');\r\n    var url2 = path2.split('/');\r\n    var url3 = [];\r\n    for (var i = 0, ii = url1.length; i < ii; ++i) {\r\n        if (url1[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url1[i]);\r\n            }\r\n        }\r\n        else if (url1[i] === '.' || url1[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url1[i]);\r\n        }\r\n    }\r\n    for (var i = 0, ii = url2.length; i < ii; ++i) {\r\n        if (url2[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url2[i]);\r\n            }\r\n        }\r\n        else if (url2[i] === '.' || url2[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url2[i]);\r\n        }\r\n    }\r\n    return scheme + urlPrefix + url3.join('/') + trailingSlash;\r\n}\r\nvar encode = encodeURIComponent;\r\nvar encodeKey = function (k) { return encode(k).replace('%24', '$'); };\r\nfunction buildParam(key, value, traditional) {\r\n    var result = [];\r\n    if (value === null || value === undefined) {\r\n        return result;\r\n    }\r\n    if (Array.isArray(value)) {\r\n        for (var i = 0, l = value.length; i < l; i++) {\r\n            if (traditional) {\r\n                result.push(encodeKey(key) + \"=\" + encode(value[i]));\r\n            }\r\n            else {\r\n                var arrayKey = key + '[' + (typeof value[i] === 'object' && value[i] !== null ? i : '') + ']';\r\n                result = result.concat(buildParam(arrayKey, value[i]));\r\n            }\r\n        }\r\n    }\r\n    else if (typeof (value) === 'object' && !traditional) {\r\n        for (var propertyName in value) {\r\n            result = result.concat(buildParam(key + '[' + propertyName + ']', value[propertyName]));\r\n        }\r\n    }\r\n    else {\r\n        result.push(encodeKey(key) + \"=\" + encode(value));\r\n    }\r\n    return result;\r\n}\r\nfunction buildQueryString(params, traditional) {\r\n    var pairs = [];\r\n    var keys = Object.keys(params || {}).sort();\r\n    for (var i = 0, len = keys.length; i < len; i++) {\r\n        var key = keys[i];\r\n        pairs = pairs.concat(buildParam(key, params[key], traditional));\r\n    }\r\n    if (pairs.length === 0) {\r\n        return '';\r\n    }\r\n    return pairs.join('&');\r\n}\r\nfunction processScalarParam(existedParam, value) {\r\n    if (Array.isArray(existedParam)) {\r\n        existedParam.push(value);\r\n        return existedParam;\r\n    }\r\n    if (existedParam !== undefined) {\r\n        return [existedParam, value];\r\n    }\r\n    return value;\r\n}\r\nfunction parseComplexParam(queryParams, keys, value) {\r\n    var currentParams = queryParams;\r\n    var keysLastIndex = keys.length - 1;\r\n    for (var j = 0; j <= keysLastIndex; j++) {\r\n        var key = keys[j] === '' ? currentParams.length : keys[j];\r\n        preventPollution(key);\r\n        if (j < keysLastIndex) {\r\n            var prevValue = !currentParams[key] || typeof currentParams[key] === 'object' ? currentParams[key] : [currentParams[key]];\r\n            currentParams = currentParams[key] = prevValue || (isNaN(keys[j + 1]) ? {} : []);\r\n        }\r\n        else {\r\n            currentParams = currentParams[key] = value;\r\n        }\r\n    }\r\n}\r\nfunction parseQueryString(queryString) {\r\n    var queryParams = {};\r\n    if (!queryString || typeof queryString !== 'string') {\r\n        return queryParams;\r\n    }\r\n    var query = queryString;\r\n    if (query.charAt(0) === '?') {\r\n        query = query.substr(1);\r\n    }\r\n    var pairs = query.replace(/\\+/g, ' ').split('&');\r\n    for (var i = 0; i < pairs.length; i++) {\r\n        var pair = pairs[i].split('=');\r\n        var key = decodeURIComponent(pair[0]);\r\n        if (!key) {\r\n            continue;\r\n        }\r\n        var keys = key.split('][');\r\n        var keysLastIndex = keys.length - 1;\r\n        if (/\\[/.test(keys[0]) && /\\]$/.test(keys[keysLastIndex])) {\r\n            keys[keysLastIndex] = keys[keysLastIndex].replace(/\\]$/, '');\r\n            keys = keys.shift().split('[').concat(keys);\r\n            keysLastIndex = keys.length - 1;\r\n        }\r\n        else {\r\n            keysLastIndex = 0;\r\n        }\r\n        if (pair.length >= 2) {\r\n            var value = pair[1] ? decodeURIComponent(pair[1]) : '';\r\n            if (keysLastIndex) {\r\n                parseComplexParam(queryParams, keys, value);\r\n            }\r\n            else {\r\n                preventPollution(key);\r\n                queryParams[key] = processScalarParam(queryParams[key], value);\r\n            }\r\n        }\r\n        else {\r\n            queryParams[key] = true;\r\n        }\r\n    }\r\n    return queryParams;\r\n}\r\nfunction preventPollution(key) {\r\n    if (key === '__proto__') {\r\n        throw new Error('Prototype pollution detected.');\r\n    }\r\n}\n\nexport { buildQueryString, join, parseQueryString, relativeToFile };\n//# sourceMappingURL=aurelia-path.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { PLATFORM } from 'aurelia-pal';\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (Object, GOPS) {\n    'use strict';\n\n    if (GOPS in Object) return;\n\n    var setDescriptor,\n        G = PLATFORM.global,\n        id = 0,\n        random = '' + Math.random(),\n        prefix = '__\\x01symbol:',\n        prefixLength = prefix.length,\n        internalSymbol = '__\\x01symbol@@' + random,\n        DP = 'defineProperty',\n        DPies = 'defineProperties',\n        GOPN = 'getOwnPropertyNames',\n        GOPD = 'getOwnPropertyDescriptor',\n        PIE = 'propertyIsEnumerable',\n        gOPN = Object[GOPN],\n        gOPD = Object[GOPD],\n        create = Object.create,\n        keys = Object.keys,\n        defineProperty = Object[DP],\n        $defineProperties = Object[DPies],\n        descriptor = gOPD(Object, GOPN),\n        ObjectProto = Object.prototype,\n        hOP = ObjectProto.hasOwnProperty,\n        pIE = ObjectProto[PIE],\n        toString = ObjectProto.toString,\n        indexOf = Array.prototype.indexOf || function (v) {\n      for (var i = this.length; i-- && this[i] !== v;) {}\n      return i;\n    },\n        addInternalIfNeeded = function addInternalIfNeeded(o, uid, enumerable) {\n      if (!hOP.call(o, internalSymbol)) {\n        defineProperty(o, internalSymbol, {\n          enumerable: false,\n          configurable: false,\n          writable: false,\n          value: {}\n        });\n      }\n      o[internalSymbol]['@@' + uid] = enumerable;\n    },\n        createWithSymbols = function createWithSymbols(proto, descriptors) {\n      var self = create(proto);\n      if (descriptors !== null && (typeof descriptors === 'undefined' ? 'undefined' : _typeof(descriptors)) === 'object') {\n        gOPN(descriptors).forEach(function (key) {\n          if (propertyIsEnumerable.call(descriptors, key)) {\n            $defineProperty(self, key, descriptors[key]);\n          }\n        });\n      }\n      return self;\n    },\n        copyAsNonEnumerable = function copyAsNonEnumerable(descriptor) {\n      var newDescriptor = create(descriptor);\n      newDescriptor.enumerable = false;\n      return newDescriptor;\n    },\n        get = function get() {},\n        onlyNonSymbols = function onlyNonSymbols(name) {\n      return name != internalSymbol && !hOP.call(source, name);\n    },\n        onlySymbols = function onlySymbols(name) {\n      return name != internalSymbol && hOP.call(source, name);\n    },\n        propertyIsEnumerable = function propertyIsEnumerable(key) {\n      var uid = '' + key;\n      return onlySymbols(uid) ? hOP.call(this, uid) && this[internalSymbol] && this[internalSymbol]['@@' + uid] : pIE.call(this, key);\n    },\n        setAndGetSymbol = function setAndGetSymbol(uid) {\n      var descriptor = {\n        enumerable: false,\n        configurable: true,\n        get: get,\n        set: function set(value) {\n          setDescriptor(this, uid, {\n            enumerable: false,\n            configurable: true,\n            writable: true,\n            value: value\n          });\n          addInternalIfNeeded(this, uid, true);\n        }\n      };\n      defineProperty(ObjectProto, uid, descriptor);\n      return source[uid] = defineProperty(Object(uid), 'constructor', sourceConstructor);\n    },\n        _Symbol = function _Symbol2(description) {\n      if (this && this !== G) {\n        throw new TypeError('Symbol is not a constructor');\n      }\n      return setAndGetSymbol(prefix.concat(description || '', random, ++id));\n    },\n        source = create(null),\n        sourceConstructor = { value: _Symbol },\n        sourceMap = function sourceMap(uid) {\n      return source[uid];\n    },\n        $defineProperty = function defineProp(o, key, descriptor) {\n      var uid = '' + key;\n      if (onlySymbols(uid)) {\n        setDescriptor(o, uid, descriptor.enumerable ? copyAsNonEnumerable(descriptor) : descriptor);\n        addInternalIfNeeded(o, uid, !!descriptor.enumerable);\n      } else {\n        defineProperty(o, key, descriptor);\n      }\n      return o;\n    },\n        $getOwnPropertySymbols = function getOwnPropertySymbols(o) {\n      var cof = toString.call(o);\n      o = cof === '[object String]' ? o.split('') : Object(o);\n      return gOPN(o).filter(onlySymbols).map(sourceMap);\n    };\n\n    descriptor.value = $defineProperty;\n    defineProperty(Object, DP, descriptor);\n\n    descriptor.value = $getOwnPropertySymbols;\n    defineProperty(Object, GOPS, descriptor);\n\n    var cachedWindowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' ? Object.getOwnPropertyNames(window) : [];\n    var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n    descriptor.value = function getOwnPropertyNames(o) {\n      if (toString.call(o) === '[object Window]') {\n        try {\n          return originalObjectGetOwnPropertyNames(o);\n        } catch (e) {\n          return [].concat([], cachedWindowNames);\n        }\n      }\n      return gOPN(o).filter(onlyNonSymbols);\n    };\n    defineProperty(Object, GOPN, descriptor);\n\n    descriptor.value = function defineProperties(o, descriptors) {\n      var symbols = $getOwnPropertySymbols(descriptors);\n      if (symbols.length) {\n        keys(descriptors).concat(symbols).forEach(function (uid) {\n          if (propertyIsEnumerable.call(descriptors, uid)) {\n            $defineProperty(o, uid, descriptors[uid]);\n          }\n        });\n      } else {\n        $defineProperties(o, descriptors);\n      }\n      return o;\n    };\n    defineProperty(Object, DPies, descriptor);\n\n    descriptor.value = propertyIsEnumerable;\n    defineProperty(ObjectProto, PIE, descriptor);\n\n    descriptor.value = _Symbol;\n    defineProperty(G, 'Symbol', descriptor);\n\n    descriptor.value = function (key) {\n      var uid = prefix.concat(prefix, key, random);\n      return uid in ObjectProto ? source[uid] : setAndGetSymbol(uid);\n    };\n    defineProperty(_Symbol, 'for', descriptor);\n\n    descriptor.value = function (symbol) {\n      return hOP.call(source, symbol) ? symbol.slice(prefixLength * 2, -random.length) : void 0;\n    };\n    defineProperty(_Symbol, 'keyFor', descriptor);\n\n    descriptor.value = function getOwnPropertyDescriptor(o, key) {\n      var descriptor = gOPD(o, key);\n      if (descriptor && onlySymbols(key)) {\n        descriptor.enumerable = propertyIsEnumerable.call(o, key);\n      }\n      return descriptor;\n    };\n    defineProperty(Object, GOPD, descriptor);\n\n    descriptor.value = function (proto, descriptors) {\n      return arguments.length === 1 ? create(proto) : createWithSymbols(proto, descriptors);\n    };\n    defineProperty(Object, 'create', descriptor);\n\n    descriptor.value = function () {\n      var str = toString.call(this);\n      return str === '[object String]' && onlySymbols(this) ? '[object Symbol]' : str;\n    };\n    defineProperty(ObjectProto, 'toString', descriptor);\n\n    try {\n      setDescriptor = create(defineProperty({}, prefix, {\n        get: function get() {\n          return defineProperty(this, prefix, { value: false })[prefix];\n        }\n      }))[prefix] || defineProperty;\n    } catch (o_O) {\n      setDescriptor = function setDescriptor(o, key, descriptor) {\n        var protoDescriptor = gOPD(ObjectProto, key);\n        delete ObjectProto[key];\n        defineProperty(o, key, descriptor);\n        defineProperty(ObjectProto, key, protoDescriptor);\n      };\n    }\n  })(Object, 'getOwnPropertySymbols');\n\n  (function (O, S) {\n    var dP = O.defineProperty,\n        ObjectProto = O.prototype,\n        toString = ObjectProto.toString,\n        toStringTag = 'toStringTag',\n        descriptor;\n    ['iterator', 'match', 'replace', 'search', 'split', 'hasInstance', 'isConcatSpreadable', 'unscopables', 'species', 'toPrimitive', toStringTag].forEach(function (name) {\n      if (!(name in Symbol)) {\n        dP(Symbol, name, { value: Symbol(name) });\n        switch (name) {\n          case toStringTag:\n            descriptor = O.getOwnPropertyDescriptor(ObjectProto, 'toString');\n            descriptor.value = function () {\n              var str = toString.call(this),\n                  tst = typeof this === 'undefined' || this === null ? undefined : this[Symbol.toStringTag];\n              return typeof tst === 'undefined' ? str : '[object ' + tst + ']';\n            };\n            dP(ObjectProto, 'toString', descriptor);\n            break;\n        }\n      }\n    });\n  })(Object, Symbol);\n\n  (function (Si, AP, SP) {\n\n    function returnThis() {\n      return this;\n    }\n\n    if (!AP[Si]) AP[Si] = function () {\n      var i = 0,\n          self = this,\n          iterator = {\n        next: function next() {\n          var done = self.length <= i;\n          return done ? { done: done } : { done: done, value: self[i++] };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n\n    if (!SP[Si]) SP[Si] = function () {\n      var fromCodePoint = String.fromCodePoint,\n          self = this,\n          i = 0,\n          length = self.length,\n          iterator = {\n        next: function next() {\n          var done = length <= i,\n              c = done ? '' : fromCodePoint(self.codePointAt(i));\n          i += c.length;\n          return done ? { done: done } : { done: done, value: c };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n  })(Symbol.iterator, Array.prototype, String.prototype);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  Number.isNaN = Number.isNaN || function (value) {\n    return value !== value;\n  };\n\n  Number.isFinite = Number.isFinite || function (value) {\n    return typeof value === \"number\" && isFinite(value);\n  };\n}\n\nif (!String.prototype.endsWith || function () {\n  try {\n    return !\"ab\".endsWith(\"a\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!String.prototype.startsWith || function () {\n  try {\n    return !\"ab\".startsWith(\"b\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  if (!Array.from) {\n    Array.from = function () {\n      var toInteger = function toInteger(it) {\n        return isNaN(it = +it) ? 0 : (it > 0 ? Math.floor : Math.ceil)(it);\n      };\n      var toLength = function toLength(it) {\n        return it > 0 ? Math.min(toInteger(it), 0x1fffffffffffff) : 0;\n      };\n      var iterCall = function iterCall(iter, fn, val, index) {\n        try {\n          return fn(val, index);\n        } catch (E) {\n          if (typeof iter.return == 'function') iter.return();\n          throw E;\n        }\n      };\n\n      return function from(arrayLike) {\n        var O = Object(arrayLike),\n            C = typeof this == 'function' ? this : Array,\n            aLen = arguments.length,\n            mapfn = aLen > 1 ? arguments[1] : undefined,\n            mapping = mapfn !== undefined,\n            index = 0,\n            iterFn = O[Symbol.iterator],\n            length,\n            result,\n            step,\n            iterator;\n        if (mapping) mapfn = mapfn.bind(aLen > 2 ? arguments[2] : undefined);\n        if (iterFn != undefined && !Array.isArray(arrayLike)) {\n          for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n            result[index] = mapping ? iterCall(iterator, mapfn, step.value, index) : step.value;\n          }\n        } else {\n          length = toLength(O.length);\n          for (result = new C(length); length > index; index++) {\n            result[index] = mapping ? mapfn(O[index], index) : O[index];\n          }\n        }\n        result.length = index;\n        return result;\n      };\n    }();\n  }\n\n  if (!Array.prototype.find) {\n    Object.defineProperty(Array.prototype, 'find', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.find called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return value;\n          }\n        }\n        return undefined;\n      }\n    });\n  }\n\n  if (!Array.prototype.findIndex) {\n    Object.defineProperty(Array.prototype, 'findIndex', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.findIndex called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return i;\n          }\n        }\n        return -1;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_ES2016 === 'undefined' && !Array.prototype.includes) {\n  Object.defineProperty(Array.prototype, 'includes', {\n    configurable: true,\n    writable: true,\n    enumerable: false,\n    value: function value(searchElement) {\n      var O = Object(this);\n      var len = parseInt(O.length) || 0;\n      if (len === 0) {\n        return false;\n      }\n      var n = parseInt(arguments[1]) || 0;\n      var k;\n      if (n >= 0) {\n        k = n;\n      } else {\n        k = len + n;\n        if (k < 0) {\n          k = 0;\n        }\n      }\n      var currentElement;\n      while (k < len) {\n        currentElement = O[k];\n        if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) {\n          return true;\n        }\n        k++;\n      }\n      return false;\n    }\n  });\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function () {\n    var needsFix = false;\n\n    try {\n      var s = Object.keys('a');\n      needsFix = s.length !== 1 || s[0] !== '0';\n    } catch (e) {\n      needsFix = true;\n    }\n\n    if (needsFix) {\n      Object.keys = function () {\n        var hasOwnProperty = Object.prototype.hasOwnProperty,\n            hasDontEnumBug = !{ toString: null }.propertyIsEnumerable('toString'),\n            dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'],\n            dontEnumsLength = dontEnums.length;\n\n        return function (obj) {\n          if (obj === undefined || obj === null) {\n            throw TypeError('Cannot convert undefined or null to object');\n          }\n\n          obj = Object(obj);\n\n          var result = [],\n              prop,\n              i;\n\n          for (prop in obj) {\n            if (hasOwnProperty.call(obj, prop)) {\n              result.push(prop);\n            }\n          }\n\n          if (hasDontEnumBug) {\n            for (i = 0; i < dontEnumsLength; i++) {\n              if (hasOwnProperty.call(obj, dontEnums[i])) {\n                result.push(dontEnums[i]);\n              }\n            }\n          }\n\n          return result;\n        };\n      }();\n    }\n  })();\n\n  (function (O) {\n    if ('assign' in O) {\n      return;\n    }\n\n    O.defineProperty(O, 'assign', {\n      configurable: true,\n      writable: true,\n      value: function () {\n        var gOPS = O.getOwnPropertySymbols,\n            pIE = O.propertyIsEnumerable,\n            filterOS = gOPS ? function (self) {\n          return gOPS(self).filter(pIE, self);\n        } : function () {\n          return Array.prototype;\n        };\n\n        return function assign(where) {\n          if (gOPS && !(where instanceof O)) {\n            console.warn('problematic Symbols', where);\n          }\n\n          function set(keyOrSymbol) {\n            where[keyOrSymbol] = arg[keyOrSymbol];\n          }\n\n          for (var i = 1, ii = arguments.length; i < ii; ++i) {\n            var arg = arguments[i];\n\n            if (arg === null || arg === undefined) {\n              continue;\n            }\n\n            O.keys(arg).concat(filterOS(arg)).forEach(set);\n          }\n\n          return where;\n        };\n      }()\n    });\n  })(Object);\n\n  if (!Object.is) {\n    Object.is = function (x, y) {\n      if (x === y) {\n        return x !== 0 || 1 / x === 1 / y;\n      } else {\n        return x !== x && y !== y;\n      }\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (global) {\n    var i;\n\n    var defineProperty = Object.defineProperty,\n        is = function is(a, b) {\n      return a === b || a !== a && b !== b;\n    };\n\n    if (typeof WeakMap == 'undefined') {\n      global.WeakMap = createCollection({\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        get: sharedGet,\n\n        has: mapHas,\n\n        set: sharedSet\n      }, true);\n    }\n\n    if (typeof Map == 'undefined' || typeof new Map().values !== 'function' || !new Map().values().next) {\n      var _createCollection;\n\n      global.Map = createCollection((_createCollection = {\n        'delete': sharedDelete,\n\n        has: mapHas,\n\n        get: sharedGet,\n\n        set: sharedSet,\n\n        keys: sharedKeys,\n\n        values: sharedValues,\n\n        entries: mapEntries,\n\n        forEach: sharedForEach,\n\n        clear: sharedClear\n      }, _createCollection[Symbol.iterator] = mapEntries, _createCollection));\n    }\n\n    if (typeof Set == 'undefined' || typeof new Set().values !== 'function' || !new Set().values().next) {\n      var _createCollection2;\n\n      global.Set = createCollection((_createCollection2 = {\n        has: setHas,\n\n        add: sharedAdd,\n\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        keys: sharedValues,\n        values: sharedValues,\n\n        entries: setEntries,\n\n        forEach: sharedForEach\n      }, _createCollection2[Symbol.iterator] = sharedValues, _createCollection2));\n    }\n\n    if (typeof WeakSet == 'undefined') {\n      global.WeakSet = createCollection({\n        'delete': sharedDelete,\n\n        add: sharedAdd,\n\n        clear: sharedClear,\n\n        has: setHas\n      }, true);\n    }\n\n    function createCollection(proto, objectOnly) {\n      function Collection(a) {\n        if (!this || this.constructor !== Collection) return new Collection(a);\n        this._keys = [];\n        this._values = [];\n        this._itp = [];\n        this.objectOnly = objectOnly;\n\n        if (a) init.call(this, a);\n      }\n\n      if (!objectOnly) {\n        defineProperty(proto, 'size', {\n          get: sharedSize\n        });\n      }\n\n      proto.constructor = Collection;\n      Collection.prototype = proto;\n\n      return Collection;\n    }\n\n    function init(a) {\n      var i;\n\n      if (this.add) a.forEach(this.add, this);else a.forEach(function (a) {\n          this.set(a[0], a[1]);\n        }, this);\n    }\n\n    function sharedDelete(key) {\n      if (this.has(key)) {\n        this._keys.splice(i, 1);\n        this._values.splice(i, 1);\n\n        this._itp.forEach(function (p) {\n          if (i < p[0]) p[0]--;\n        });\n      }\n\n      return -1 < i;\n    };\n\n    function sharedGet(key) {\n      return this.has(key) ? this._values[i] : undefined;\n    }\n\n    function has(list, key) {\n      if (this.objectOnly && key !== Object(key)) throw new TypeError(\"Invalid value used as weak collection key\");\n\n      if (key != key || key === 0) for (i = list.length; i-- && !is(list[i], key);) {} else i = list.indexOf(key);\n      return -1 < i;\n    }\n\n    function setHas(value) {\n      return has.call(this, this._values, value);\n    }\n\n    function mapHas(value) {\n      return has.call(this, this._keys, value);\n    }\n\n    function sharedSet(key, value) {\n      this.has(key) ? this._values[i] = value : this._values[this._keys.push(key) - 1] = value;\n      return this;\n    }\n\n    function sharedAdd(value) {\n      if (!this.has(value)) this._values.push(value);\n      return this;\n    }\n\n    function sharedClear() {\n      (this._keys || 0).length = this._values.length = 0;\n    }\n\n    function sharedKeys() {\n      return sharedIterator(this._itp, this._keys);\n    }\n\n    function sharedValues() {\n      return sharedIterator(this._itp, this._values);\n    }\n\n    function mapEntries() {\n      return sharedIterator(this._itp, this._keys, this._values);\n    }\n\n    function setEntries() {\n      return sharedIterator(this._itp, this._values, this._values);\n    }\n\n    function sharedIterator(itp, array, array2) {\n      var _ref;\n\n      var p = [0],\n          done = false;\n      itp.push(p);\n      return _ref = {}, _ref[Symbol.iterator] = function () {\n        return this;\n      }, _ref.next = function next() {\n        var v,\n            k = p[0];\n        if (!done && k < array.length) {\n          v = array2 ? [array[k], array2[k]] : array[k];\n          p[0]++;\n        } else {\n          done = true;\n          itp.splice(itp.indexOf(p), 1);\n        }\n        return { done: done, value: v };\n      }, _ref;\n    }\n\n    function sharedSize() {\n      return this._values.length;\n    }\n\n    function sharedForEach(callback, context) {\n      var it = this.entries();\n      for (;;) {\n        var r = it.next();\n        if (r.done) break;\n        callback.call(context, r.value[1], r.value[0], this);\n      }\n    }\n  })(PLATFORM.global);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  var bind = Function.prototype.bind;\n\n  if (typeof PLATFORM.global.Reflect === 'undefined') {\n    PLATFORM.global.Reflect = {};\n  }\n\n  if (typeof Reflect.defineProperty !== 'function') {\n    Reflect.defineProperty = function (target, propertyKey, descriptor) {\n      if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' ? target === null : typeof target !== 'function') {\n        throw new TypeError('Reflect.defineProperty called on non-object');\n      }\n      try {\n        Object.defineProperty(target, propertyKey, descriptor);\n        return true;\n      } catch (e) {\n        return false;\n      }\n    };\n  }\n\n  if (typeof Reflect.construct !== 'function') {\n    Reflect.construct = function (Target, args) {\n      if (args) {\n        switch (args.length) {\n          case 0:\n            return new Target();\n          case 1:\n            return new Target(args[0]);\n          case 2:\n            return new Target(args[0], args[1]);\n          case 3:\n            return new Target(args[0], args[1], args[2]);\n          case 4:\n            return new Target(args[0], args[1], args[2], args[3]);\n        }\n      }\n\n      var a = [null];\n      a.push.apply(a, args);\n      return new (bind.apply(Target, a))();\n    };\n  }\n\n  if (typeof Reflect.ownKeys !== 'function') {\n    Reflect.ownKeys = function (o) {\n      return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o));\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ESNEXT === 'undefined') {\n\n  var emptyMetadata = Object.freeze({});\n  var metadataContainerKey = '__metadata__';\n\n  if (typeof Reflect.getOwnMetadata !== 'function') {\n    Reflect.getOwnMetadata = function (metadataKey, target, targetKey) {\n      if (target.hasOwnProperty(metadataContainerKey)) {\n        return (target[metadataContainerKey][targetKey] || emptyMetadata)[metadataKey];\n      }\n    };\n  }\n\n  if (typeof Reflect.defineMetadata !== 'function') {\n    Reflect.defineMetadata = function (metadataKey, metadataValue, target, targetKey) {\n      var metadataContainer = target.hasOwnProperty(metadataContainerKey) ? target[metadataContainerKey] : target[metadataContainerKey] = {};\n      var targetContainer = metadataContainer[targetKey] || (metadataContainer[targetKey] = {});\n      targetContainer[metadataKey] = metadataValue;\n    };\n  }\n\n  if (typeof Reflect.metadata !== 'function') {\n    Reflect.metadata = function (metadataKey, metadataValue) {\n      return function (target, targetKey) {\n        Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n      };\n    };\n  }\n}","\n\nimport { buildQueryString, parseQueryString } from 'aurelia-path';\n\nexport var State = function () {\n  function State(charSpec) {\n    \n\n    this.charSpec = charSpec;\n    this.nextStates = [];\n  }\n\n  State.prototype.get = function get(charSpec) {\n    for (var _iterator = this.nextStates, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var child = _ref;\n\n      var isEqual = child.charSpec.validChars === charSpec.validChars && child.charSpec.invalidChars === charSpec.invalidChars;\n\n      if (isEqual) {\n        return child;\n      }\n    }\n\n    return undefined;\n  };\n\n  State.prototype.put = function put(charSpec) {\n    var state = this.get(charSpec);\n\n    if (state) {\n      return state;\n    }\n\n    state = new State(charSpec);\n\n    this.nextStates.push(state);\n\n    if (charSpec.repeat) {\n      state.nextStates.push(state);\n    }\n\n    return state;\n  };\n\n  State.prototype.match = function match(ch) {\n    var nextStates = this.nextStates;\n    var results = [];\n\n    for (var i = 0, l = nextStates.length; i < l; i++) {\n      var child = nextStates[i];\n      var charSpec = child.charSpec;\n\n      if (charSpec.validChars !== undefined) {\n        if (charSpec.validChars.indexOf(ch) !== -1) {\n          results.push(child);\n        }\n      } else if (charSpec.invalidChars !== undefined) {\n        if (charSpec.invalidChars.indexOf(ch) === -1) {\n          results.push(child);\n        }\n      }\n    }\n\n    return results;\n  };\n\n  return State;\n}();\n\nvar specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\\\'];\n\nvar escapeRegex = new RegExp('(\\\\' + specials.join('|\\\\') + ')', 'g');\n\nexport var StaticSegment = function () {\n  function StaticSegment(string, caseSensitive) {\n    \n\n    this.string = string;\n    this.caseSensitive = caseSensitive;\n  }\n\n  StaticSegment.prototype.eachChar = function eachChar(callback) {\n    var s = this.string;\n    for (var i = 0, ii = s.length; i < ii; ++i) {\n      var ch = s[i];\n      callback({ validChars: this.caseSensitive ? ch : ch.toUpperCase() + ch.toLowerCase() });\n    }\n  };\n\n  StaticSegment.prototype.regex = function regex() {\n    return this.string.replace(escapeRegex, '\\\\$1');\n  };\n\n  StaticSegment.prototype.generate = function generate() {\n    return this.string;\n  };\n\n  return StaticSegment;\n}();\n\nexport var DynamicSegment = function () {\n  function DynamicSegment(name, optional) {\n    \n\n    this.name = name;\n    this.optional = optional;\n  }\n\n  DynamicSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '/', repeat: true });\n  };\n\n  DynamicSegment.prototype.regex = function regex() {\n    return '([^/]+)';\n  };\n\n  DynamicSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return DynamicSegment;\n}();\n\nexport var StarSegment = function () {\n  function StarSegment(name) {\n    \n\n    this.name = name;\n  }\n\n  StarSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '', repeat: true });\n  };\n\n  StarSegment.prototype.regex = function regex() {\n    return '(.+)';\n  };\n\n  StarSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return StarSegment;\n}();\n\nexport var EpsilonSegment = function () {\n  function EpsilonSegment() {\n    \n  }\n\n  EpsilonSegment.prototype.eachChar = function eachChar() {};\n\n  EpsilonSegment.prototype.regex = function regex() {\n    return '';\n  };\n\n  EpsilonSegment.prototype.generate = function generate() {\n    return '';\n  };\n\n  return EpsilonSegment;\n}();\n\nexport var RouteRecognizer = function () {\n  function RouteRecognizer() {\n    \n\n    this.rootState = new State();\n    this.names = {};\n    this.routes = new Map();\n  }\n\n  RouteRecognizer.prototype.add = function add(route) {\n    var _this = this;\n\n    if (Array.isArray(route)) {\n      route.forEach(function (r) {\n        return _this.add(r);\n      });\n      return undefined;\n    }\n\n    var currentState = this.rootState;\n    var skippableStates = [];\n    var regex = '^';\n    var types = { statics: 0, dynamics: 0, stars: 0 };\n    var names = [];\n    var routeName = route.handler.name;\n    var isEmpty = true;\n    var segments = parse(route.path, names, types, route.caseSensitive);\n\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      var segment = segments[i];\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var _addSegment = addSegment(currentState, segment),\n          firstState = _addSegment[0],\n          nextState = _addSegment[1];\n\n      for (var j = 0, jj = skippableStates.length; j < jj; j++) {\n        skippableStates[j].nextStates.push(firstState);\n      }\n\n      if (segment.optional) {\n        skippableStates.push(nextState);\n        regex += '(?:/' + segment.regex() + ')?';\n      } else {\n        currentState = nextState;\n        regex += '/' + segment.regex();\n        skippableStates.length = 0;\n        isEmpty = false;\n      }\n    }\n\n    if (isEmpty) {\n      currentState = currentState.put({ validChars: '/' });\n      regex += '/?';\n    }\n\n    var handlers = [{ handler: route.handler, names: names }];\n\n    this.routes.set(route.handler, { segments: segments, handlers: handlers });\n    if (routeName) {\n      var routeNames = Array.isArray(routeName) ? routeName : [routeName];\n      for (var _i2 = 0; _i2 < routeNames.length; _i2++) {\n        if (!(routeNames[_i2] in this.names)) {\n          this.names[routeNames[_i2]] = { segments: segments, handlers: handlers };\n        }\n      }\n    }\n\n    for (var _i3 = 0; _i3 < skippableStates.length; _i3++) {\n      var state = skippableStates[_i3];\n      state.handlers = handlers;\n      state.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n      state.types = types;\n    }\n\n    currentState.handlers = handlers;\n    currentState.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n    currentState.types = types;\n\n    return currentState;\n  };\n\n  RouteRecognizer.prototype.getRoute = function getRoute(nameOrRoute) {\n    return typeof nameOrRoute === 'string' ? this.names[nameOrRoute] : this.routes.get(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.handlersFor = function handlersFor(nameOrRoute) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    return [].concat(route.handlers);\n  };\n\n  RouteRecognizer.prototype.hasRoute = function hasRoute(nameOrRoute) {\n    return !!this.getRoute(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.generate = function generate(nameOrRoute, params) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    var handler = route.handlers[0].handler;\n    if (handler.generationUsesHref) {\n      return handler.href;\n    }\n\n    var routeParams = Object.assign({}, params);\n    var segments = route.segments;\n    var consumed = {};\n    var output = '';\n\n    for (var i = 0, l = segments.length; i < l; i++) {\n      var segment = segments[i];\n\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var segmentValue = segment.generate(routeParams, consumed);\n      if (segmentValue === null || segmentValue === undefined) {\n        if (!segment.optional) {\n          throw new Error('A value is required for route parameter \\'' + segment.name + '\\' in route \\'' + nameOrRoute + '\\'.');\n        }\n      } else {\n        output += '/';\n        output += segmentValue;\n      }\n    }\n\n    if (output.charAt(0) !== '/') {\n      output = '/' + output;\n    }\n\n    for (var param in consumed) {\n      delete routeParams[param];\n    }\n\n    var queryString = buildQueryString(routeParams);\n    output += queryString ? '?' + queryString : '';\n\n    return output;\n  };\n\n  RouteRecognizer.prototype.recognize = function recognize(path) {\n    var states = [this.rootState];\n    var queryParams = {};\n    var isSlashDropped = false;\n    var normalizedPath = path;\n\n    var queryStart = normalizedPath.indexOf('?');\n    if (queryStart !== -1) {\n      var queryString = normalizedPath.substr(queryStart + 1, normalizedPath.length);\n      normalizedPath = normalizedPath.substr(0, queryStart);\n      queryParams = parseQueryString(queryString);\n    }\n\n    normalizedPath = decodeURI(normalizedPath);\n\n    if (normalizedPath.charAt(0) !== '/') {\n      normalizedPath = '/' + normalizedPath;\n    }\n\n    var pathLen = normalizedPath.length;\n    if (pathLen > 1 && normalizedPath.charAt(pathLen - 1) === '/') {\n      normalizedPath = normalizedPath.substr(0, pathLen - 1);\n      isSlashDropped = true;\n    }\n\n    for (var i = 0, l = normalizedPath.length; i < l; i++) {\n      states = recognizeChar(states, normalizedPath.charAt(i));\n      if (!states.length) {\n        break;\n      }\n    }\n\n    var solutions = [];\n    for (var _i4 = 0, _l = states.length; _i4 < _l; _i4++) {\n      if (states[_i4].handlers) {\n        solutions.push(states[_i4]);\n      }\n    }\n\n    states = sortSolutions(solutions);\n\n    var state = solutions[0];\n    if (state && state.handlers) {\n      if (isSlashDropped && state.regex.source.slice(-5) === '(.+)$') {\n        normalizedPath = normalizedPath + '/';\n      }\n\n      return findHandler(state, normalizedPath, queryParams);\n    }\n  };\n\n  return RouteRecognizer;\n}();\n\nvar RecognizeResults = function RecognizeResults(queryParams) {\n  \n\n  this.splice = Array.prototype.splice;\n  this.slice = Array.prototype.slice;\n  this.push = Array.prototype.push;\n  this.length = 0;\n  this.queryParams = queryParams || {};\n};\n\nfunction parse(route, names, types, caseSensitive) {\n  var normalizedRoute = route;\n  if (route.charAt(0) === '/') {\n    normalizedRoute = route.substr(1);\n  }\n\n  var results = [];\n\n  var splitRoute = normalizedRoute.split('/');\n  for (var i = 0, ii = splitRoute.length; i < ii; ++i) {\n    var segment = splitRoute[i];\n\n    var match = segment.match(/^:([^?]+)(\\?)?$/);\n    if (match) {\n      var _match = match,\n          _name = _match[1],\n          optional = _match[2];\n\n      if (_name.indexOf('=') !== -1) {\n        throw new Error('Parameter ' + _name + ' in route ' + route + ' has a default value, which is not supported.');\n      }\n      results.push(new DynamicSegment(_name, !!optional));\n      names.push(_name);\n      types.dynamics++;\n      continue;\n    }\n\n    match = segment.match(/^\\*(.+)$/);\n    if (match) {\n      results.push(new StarSegment(match[1]));\n      names.push(match[1]);\n      types.stars++;\n    } else if (segment === '') {\n      results.push(new EpsilonSegment());\n    } else {\n      results.push(new StaticSegment(segment, caseSensitive));\n      types.statics++;\n    }\n  }\n\n  return results;\n}\n\nfunction sortSolutions(states) {\n  return states.sort(function (a, b) {\n    if (a.types.stars !== b.types.stars) {\n      return a.types.stars - b.types.stars;\n    }\n\n    if (a.types.stars) {\n      if (a.types.statics !== b.types.statics) {\n        return b.types.statics - a.types.statics;\n      }\n      if (a.types.dynamics !== b.types.dynamics) {\n        return b.types.dynamics - a.types.dynamics;\n      }\n    }\n\n    if (a.types.dynamics !== b.types.dynamics) {\n      return a.types.dynamics - b.types.dynamics;\n    }\n\n    if (a.types.statics !== b.types.statics) {\n      return b.types.statics - a.types.statics;\n    }\n\n    return 0;\n  });\n}\n\nfunction recognizeChar(states, ch) {\n  var nextStates = [];\n\n  for (var i = 0, l = states.length; i < l; i++) {\n    var state = states[i];\n    nextStates.push.apply(nextStates, state.match(ch));\n  }\n\n  return nextStates;\n}\n\nfunction findHandler(state, path, queryParams) {\n  var handlers = state.handlers;\n  var regex = state.regex;\n  var captures = path.match(regex);\n  var currentCapture = 1;\n  var result = new RecognizeResults(queryParams);\n\n  for (var i = 0, l = handlers.length; i < l; i++) {\n    var _handler = handlers[i];\n    var _names = _handler.names;\n    var _params = {};\n\n    for (var j = 0, m = _names.length; j < m; j++) {\n      _params[_names[j]] = captures[currentCapture++];\n    }\n\n    result.push({ handler: _handler.handler, params: _params, isDynamic: !!_names.length });\n  }\n\n  return result;\n}\n\nfunction addSegment(currentState, segment) {\n  var firstState = currentState.put({ validChars: '/' });\n  var nextState = firstState;\n  segment.eachChar(function (ch) {\n    nextState = nextState.put(ch);\n  });\n\n  return [firstState, nextState];\n}","import { getLogger } from 'aurelia-logging';\nimport { Container } from 'aurelia-dependency-injection';\nimport { History } from 'aurelia-history';\nimport { RouteRecognizer } from 'aurelia-route-recognizer';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\n/**\r\n * Class used to represent an instruction during a navigation.\r\n */\r\nvar NavigationInstruction = /** @class */ (function () {\r\n    function NavigationInstruction(init) {\r\n        /**\r\n         * Current built viewport plan of this nav instruction\r\n         */\r\n        this.plan = null;\r\n        this.options = {};\r\n        Object.assign(this, init);\r\n        this.params = this.params || {};\r\n        this.viewPortInstructions = {};\r\n        var ancestorParams = [];\r\n        var current = this;\r\n        do {\r\n            var currentParams = Object.assign({}, current.params);\r\n            if (current.config && current.config.hasChildRouter) {\r\n                // remove the param for the injected child route segment\r\n                delete currentParams[current.getWildCardName()];\r\n            }\r\n            ancestorParams.unshift(currentParams);\r\n            current = current.parentInstruction;\r\n        } while (current);\r\n        var allParams = Object.assign.apply(Object, [{}, this.queryParams].concat(ancestorParams));\r\n        this.lifecycleArgs = [allParams, this.config, this];\r\n    }\r\n    /**\r\n     * Gets an array containing this instruction and all child instructions for the current navigation.\r\n     */\r\n    NavigationInstruction.prototype.getAllInstructions = function () {\r\n        var instructions = [this];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        for (var key in viewPortInstructions) {\r\n            var childInstruction = viewPortInstructions[key].childNavigationInstruction;\r\n            if (childInstruction) {\r\n                instructions.push.apply(instructions, childInstruction.getAllInstructions());\r\n            }\r\n        }\r\n        return instructions;\r\n    };\r\n    /**\r\n     * Gets an array containing the instruction and all child instructions for the previous navigation.\r\n     * Previous instructions are no longer available after navigation completes.\r\n     */\r\n    NavigationInstruction.prototype.getAllPreviousInstructions = function () {\r\n        return this.getAllInstructions().map(function (c) { return c.previousInstruction; }).filter(function (c) { return c; });\r\n    };\r\n    NavigationInstruction.prototype.addViewPortInstruction = function (nameOrInitOptions, strategy, moduleId, component) {\r\n        var viewPortInstruction;\r\n        var viewPortName = typeof nameOrInitOptions === 'string' ? nameOrInitOptions : nameOrInitOptions.name;\r\n        var lifecycleArgs = this.lifecycleArgs;\r\n        var config = Object.assign({}, lifecycleArgs[1], { currentViewPort: viewPortName });\r\n        if (typeof nameOrInitOptions === 'string') {\r\n            viewPortInstruction = {\r\n                name: nameOrInitOptions,\r\n                strategy: strategy,\r\n                moduleId: moduleId,\r\n                component: component,\r\n                childRouter: component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        else {\r\n            viewPortInstruction = {\r\n                name: viewPortName,\r\n                strategy: nameOrInitOptions.strategy,\r\n                component: nameOrInitOptions.component,\r\n                moduleId: nameOrInitOptions.moduleId,\r\n                childRouter: nameOrInitOptions.component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        return this.viewPortInstructions[viewPortName] = viewPortInstruction;\r\n    };\r\n    /**\r\n     * Gets the name of the route pattern's wildcard parameter, if applicable.\r\n     */\r\n    NavigationInstruction.prototype.getWildCardName = function () {\r\n        // todo: potential issue, or at least unsafe typings\r\n        var configRoute = this.config.route;\r\n        var wildcardIndex = configRoute.lastIndexOf('*');\r\n        return configRoute.substr(wildcardIndex + 1);\r\n    };\r\n    /**\r\n     * Gets the path and query string created by filling the route\r\n     * pattern's wildcard parameter with the matching param.\r\n     */\r\n    NavigationInstruction.prototype.getWildcardPath = function () {\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        var queryString = this.queryString;\r\n        if (queryString) {\r\n            path += '?' + queryString;\r\n        }\r\n        return path;\r\n    };\r\n    /**\r\n     * Gets the instruction's base URL, accounting for wildcard route parameters.\r\n     */\r\n    NavigationInstruction.prototype.getBaseUrl = function () {\r\n        var _this = this;\r\n        var $encodeURI = encodeURI;\r\n        var fragment = decodeURI(this.fragment);\r\n        if (fragment === '') {\r\n            var nonEmptyRoute = this.router.routes.find(function (route) {\r\n                return route.name === _this.config.name &&\r\n                    route.route !== '';\r\n            });\r\n            if (nonEmptyRoute) {\r\n                fragment = nonEmptyRoute.route;\r\n            }\r\n        }\r\n        if (!this.params) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        if (!path) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        return $encodeURI(fragment.substr(0, fragment.lastIndexOf(path)));\r\n    };\r\n    /**\r\n     * Finalize a viewport instruction\r\n     * @internal\r\n     */\r\n    NavigationInstruction.prototype._commitChanges = function (waitToSwap) {\r\n        var _this = this;\r\n        var router = this.router;\r\n        router.currentInstruction = this;\r\n        var previousInstruction = this.previousInstruction;\r\n        if (previousInstruction) {\r\n            previousInstruction.config.navModel.isActive = false;\r\n        }\r\n        this.config.navModel.isActive = true;\r\n        router.refreshNavigation();\r\n        var loads = [];\r\n        var delaySwaps = [];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        var _loop_1 = function (viewPortName) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var viewPort = router.viewPorts[viewPortName];\r\n            if (!viewPort) {\r\n                throw new Error(\"There was no router-view found in the view for \" + viewPortInstruction.moduleId + \".\");\r\n            }\r\n            var childNavInstruction = viewPortInstruction.childNavigationInstruction;\r\n            if (viewPortInstruction.strategy === \"replace\" /* Replace */) {\r\n                if (childNavInstruction && childNavInstruction.parentCatchHandler) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n                else {\r\n                    if (waitToSwap) {\r\n                        delaySwaps.push({ viewPort: viewPort, viewPortInstruction: viewPortInstruction });\r\n                    }\r\n                    loads.push(viewPort\r\n                        .process(viewPortInstruction, waitToSwap)\r\n                        .then(function () { return childNavInstruction\r\n                        ? childNavInstruction._commitChanges(waitToSwap)\r\n                        : Promise.resolve(); }));\r\n                }\r\n            }\r\n            else {\r\n                if (childNavInstruction) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n            }\r\n        };\r\n        for (var viewPortName in viewPortInstructions) {\r\n            _loop_1(viewPortName);\r\n        }\r\n        return Promise\r\n            .all(loads)\r\n            .then(function () {\r\n            delaySwaps.forEach(function (x) { return x.viewPort.swap(x.viewPortInstruction); });\r\n            return null;\r\n        })\r\n            .then(function () { return prune(_this); });\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._updateTitle = function () {\r\n        var router = this.router;\r\n        var title = this._buildTitle(router.titleSeparator);\r\n        if (title) {\r\n            router.history.setTitle(title);\r\n        }\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._buildTitle = function (separator) {\r\n        if (separator === void 0) { separator = ' | '; }\r\n        var title = '';\r\n        var childTitles = [];\r\n        var navModelTitle = this.config.navModel.title;\r\n        var instructionRouter = this.router;\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        if (navModelTitle) {\r\n            title = instructionRouter.transformTitle(navModelTitle);\r\n        }\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var child_nav_instruction = viewPortInstruction.childNavigationInstruction;\r\n            if (child_nav_instruction) {\r\n                var childTitle = child_nav_instruction._buildTitle(separator);\r\n                if (childTitle) {\r\n                    childTitles.push(childTitle);\r\n                }\r\n            }\r\n        }\r\n        if (childTitles.length) {\r\n            title = childTitles.join(separator) + (title ? separator : '') + title;\r\n        }\r\n        if (instructionRouter.title) {\r\n            title += (title ? separator : '') + instructionRouter.transformTitle(instructionRouter.title);\r\n        }\r\n        return title;\r\n    };\r\n    return NavigationInstruction;\r\n}());\r\nvar prune = function (instruction) {\r\n    instruction.previousInstruction = null;\r\n    instruction.plan = null;\r\n};\n\n/**\r\n* Class for storing and interacting with a route's navigation settings.\r\n*/\r\nvar NavModel = /** @class */ (function () {\r\n    function NavModel(router, relativeHref) {\r\n        /**\r\n        * True if this nav item is currently active.\r\n        */\r\n        this.isActive = false;\r\n        /**\r\n        * The title.\r\n        */\r\n        this.title = null;\r\n        /**\r\n        * This nav item's absolute href.\r\n        */\r\n        this.href = null;\r\n        /**\r\n        * This nav item's relative href.\r\n        */\r\n        this.relativeHref = null;\r\n        /**\r\n        * Data attached to the route at configuration time.\r\n        */\r\n        this.settings = {};\r\n        /**\r\n        * The route config.\r\n        */\r\n        this.config = null;\r\n        this.router = router;\r\n        this.relativeHref = relativeHref;\r\n    }\r\n    /**\r\n    * Sets the route's title and updates document.title.\r\n    *  If the a navigation is in progress, the change will be applied\r\n    *  to document.title when the navigation completes.\r\n    *\r\n    * @param title The new title.\r\n    */\r\n    NavModel.prototype.setTitle = function (title) {\r\n        this.title = title;\r\n        if (this.isActive) {\r\n            this.router.updateTitle();\r\n        }\r\n    };\r\n    return NavModel;\r\n}());\n\nfunction _normalizeAbsolutePath(path, hasPushState, absolute) {\r\n    if (absolute === void 0) { absolute = false; }\r\n    if (!hasPushState && path[0] !== '#') {\r\n        path = '#' + path;\r\n    }\r\n    if (hasPushState && absolute) {\r\n        path = path.substring(1, path.length);\r\n    }\r\n    return path;\r\n}\r\nfunction _createRootedPath(fragment, baseUrl, hasPushState, absolute) {\r\n    if (isAbsoluteUrl.test(fragment)) {\r\n        return fragment;\r\n    }\r\n    var path = '';\r\n    if (baseUrl.length && baseUrl[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    path += baseUrl;\r\n    if ((!path.length || path[path.length - 1] !== '/') && fragment[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    if (path.length && path[path.length - 1] === '/' && fragment[0] === '/') {\r\n        path = path.substring(0, path.length - 1);\r\n    }\r\n    return _normalizeAbsolutePath(path + fragment, hasPushState, absolute);\r\n}\r\nfunction _resolveUrl(fragment, baseUrl, hasPushState) {\r\n    if (isRootedPath.test(fragment)) {\r\n        return _normalizeAbsolutePath(fragment, hasPushState);\r\n    }\r\n    return _createRootedPath(fragment, baseUrl, hasPushState);\r\n}\r\nfunction _ensureArrayWithSingleRoutePerConfig(config) {\r\n    var routeConfigs = [];\r\n    if (Array.isArray(config.route)) {\r\n        for (var i = 0, ii = config.route.length; i < ii; ++i) {\r\n            var current = Object.assign({}, config);\r\n            current.route = config.route[i];\r\n            routeConfigs.push(current);\r\n        }\r\n    }\r\n    else {\r\n        routeConfigs.push(Object.assign({}, config));\r\n    }\r\n    return routeConfigs;\r\n}\r\nvar isRootedPath = /^#?\\//;\r\nvar isAbsoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n\n/**\r\n * Class used to configure a [[Router]] instance.\r\n *\r\n * @constructor\r\n */\r\nvar RouterConfiguration = /** @class */ (function () {\r\n    function RouterConfiguration() {\r\n        this.instructions = [];\r\n        this.options = {};\r\n        this.pipelineSteps = [];\r\n    }\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s navigation pipeline.\r\n     *\r\n     * @param name The name of the pipeline slot to insert the step into.\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPipelineStep = function (name, step) {\r\n        if (step === null || step === undefined) {\r\n            throw new Error('Pipeline step cannot be null or undefined.');\r\n        }\r\n        this.pipelineSteps.push({ name: name, step: step });\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s authorize pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addAuthorizeStep = function (step) {\r\n        return this.addPipelineStep(\"authorize\" /* Authorize */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preActivate pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreActivateStep = function (step) {\r\n        return this.addPipelineStep(\"preActivate\" /* PreActivate */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreRenderStep = function (step) {\r\n        return this.addPipelineStep(\"preRender\" /* PreRender */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s postRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPostRenderStep = function (step) {\r\n        return this.addPipelineStep(\"postRender\" /* PostRender */, step);\r\n    };\r\n    /**\r\n     * Configures a route that will be used if there is no previous location available on navigation cancellation.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.fallbackRoute = function (fragment) {\r\n        this._fallbackRoute = fragment;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps one or more routes to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map, or an array of [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.map = function (route) {\r\n        var _this = this;\r\n        if (Array.isArray(route)) {\r\n            route.forEach(function (r) { return _this.map(r); });\r\n            return this;\r\n        }\r\n        return this.mapRoute(route);\r\n    };\r\n    /**\r\n     * Configures defaults to use for any view ports.\r\n     *\r\n     * @param viewPortConfig a view port configuration object to use as a\r\n     *  default, of the form { viewPortName: { moduleId } }.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.useViewPortDefaults = function (viewPortConfig) {\r\n        this.viewPortDefaults = viewPortConfig;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps a single route to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapRoute = function (config) {\r\n        this.instructions.push(function (router) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            var navModel;\r\n            for (var i = 0, ii = routeConfigs.length; i < ii; ++i) {\r\n                var routeConfig = routeConfigs[i];\r\n                routeConfig.settings = routeConfig.settings || {};\r\n                if (!navModel) {\r\n                    navModel = router.createNavModel(routeConfig);\r\n                }\r\n                router.addRoute(routeConfig, navModel);\r\n            }\r\n        });\r\n        return this;\r\n    };\r\n    /**\r\n     * Registers an unknown route handler to be run when the URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config A string containing a moduleId to load, or a [[RouteConfig]], or a function that takes the\r\n     *  [[NavigationInstruction]] and selects a moduleId to load.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapUnknownRoutes = function (config) {\r\n        this.unknownRouteConfig = config;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies the current configuration to the specified [[Router]].\r\n     *\r\n     * @param router The [[Router]] to apply the configuration to.\r\n     */\r\n    RouterConfiguration.prototype.exportToRouter = function (router) {\r\n        var instructions = this.instructions;\r\n        for (var i = 0, ii = instructions.length; i < ii; ++i) {\r\n            instructions[i](router);\r\n        }\r\n        var _a = this, title = _a.title, titleSeparator = _a.titleSeparator, unknownRouteConfig = _a.unknownRouteConfig, _fallbackRoute = _a._fallbackRoute, viewPortDefaults = _a.viewPortDefaults;\r\n        if (title) {\r\n            router.title = title;\r\n        }\r\n        if (titleSeparator) {\r\n            router.titleSeparator = titleSeparator;\r\n        }\r\n        if (unknownRouteConfig) {\r\n            router.handleUnknownRoutes(unknownRouteConfig);\r\n        }\r\n        if (_fallbackRoute) {\r\n            router.fallbackRoute = _fallbackRoute;\r\n        }\r\n        if (viewPortDefaults) {\r\n            router.useViewPortDefaults(viewPortDefaults);\r\n        }\r\n        Object.assign(router.options, this.options);\r\n        var pipelineSteps = this.pipelineSteps;\r\n        var pipelineStepCount = pipelineSteps.length;\r\n        if (pipelineStepCount) {\r\n            if (!router.isRoot) {\r\n                throw new Error('Pipeline steps can only be added to the root router');\r\n            }\r\n            var pipelineProvider = router.pipelineProvider;\r\n            for (var i = 0, ii = pipelineStepCount; i < ii; ++i) {\r\n                var _b = pipelineSteps[i], name_1 = _b.name, step = _b.step;\r\n                pipelineProvider.addStep(name_1, step);\r\n            }\r\n        }\r\n    };\r\n    return RouterConfiguration;\r\n}());\n\n/**\r\n * The primary class responsible for handling routing and navigation.\r\n */\r\nvar Router = /** @class */ (function () {\r\n    /**\r\n     * @param container The [[Container]] to use when child routers.\r\n     * @param history The [[History]] implementation to delegate navigation requests to.\r\n     */\r\n    function Router(container, history) {\r\n        var _this = this;\r\n        /**\r\n         * The parent router, or null if this instance is not a child router.\r\n         */\r\n        this.parent = null;\r\n        this.options = {};\r\n        /**\r\n         * The defaults used when a viewport lacks specified content\r\n         */\r\n        this.viewPortDefaults = {};\r\n        /**\r\n         * Extension point to transform the document title before it is built and displayed.\r\n         * By default, child routers delegate to the parent router, and the app router\r\n         * returns the title unchanged.\r\n         */\r\n        this.transformTitle = function (title) {\r\n            if (_this.parent) {\r\n                return _this.parent.transformTitle(title);\r\n            }\r\n            return title;\r\n        };\r\n        this.container = container;\r\n        this.history = history;\r\n        this.reset();\r\n    }\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    Router.prototype.reset = function () {\r\n        var _this = this;\r\n        this.viewPorts = {};\r\n        this.routes = [];\r\n        this.baseUrl = '';\r\n        this.isConfigured = false;\r\n        this.isNavigating = false;\r\n        this.isExplicitNavigation = false;\r\n        this.isExplicitNavigationBack = false;\r\n        this.isNavigatingFirst = false;\r\n        this.isNavigatingNew = false;\r\n        this.isNavigatingRefresh = false;\r\n        this.isNavigatingForward = false;\r\n        this.isNavigatingBack = false;\r\n        this.couldDeactivate = false;\r\n        this.navigation = [];\r\n        this.currentInstruction = null;\r\n        this.viewPortDefaults = {};\r\n        this._fallbackOrder = 100;\r\n        this._recognizer = new RouteRecognizer();\r\n        this._childRecognizer = new RouteRecognizer();\r\n        this._configuredPromise = new Promise(function (resolve) {\r\n            _this._resolveConfiguredPromise = resolve;\r\n        });\r\n    };\r\n    Object.defineProperty(Router.prototype, \"isRoot\", {\r\n        /**\r\n         * Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent.\r\n         */\r\n        get: function () {\r\n            return !this.parent;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort.\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    Router.prototype.registerViewPort = function (viewPort, name) {\r\n        name = name || 'default';\r\n        this.viewPorts[name] = viewPort;\r\n    };\r\n    /**\r\n     * Returns a Promise that resolves when the router is configured.\r\n     */\r\n    Router.prototype.ensureConfigured = function () {\r\n        return this._configuredPromise;\r\n    };\r\n    /**\r\n     * Configures the router.\r\n     *\r\n     * @param callbackOrConfig The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\r\n     */\r\n    Router.prototype.configure = function (callbackOrConfig) {\r\n        var _this = this;\r\n        this.isConfigured = true;\r\n        var result = callbackOrConfig;\r\n        var config;\r\n        if (typeof callbackOrConfig === 'function') {\r\n            config = new RouterConfiguration();\r\n            result = callbackOrConfig(config);\r\n        }\r\n        return Promise\r\n            .resolve(result)\r\n            .then(function (c) {\r\n            if (c && c.exportToRouter) {\r\n                config = c;\r\n            }\r\n            config.exportToRouter(_this);\r\n            _this.isConfigured = true;\r\n            _this._resolveConfiguredPromise();\r\n        });\r\n    };\r\n    /**\r\n     * Navigates to a new location.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigate = function (fragment, options) {\r\n        if (!this.isConfigured && this.parent) {\r\n            return this.parent.navigate(fragment, options);\r\n        }\r\n        this.isExplicitNavigation = true;\r\n        return this.history.navigate(_resolveUrl(fragment, this.baseUrl, this.history._hasPushState), options);\r\n    };\r\n    /**\r\n     * Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\r\n     * by [[Router.navigate]].\r\n     *\r\n     * @param route The name of the route to use when generating the navigation location.\r\n     * @param params The route parameters to be used when populating the route pattern.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigateToRoute = function (route, params, options) {\r\n        var path = this.generate(route, params);\r\n        return this.navigate(path, options);\r\n    };\r\n    /**\r\n     * Navigates back to the most recent location in history.\r\n     */\r\n    Router.prototype.navigateBack = function () {\r\n        this.isExplicitNavigationBack = true;\r\n        this.history.navigateBack();\r\n    };\r\n    /**\r\n     * Creates a child router of the current router.\r\n     *\r\n     * @param container The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified.\r\n     * @returns {Router} The new child Router.\r\n     */\r\n    Router.prototype.createChild = function (container) {\r\n        var childRouter = new Router(container || this.container.createChild(), this.history);\r\n        childRouter.parent = this;\r\n        return childRouter;\r\n    };\r\n    /**\r\n     * Generates a URL fragment matching the specified route pattern.\r\n     *\r\n     * @param name The name of the route whose pattern should be used to generate the fragment.\r\n     * @param params The route params to be used to populate the route pattern.\r\n     * @param options If options.absolute = true, then absolute url will be generated; otherwise, it will be relative url.\r\n     * @returns {string} A string containing the generated URL fragment.\r\n     */\r\n    Router.prototype.generate = function (nameOrRoute, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        // A child recognizer generates routes for potential child routes. Any potential child route is added\r\n        // to the childRoute property of params for the childRouter to recognize. When generating routes, we\r\n        // use the childRecognizer when childRoute params are available to generate a child router enabled route.\r\n        var recognizer = 'childRoute' in params ? this._childRecognizer : this._recognizer;\r\n        var hasRoute = recognizer.hasRoute(nameOrRoute);\r\n        if (!hasRoute) {\r\n            if (this.parent) {\r\n                return this.parent.generate(nameOrRoute, params, options);\r\n            }\r\n            throw new Error(\"A route with name '\" + nameOrRoute + \"' could not be found. Check that `name: '\" + nameOrRoute + \"'` was specified in the route's config.\");\r\n        }\r\n        var path = recognizer.generate(nameOrRoute, params);\r\n        var rootedPath = _createRootedPath(path, this.baseUrl, this.history._hasPushState, options.absolute);\r\n        return options.absolute ? \"\" + this.history.getAbsoluteRoot() + rootedPath : rootedPath;\r\n    };\r\n    /**\r\n     * Creates a [[NavModel]] for the specified route config.\r\n     *\r\n     * @param config The route config.\r\n     */\r\n    Router.prototype.createNavModel = function (config) {\r\n        var navModel = new NavModel(this, 'href' in config\r\n            ? config.href\r\n            // potential error when config.route is a string[] ?\r\n            : config.route);\r\n        navModel.title = config.title;\r\n        navModel.order = config.nav;\r\n        navModel.href = config.href;\r\n        navModel.settings = config.settings;\r\n        navModel.config = config;\r\n        return navModel;\r\n    };\r\n    /**\r\n     * Registers a new route with the router.\r\n     *\r\n     * @param config The [[RouteConfig]].\r\n     * @param navModel The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\r\n     */\r\n    Router.prototype.addRoute = function (config, navModel) {\r\n        if (Array.isArray(config.route)) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            // the following is wrong. todo: fix this after TS refactoring release\r\n            routeConfigs.forEach(this.addRoute.bind(this));\r\n            return;\r\n        }\r\n        validateRouteConfig(config);\r\n        if (!('viewPorts' in config) && !config.navigationStrategy) {\r\n            config.viewPorts = {\r\n                'default': {\r\n                    moduleId: config.moduleId,\r\n                    view: config.view\r\n                }\r\n            };\r\n        }\r\n        if (!navModel) {\r\n            navModel = this.createNavModel(config);\r\n        }\r\n        this.routes.push(config);\r\n        var path = config.route;\r\n        if (path.charAt(0) === '/') {\r\n            path = path.substr(1);\r\n        }\r\n        var caseSensitive = config.caseSensitive === true;\r\n        var state = this._recognizer.add({\r\n            path: path,\r\n            handler: config,\r\n            caseSensitive: caseSensitive\r\n        });\r\n        if (path) {\r\n            var settings = config.settings;\r\n            delete config.settings;\r\n            var withChild = JSON.parse(JSON.stringify(config));\r\n            config.settings = settings;\r\n            withChild.route = path + \"/*childRoute\";\r\n            withChild.hasChildRouter = true;\r\n            this._childRecognizer.add({\r\n                path: withChild.route,\r\n                handler: withChild,\r\n                caseSensitive: caseSensitive\r\n            });\r\n            withChild.navModel = navModel;\r\n            withChild.settings = config.settings;\r\n            withChild.navigationStrategy = config.navigationStrategy;\r\n        }\r\n        config.navModel = navModel;\r\n        var navigation = this.navigation;\r\n        if ((navModel.order || navModel.order === 0) && navigation.indexOf(navModel) === -1) {\r\n            if ((!navModel.href && navModel.href !== '') && (state.types.dynamics || state.types.stars)) {\r\n                throw new Error('Invalid route config for \"' + config.route + '\" : dynamic routes must specify an \"href:\" to be included in the navigation model.');\r\n            }\r\n            if (typeof navModel.order !== 'number') {\r\n                navModel.order = ++this._fallbackOrder;\r\n            }\r\n            navigation.push(navModel);\r\n            // this is a potential error / inconsistency between browsers\r\n            //\r\n            // MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\r\n            // If compareFunction(a, b) returns 0, leave a and b unchanged with respect to each other,\r\n            // but sorted with respect to all different elements.\r\n            // Note: the ECMAscript standard does not guarantee this behaviour,\r\n            // and thus not all browsers (e.g. Mozilla versions dating back to at least 2003) respect this.\r\n            navigation.sort(function (a, b) { return a.order - b.order; });\r\n        }\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasRoute = function (name) {\r\n        return !!(this._recognizer.hasRoute(name) || this.parent && this.parent.hasRoute(name));\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasOwnRoute = function (name) {\r\n        return this._recognizer.hasRoute(name);\r\n    };\r\n    /**\r\n     * Register a handler to use when the incoming URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\r\n     */\r\n    Router.prototype.handleUnknownRoutes = function (config) {\r\n        var _this = this;\r\n        if (!config) {\r\n            throw new Error('Invalid unknown route handler');\r\n        }\r\n        this.catchAllHandler = function (instruction) {\r\n            return _this\r\n                ._createRouteConfig(config, instruction)\r\n                .then(function (c) {\r\n                instruction.config = c;\r\n                return instruction;\r\n            });\r\n        };\r\n    };\r\n    /**\r\n     * Updates the document title using the current navigation instruction.\r\n     */\r\n    Router.prototype.updateTitle = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            return parentRouter.updateTitle();\r\n        }\r\n        var currentInstruction = this.currentInstruction;\r\n        if (currentInstruction) {\r\n            currentInstruction._updateTitle();\r\n        }\r\n        return undefined;\r\n    };\r\n    /**\r\n     * Updates the navigation routes with hrefs relative to the current location.\r\n     * Note: This method will likely move to a plugin in a future release.\r\n     */\r\n    Router.prototype.refreshNavigation = function () {\r\n        var nav = this.navigation;\r\n        for (var i = 0, length_1 = nav.length; i < length_1; i++) {\r\n            var current = nav[i];\r\n            if (!current.config.href) {\r\n                current.href = _createRootedPath(current.relativeHref, this.baseUrl, this.history._hasPushState);\r\n            }\r\n            else {\r\n                current.href = _normalizeAbsolutePath(current.config.href, this.history._hasPushState);\r\n            }\r\n        }\r\n    };\r\n    /**\r\n     * Sets the default configuration for the view ports. This specifies how to\r\n     *  populate a view port for which no module is specified. The default is\r\n     *  an empty view/view-model pair.\r\n     */\r\n    Router.prototype.useViewPortDefaults = function ($viewPortDefaults) {\r\n        // a workaround to have strong typings while not requiring to expose interface ViewPortInstruction\r\n        var viewPortDefaults = $viewPortDefaults;\r\n        for (var viewPortName in viewPortDefaults) {\r\n            var viewPortConfig = viewPortDefaults[viewPortName];\r\n            this.viewPortDefaults[viewPortName] = {\r\n                moduleId: viewPortConfig.moduleId\r\n            };\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._refreshBaseUrl = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            this.baseUrl = generateBaseUrl(parentRouter, parentRouter.currentInstruction);\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._createNavigationInstruction = function (url, parentInstruction) {\r\n        if (url === void 0) { url = ''; }\r\n        if (parentInstruction === void 0) { parentInstruction = null; }\r\n        var fragment = url;\r\n        var queryString = '';\r\n        var queryIndex = url.indexOf('?');\r\n        if (queryIndex !== -1) {\r\n            fragment = url.substr(0, queryIndex);\r\n            queryString = url.substr(queryIndex + 1);\r\n        }\r\n        var urlRecognizationResults = this._recognizer.recognize(url);\r\n        if (!urlRecognizationResults || !urlRecognizationResults.length) {\r\n            urlRecognizationResults = this._childRecognizer.recognize(url);\r\n        }\r\n        var instructionInit = {\r\n            fragment: fragment,\r\n            queryString: queryString,\r\n            config: null,\r\n            parentInstruction: parentInstruction,\r\n            previousInstruction: this.currentInstruction,\r\n            router: this,\r\n            options: {\r\n                compareQueryParams: this.options.compareQueryParams\r\n            }\r\n        };\r\n        var result;\r\n        if (urlRecognizationResults && urlRecognizationResults.length) {\r\n            var first = urlRecognizationResults[0];\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: first.params,\r\n                queryParams: first.queryParams || urlRecognizationResults.queryParams,\r\n                config: first.config || first.handler\r\n            }));\r\n            if (typeof first.handler === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler, first);\r\n            }\r\n            else if (first.handler && typeof first.handler.navigationStrategy === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler.navigationStrategy, first.handler);\r\n            }\r\n            else {\r\n                result = Promise.resolve(instruction);\r\n            }\r\n        }\r\n        else if (this.catchAllHandler) {\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: { path: fragment },\r\n                queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                config: null // config will be created by the catchAllHandler\r\n            }));\r\n            result = evaluateNavigationStrategy(instruction, this.catchAllHandler);\r\n        }\r\n        else if (this.parent) {\r\n            var router = this._parentCatchAllHandler(this.parent);\r\n            if (router) {\r\n                var newParentInstruction = this._findParentInstructionFromRouter(router, parentInstruction);\r\n                var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                    params: { path: fragment },\r\n                    queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                    router: router,\r\n                    parentInstruction: newParentInstruction,\r\n                    parentCatchHandler: true,\r\n                    config: null // config will be created by the chained parent catchAllHandler\r\n                }));\r\n                result = evaluateNavigationStrategy(instruction, router.catchAllHandler);\r\n            }\r\n        }\r\n        if (result && parentInstruction) {\r\n            this.baseUrl = generateBaseUrl(this.parent, parentInstruction);\r\n        }\r\n        return result || Promise.reject(new Error(\"Route not found: \" + url));\r\n    };\r\n    /**@internal */\r\n    Router.prototype._findParentInstructionFromRouter = function (router, instruction) {\r\n        if (instruction.router === router) {\r\n            instruction.fragment = router.baseUrl; // need to change the fragment in case of a redirect instead of moduleId\r\n            return instruction;\r\n        }\r\n        else if (instruction.parentInstruction) {\r\n            return this._findParentInstructionFromRouter(router, instruction.parentInstruction);\r\n        }\r\n        return undefined;\r\n    };\r\n    /**@internal */\r\n    Router.prototype._parentCatchAllHandler = function (router) {\r\n        if (router.catchAllHandler) {\r\n            return router;\r\n        }\r\n        else if (router.parent) {\r\n            return this._parentCatchAllHandler(router.parent);\r\n        }\r\n        return false;\r\n    };\r\n    /**\r\n     * @internal\r\n     */\r\n    Router.prototype._createRouteConfig = function (config, instruction) {\r\n        var _this = this;\r\n        return Promise\r\n            .resolve(config)\r\n            .then(function (c) {\r\n            if (typeof c === 'string') {\r\n                return { moduleId: c };\r\n            }\r\n            else if (typeof c === 'function') {\r\n                return c(instruction);\r\n            }\r\n            return c;\r\n        })\r\n            // typing here could be either RouteConfig or RedirectConfig\r\n            // but temporarily treat both as RouteConfig\r\n            // todo: improve typings precision\r\n            .then(function (c) { return typeof c === 'string' ? { moduleId: c } : c; })\r\n            .then(function (c) {\r\n            c.route = instruction.params.path;\r\n            validateRouteConfig(c);\r\n            if (!c.navModel) {\r\n                c.navModel = _this.createNavModel(c);\r\n            }\r\n            return c;\r\n        });\r\n    };\r\n    return Router;\r\n}());\r\n/* @internal exported for unit testing */\r\nvar generateBaseUrl = function (router, instruction) {\r\n    return \"\" + (router.baseUrl || '') + (instruction.getBaseUrl() || '');\r\n};\r\n/* @internal exported for unit testing */\r\nvar validateRouteConfig = function (config) {\r\n    if (typeof config !== 'object') {\r\n        throw new Error('Invalid Route Config');\r\n    }\r\n    if (typeof config.route !== 'string') {\r\n        var name_1 = config.name || '(no name)';\r\n        throw new Error('Invalid Route Config for \"' + name_1 + '\": You must specify a \"route:\" pattern.');\r\n    }\r\n    if (!('redirect' in config || config.moduleId || config.navigationStrategy || config.viewPorts)) {\r\n        throw new Error('Invalid Route Config for \"' + config.route + '\": You must specify a \"moduleId:\", \"redirect:\", \"navigationStrategy:\", or \"viewPorts:\".');\r\n    }\r\n};\r\n/* @internal exported for unit testing */\r\nvar evaluateNavigationStrategy = function (instruction, evaluator, context) {\r\n    return Promise\r\n        .resolve(evaluator.call(context, instruction))\r\n        .then(function () {\r\n        if (!('viewPorts' in instruction.config)) {\r\n            instruction.config.viewPorts = {\r\n                'default': {\r\n                    moduleId: instruction.config.moduleId\r\n                }\r\n            };\r\n        }\r\n        return instruction;\r\n    });\r\n};\n\n/**@internal exported for unit testing */\r\nvar createNextFn = function (instruction, steps) {\r\n    var index = -1;\r\n    var next = function () {\r\n        index++;\r\n        if (index < steps.length) {\r\n            var currentStep = steps[index];\r\n            try {\r\n                return currentStep(instruction, next);\r\n            }\r\n            catch (e) {\r\n                return next.reject(e);\r\n            }\r\n        }\r\n        else {\r\n            return next.complete();\r\n        }\r\n    };\r\n    next.complete = createCompletionHandler(next, \"completed\" /* Completed */);\r\n    next.cancel = createCompletionHandler(next, \"canceled\" /* Canceled */);\r\n    next.reject = createCompletionHandler(next, \"rejected\" /* Rejected */);\r\n    return next;\r\n};\r\n/**@internal exported for unit testing */\r\nvar createCompletionHandler = function (next, status) {\r\n    return function (output) { return Promise\r\n        .resolve({\r\n        status: status,\r\n        output: output,\r\n        completed: status === \"completed\" /* Completed */\r\n    }); };\r\n};\n\n/**\r\n * The class responsible for managing and processing the navigation pipeline.\r\n */\r\nvar Pipeline = /** @class */ (function () {\r\n    function Pipeline() {\r\n        /**\r\n         * The pipeline steps. And steps added via addStep will be converted to a function\r\n         * The actualy running functions with correct step contexts of this pipeline\r\n         */\r\n        this.steps = [];\r\n    }\r\n    /**\r\n     * Adds a step to the pipeline.\r\n     *\r\n     * @param step The pipeline step.\r\n     */\r\n    Pipeline.prototype.addStep = function (step) {\r\n        var run;\r\n        if (typeof step === 'function') {\r\n            run = step;\r\n        }\r\n        else if (typeof step.getSteps === 'function') {\r\n            // getSteps is to enable support open slots\r\n            // where devs can add multiple steps into the same slot name\r\n            var steps = step.getSteps();\r\n            for (var i = 0, l = steps.length; i < l; i++) {\r\n                this.addStep(steps[i]);\r\n            }\r\n            return this;\r\n        }\r\n        else {\r\n            run = step.run.bind(step);\r\n        }\r\n        this.steps.push(run);\r\n        return this;\r\n    };\r\n    /**\r\n     * Runs the pipeline.\r\n     *\r\n     * @param instruction The navigation instruction to process.\r\n     */\r\n    Pipeline.prototype.run = function (instruction) {\r\n        var nextFn = createNextFn(instruction, this.steps);\r\n        return nextFn();\r\n    };\r\n    return Pipeline;\r\n}());\n\n/**\r\n* Determines if the provided object is a navigation command.\r\n* A navigation command is anything with a navigate method.\r\n*\r\n* @param obj The object to check.\r\n*/\r\nfunction isNavigationCommand(obj) {\r\n    return obj && typeof obj.navigate === 'function';\r\n}\r\n/**\r\n* Used during the activation lifecycle to cause a redirect.\r\n*/\r\nvar Redirect = /** @class */ (function () {\r\n    /**\r\n     * @param url The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    function Redirect(url, options) {\r\n        if (options === void 0) { options = {}; }\r\n        this.url = url;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    Redirect.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    Redirect.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigate(this.url, this.options);\r\n    };\r\n    return Redirect;\r\n}());\r\n/**\r\n * Used during the activation lifecycle to cause a redirect to a named route.\r\n */\r\nvar RedirectToRoute = /** @class */ (function () {\r\n    /**\r\n     * @param route The name of the route.\r\n     * @param params The parameters to be sent to the activation method.\r\n     * @param options The options to use for navigation.\r\n     */\r\n    function RedirectToRoute(route, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        this.route = route;\r\n        this.params = params;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    RedirectToRoute.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    RedirectToRoute.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigateToRoute(this.route, this.params, this.options);\r\n    };\r\n    return RedirectToRoute;\r\n}());\n\n/**\r\n * @internal exported for unit testing\r\n */\r\nfunction _buildNavigationPlan(instruction, forceLifecycleMinimum) {\r\n    var config = instruction.config;\r\n    if ('redirect' in config) {\r\n        return buildRedirectPlan(instruction);\r\n    }\r\n    var prevInstruction = instruction.previousInstruction;\r\n    var defaultViewPortConfigs = instruction.router.viewPortDefaults;\r\n    if (prevInstruction) {\r\n        return buildTransitionPlans(instruction, prevInstruction, defaultViewPortConfigs, forceLifecycleMinimum);\r\n    }\r\n    // first navigation, only need to prepare a few information for each viewport plan\r\n    var viewPortPlans = {};\r\n    var viewPortConfigs = config.viewPorts;\r\n    for (var viewPortName in viewPortConfigs) {\r\n        var viewPortConfig = viewPortConfigs[viewPortName];\r\n        if (viewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            viewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            strategy: \"replace\" /* Replace */,\r\n            config: viewPortConfig\r\n        };\r\n    }\r\n    return Promise.resolve(viewPortPlans);\r\n}\r\n/**\r\n * Build redirect plan based on config of a navigation instruction\r\n * @internal exported for unit testing\r\n */\r\nvar buildRedirectPlan = function (instruction) {\r\n    var config = instruction.config;\r\n    var router = instruction.router;\r\n    return router\r\n        ._createNavigationInstruction(config.redirect)\r\n        .then(function (redirectInstruction) {\r\n        var params = {};\r\n        var originalInstructionParams = instruction.params;\r\n        var redirectInstructionParams = redirectInstruction.params;\r\n        for (var key in redirectInstructionParams) {\r\n            // If the param on the redirect points to another param, e.g. { route: first/:this, redirect: second/:this }\r\n            var val = redirectInstructionParams[key];\r\n            if (typeof val === 'string' && val[0] === ':') {\r\n                val = val.slice(1);\r\n                // And if that param is found on the original instruction then use it\r\n                if (val in originalInstructionParams) {\r\n                    params[key] = originalInstructionParams[val];\r\n                }\r\n            }\r\n            else {\r\n                params[key] = redirectInstructionParams[key];\r\n            }\r\n        }\r\n        var redirectLocation = router.generate(redirectInstruction.config, params, instruction.options);\r\n        // Special handling for child routes\r\n        for (var key in originalInstructionParams) {\r\n            redirectLocation = redirectLocation.replace(\":\" + key, originalInstructionParams[key]);\r\n        }\r\n        var queryString = instruction.queryString;\r\n        if (queryString) {\r\n            redirectLocation += '?' + queryString;\r\n        }\r\n        return Promise.resolve(new Redirect(redirectLocation));\r\n    });\r\n};\r\n/**\r\n * @param viewPortPlans the Plan record that holds information about built plans\r\n * @internal exported for unit testing\r\n */\r\nvar buildTransitionPlans = function (currentInstruction, previousInstruction, defaultViewPortConfigs, forceLifecycleMinimum) {\r\n    var viewPortPlans = {};\r\n    var newInstructionConfig = currentInstruction.config;\r\n    var hasNewParams = hasDifferentParameterValues(previousInstruction, currentInstruction);\r\n    var pending = [];\r\n    var previousViewPortInstructions = previousInstruction.viewPortInstructions;\r\n    var _loop_1 = function (viewPortName) {\r\n        var prevViewPortInstruction = previousViewPortInstructions[viewPortName];\r\n        var prevViewPortComponent = prevViewPortInstruction.component;\r\n        var newInstructionViewPortConfigs = newInstructionConfig.viewPorts;\r\n        // if this is invoked on a viewport without any changes, based on new url,\r\n        // newViewPortConfig will be the existing viewport instruction\r\n        var nextViewPortConfig = viewPortName in newInstructionViewPortConfigs\r\n            ? newInstructionViewPortConfigs[viewPortName]\r\n            : prevViewPortInstruction;\r\n        if (nextViewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            nextViewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        var viewPortActivationStrategy = determineActivationStrategy(currentInstruction, prevViewPortInstruction, nextViewPortConfig, hasNewParams, forceLifecycleMinimum);\r\n        var viewPortPlan = viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            // ViewPortInstruction can quack like a RouteConfig\r\n            config: nextViewPortConfig,\r\n            prevComponent: prevViewPortComponent,\r\n            prevModuleId: prevViewPortInstruction.moduleId,\r\n            strategy: viewPortActivationStrategy\r\n        };\r\n        // recursively build nav plans for all existing child routers/viewports of this viewport\r\n        // this is possible because existing child viewports and routers already have necessary information\r\n        // to process the wildcard path from parent instruction\r\n        if (viewPortActivationStrategy !== \"replace\" /* Replace */ && prevViewPortInstruction.childRouter) {\r\n            var path = currentInstruction.getWildcardPath();\r\n            var task = prevViewPortInstruction\r\n                .childRouter\r\n                ._createNavigationInstruction(path, currentInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction, \r\n                // is it safe to assume viewPortPlan has not been changed from previous assignment?\r\n                // if so, can just use local variable viewPortPlanStrategy\r\n                // there could be user code modifying viewport plan during _createNavigationInstruction?\r\n                viewPortPlan.strategy === \"invoke-lifecycle\" /* InvokeLifecycle */)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    // for bluebird ?\r\n                    return null;\r\n                });\r\n            });\r\n            pending.push(task);\r\n        }\r\n    };\r\n    for (var viewPortName in previousViewPortInstructions) {\r\n        _loop_1(viewPortName);\r\n    }\r\n    return Promise.all(pending).then(function () { return viewPortPlans; });\r\n};\r\n/**\r\n * @param newViewPortConfig if this is invoked on a viewport without any changes, based on new url, newViewPortConfig will be the existing viewport instruction\r\n * @internal exported for unit testing\r\n */\r\nvar determineActivationStrategy = function (currentNavInstruction, prevViewPortInstruction, newViewPortConfig, \r\n// indicates whether there is difference between old and new url params\r\nhasNewParams, forceLifecycleMinimum) {\r\n    var newInstructionConfig = currentNavInstruction.config;\r\n    var prevViewPortViewModel = prevViewPortInstruction.component.viewModel;\r\n    var viewPortPlanStrategy;\r\n    if (prevViewPortInstruction.moduleId !== newViewPortConfig.moduleId) {\r\n        viewPortPlanStrategy = \"replace\" /* Replace */;\r\n    }\r\n    else if ('determineActivationStrategy' in prevViewPortViewModel) {\r\n        viewPortPlanStrategy = prevViewPortViewModel.determineActivationStrategy.apply(prevViewPortViewModel, currentNavInstruction.lifecycleArgs);\r\n    }\r\n    else if (newInstructionConfig.activationStrategy) {\r\n        viewPortPlanStrategy = newInstructionConfig.activationStrategy;\r\n    }\r\n    else if (hasNewParams || forceLifecycleMinimum) {\r\n        viewPortPlanStrategy = \"invoke-lifecycle\" /* InvokeLifecycle */;\r\n    }\r\n    else {\r\n        viewPortPlanStrategy = \"no-change\" /* NoChange */;\r\n    }\r\n    return viewPortPlanStrategy;\r\n};\r\n/**@internal exported for unit testing */\r\nvar hasDifferentParameterValues = function (prev, next) {\r\n    var prevParams = prev.params;\r\n    var nextParams = next.params;\r\n    var nextWildCardName = next.config.hasChildRouter ? next.getWildCardName() : null;\r\n    for (var key in nextParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    if (!next.options.compareQueryParams) {\r\n        return false;\r\n    }\r\n    var prevQueryParams = prev.queryParams;\r\n    var nextQueryParams = next.queryParams;\r\n    for (var key in nextQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    return false;\r\n};\n\n/**\r\n * Transform a navigation instruction into viewport plan record object,\r\n * or a redirect request if user viewmodel demands\r\n */\r\nvar BuildNavigationPlanStep = /** @class */ (function () {\r\n    function BuildNavigationPlanStep() {\r\n    }\r\n    BuildNavigationPlanStep.prototype.run = function (navigationInstruction, next) {\r\n        return _buildNavigationPlan(navigationInstruction)\r\n            .then(function (plan) {\r\n            if (plan instanceof Redirect) {\r\n                return next.cancel(plan);\r\n            }\r\n            navigationInstruction.plan = plan;\r\n            return next();\r\n        })\r\n            .catch(next.cancel);\r\n    };\r\n    return BuildNavigationPlanStep;\r\n}());\n\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadNewRoute = function (routeLoader, navigationInstruction) {\r\n    var loadingPlans = determineLoadingPlans(navigationInstruction);\r\n    var loadPromises = loadingPlans.map(function (loadingPlan) { return loadRoute(routeLoader, loadingPlan.navigationInstruction, loadingPlan.viewPortPlan); });\r\n    return Promise.all(loadPromises);\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar determineLoadingPlans = function (navigationInstruction, loadingPlans) {\r\n    if (loadingPlans === void 0) { loadingPlans = []; }\r\n    var viewPortPlans = navigationInstruction.plan;\r\n    for (var viewPortName in viewPortPlans) {\r\n        var viewPortPlan = viewPortPlans[viewPortName];\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (viewPortPlan.strategy === \"replace\" /* Replace */) {\r\n            loadingPlans.push({ viewPortPlan: viewPortPlan, navigationInstruction: navigationInstruction });\r\n            if (childNavInstruction) {\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n        else {\r\n            var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n                name: viewPortName,\r\n                strategy: viewPortPlan.strategy,\r\n                moduleId: viewPortPlan.prevModuleId,\r\n                component: viewPortPlan.prevComponent\r\n            });\r\n            if (childNavInstruction) {\r\n                viewPortInstruction.childNavigationInstruction = childNavInstruction;\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n    }\r\n    return loadingPlans;\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadRoute = function (routeLoader, navigationInstruction, viewPortPlan) {\r\n    var planConfig = viewPortPlan.config;\r\n    var moduleId = planConfig ? planConfig.moduleId : null;\r\n    return loadComponent(routeLoader, navigationInstruction, planConfig)\r\n        .then(function (component) {\r\n        var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n            name: viewPortPlan.name,\r\n            strategy: viewPortPlan.strategy,\r\n            moduleId: moduleId,\r\n            component: component\r\n        });\r\n        var childRouter = component.childRouter;\r\n        if (childRouter) {\r\n            var path = navigationInstruction.getWildcardPath();\r\n            return childRouter\r\n                ._createNavigationInstruction(path, navigationInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    viewPortInstruction.childNavigationInstruction = childInstruction;\r\n                    return loadNewRoute(routeLoader, childInstruction);\r\n                });\r\n            });\r\n        }\r\n        // ts complains without this, though they are same\r\n        return void 0;\r\n    });\r\n};\r\n/**\r\n * Load a routed-component based on navigation instruction and route config\r\n * @internal exported for unit testing only\r\n */\r\nvar loadComponent = function (routeLoader, navigationInstruction, config) {\r\n    var router = navigationInstruction.router;\r\n    var lifecycleArgs = navigationInstruction.lifecycleArgs;\r\n    return Promise.resolve()\r\n        .then(function () { return routeLoader.loadRoute(router, config, navigationInstruction); })\r\n        .then(\r\n    /**\r\n     * @param component an object carrying information about loaded route\r\n     * typically contains information about view model, childContainer, view and router\r\n     */\r\n    function (component) {\r\n        var viewModel = component.viewModel, childContainer = component.childContainer;\r\n        component.router = router;\r\n        component.config = config;\r\n        if ('configureRouter' in viewModel) {\r\n            var childRouter_1 = childContainer.getChildRouter();\r\n            component.childRouter = childRouter_1;\r\n            return childRouter_1\r\n                .configure(function (c) { return viewModel.configureRouter(c, childRouter_1, lifecycleArgs[0], lifecycleArgs[1], lifecycleArgs[2]); })\r\n                .then(function () { return component; });\r\n        }\r\n        return component;\r\n    });\r\n};\n\n/**\r\n * Abstract class that is responsible for loading view / view model from a route config\r\n * The default implementation can be found in `aurelia-templating-router`\r\n */\r\nvar RouteLoader = /** @class */ (function () {\r\n    function RouteLoader() {\r\n    }\r\n    /**\r\n     * Load a route config based on its viewmodel / view configuration\r\n     */\r\n    // return typing: return typings used to be never\r\n    // as it was a throw. Changing it to Promise<any> should not cause any issues\r\n    RouteLoader.prototype.loadRoute = function (router, config, navigationInstruction) {\r\n        throw new Error('Route loaders must implement \"loadRoute(router, config, navigationInstruction)\".');\r\n    };\r\n    return RouteLoader;\r\n}());\n\n/**\r\n * A pipeline step responsible for loading a route config of a navigation instruction\r\n */\r\nvar LoadRouteStep = /** @class */ (function () {\r\n    function LoadRouteStep(routeLoader) {\r\n        this.routeLoader = routeLoader;\r\n    }\r\n    /**@internal */\r\n    LoadRouteStep.inject = function () { return [RouteLoader]; };\r\n    /**\r\n     * Run the internal to load route config of a navigation instruction to prepare for next steps in the pipeline\r\n     */\r\n    LoadRouteStep.prototype.run = function (navigationInstruction, next) {\r\n        return loadNewRoute(this.routeLoader, navigationInstruction)\r\n            .then(next, next.cancel);\r\n    };\r\n    return LoadRouteStep;\r\n}());\n\n/**\r\n * A pipeline step for instructing a piepline to commit changes on a navigation instruction\r\n */\r\nvar CommitChangesStep = /** @class */ (function () {\r\n    function CommitChangesStep() {\r\n    }\r\n    CommitChangesStep.prototype.run = function (navigationInstruction, next) {\r\n        return navigationInstruction\r\n            ._commitChanges(/*wait to swap?*/ true)\r\n            .then(function () {\r\n            navigationInstruction._updateTitle();\r\n            return next();\r\n        });\r\n    };\r\n    return CommitChangesStep;\r\n}());\n\n/**\r\n * An optional interface describing the available activation strategies.\r\n * @internal Used internally.\r\n */\r\nvar InternalActivationStrategy;\r\n(function (InternalActivationStrategy) {\r\n    /**\r\n     * Reuse the existing view model, without invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"NoChange\"] = \"no-change\";\r\n    /**\r\n     * Reuse the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    /**\r\n     * Replace the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"Replace\"] = \"replace\";\r\n})(InternalActivationStrategy || (InternalActivationStrategy = {}));\r\n/**\r\n * The strategy to use when activating modules during navigation.\r\n */\r\n// kept for compat reason\r\nvar activationStrategy = {\r\n    noChange: \"no-change\" /* NoChange */,\r\n    invokeLifecycle: \"invoke-lifecycle\" /* InvokeLifecycle */,\r\n    replace: \"replace\" /* Replace */\r\n};\n\n/**\r\n * Recursively find list of deactivate-able view models\r\n * and invoke the either 'canDeactivate' or 'deactivate' on each\r\n * @internal exported for unit testing\r\n */\r\nvar processDeactivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var plan = navigationInstruction.plan;\r\n    var infos = findDeactivatable(plan, callbackName);\r\n    var i = infos.length; // query from inside out\r\n    function inspect(val) {\r\n        if (ignoreResult || shouldContinue(val)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        if (i--) {\r\n            try {\r\n                var viewModel = infos[i];\r\n                var result = viewModel[callbackName](navigationInstruction);\r\n                return processPotential(result, inspect, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        navigationInstruction.router.couldDeactivate = true;\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Recursively find and returns a list of deactivate-able view models\r\n * @internal exported for unit testing\r\n */\r\nvar findDeactivatable = function (plan, callbackName, list) {\r\n    if (list === void 0) { list = []; }\r\n    for (var viewPortName in plan) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var prevComponent = viewPortPlan.prevComponent;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle || viewPortPlan.strategy === activationStrategy.replace)\r\n            && prevComponent) {\r\n            var viewModel = prevComponent.viewModel;\r\n            if (callbackName in viewModel) {\r\n                list.push(viewModel);\r\n            }\r\n        }\r\n        if (viewPortPlan.strategy === activationStrategy.replace && prevComponent) {\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n        else if (viewPortPlan.childNavigationInstruction) {\r\n            findDeactivatable(viewPortPlan.childNavigationInstruction.plan, callbackName, list);\r\n        }\r\n    }\r\n    return list;\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar addPreviousDeactivatable = function (component, callbackName, list) {\r\n    var childRouter = component.childRouter;\r\n    if (childRouter && childRouter.currentInstruction) {\r\n        var viewPortInstructions = childRouter.currentInstruction.viewPortInstructions;\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var prevComponent = viewPortInstruction.component;\r\n            var prevViewModel = prevComponent.viewModel;\r\n            if (callbackName in prevViewModel) {\r\n                list.push(prevViewModel);\r\n            }\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n    }\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar processActivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var infos = findActivatable(navigationInstruction, callbackName);\r\n    var length = infos.length;\r\n    var i = -1; // query from top down\r\n    function inspect(val, router) {\r\n        if (ignoreResult || shouldContinue(val, router)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        var _a;\r\n        i++;\r\n        if (i < length) {\r\n            try {\r\n                var current_1 = infos[i];\r\n                var result = (_a = current_1.viewModel)[callbackName].apply(_a, current_1.lifecycleArgs);\r\n                return processPotential(result, function (val) { return inspect(val, current_1.router); }, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Find list of activatable view model and add to list (3rd parameter)\r\n * @internal exported for unit testing\r\n */\r\nvar findActivatable = function (navigationInstruction, callbackName, list, router) {\r\n    if (list === void 0) { list = []; }\r\n    var plan = navigationInstruction.plan;\r\n    Object\r\n        .keys(plan)\r\n        .forEach(function (viewPortName) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var viewPortInstruction = navigationInstruction.viewPortInstructions[viewPortName];\r\n        var viewPortComponent = viewPortInstruction.component;\r\n        var viewModel = viewPortComponent.viewModel;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle\r\n            || viewPortPlan.strategy === activationStrategy.replace)\r\n            && callbackName in viewModel) {\r\n            list.push({\r\n                viewModel: viewModel,\r\n                lifecycleArgs: viewPortInstruction.lifecycleArgs,\r\n                router: router\r\n            });\r\n        }\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (childNavInstruction) {\r\n            findActivatable(childNavInstruction, callbackName, list, viewPortComponent.childRouter || router);\r\n        }\r\n    });\r\n    return list;\r\n};\r\nvar shouldContinue = function (output, router) {\r\n    if (output instanceof Error) {\r\n        return false;\r\n    }\r\n    if (isNavigationCommand(output)) {\r\n        if (typeof output.setRouter === 'function') {\r\n            output.setRouter(router);\r\n        }\r\n        return !!output.shouldContinueProcessing;\r\n    }\r\n    if (output === undefined) {\r\n        return true;\r\n    }\r\n    return output;\r\n};\r\n/**\r\n * wraps a subscription, allowing unsubscribe calls even if\r\n * the first value comes synchronously\r\n */\r\nvar SafeSubscription = /** @class */ (function () {\r\n    function SafeSubscription(subscriptionFunc) {\r\n        this._subscribed = true;\r\n        this._subscription = subscriptionFunc(this);\r\n        if (!this._subscribed) {\r\n            this.unsubscribe();\r\n        }\r\n    }\r\n    Object.defineProperty(SafeSubscription.prototype, \"subscribed\", {\r\n        get: function () {\r\n            return this._subscribed;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SafeSubscription.prototype.unsubscribe = function () {\r\n        if (this._subscribed && this._subscription) {\r\n            this._subscription.unsubscribe();\r\n        }\r\n        this._subscribed = false;\r\n    };\r\n    return SafeSubscription;\r\n}());\r\n/**\r\n * A function to process return value from `activate`/`canActivate` steps\r\n * Supports observable/promise\r\n *\r\n * For observable, resolve at first next() or on complete()\r\n */\r\nvar processPotential = function (obj, resolve, reject) {\r\n    // if promise like\r\n    if (obj && typeof obj.then === 'function') {\r\n        return Promise.resolve(obj).then(resolve).catch(reject);\r\n    }\r\n    // if observable\r\n    if (obj && typeof obj.subscribe === 'function') {\r\n        var obs_1 = obj;\r\n        return new SafeSubscription(function (sub) { return obs_1.subscribe({\r\n            next: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            },\r\n            error: function (error) {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    reject(error);\r\n                }\r\n            },\r\n            complete: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            }\r\n        }); });\r\n    }\r\n    // else just resolve\r\n    try {\r\n        return resolve(obj);\r\n    }\r\n    catch (error) {\r\n        return reject(error);\r\n    }\r\n};\n\n/**\r\n * A pipeline step responsible for finding and activating method `canDeactivate` on a view model of a route\r\n */\r\nvar CanDeactivatePreviousStep = /** @class */ (function () {\r\n    function CanDeactivatePreviousStep() {\r\n    }\r\n    CanDeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'canDeactivate', next);\r\n    };\r\n    return CanDeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `canActivate` on a view model of a route\r\n */\r\nvar CanActivateNextStep = /** @class */ (function () {\r\n    function CanActivateNextStep() {\r\n    }\r\n    CanActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'canActivate', next);\r\n    };\r\n    return CanActivateNextStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `deactivate` on a view model of a route\r\n */\r\nvar DeactivatePreviousStep = /** @class */ (function () {\r\n    function DeactivatePreviousStep() {\r\n    }\r\n    DeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'deactivate', next, true);\r\n    };\r\n    return DeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `activate` on a view model of a route\r\n */\r\nvar ActivateNextStep = /** @class */ (function () {\r\n    function ActivateNextStep() {\r\n    }\r\n    ActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'activate', next, true);\r\n    };\r\n    return ActivateNextStep;\r\n}());\n\n/**\r\n * A multi-slots Pipeline Placeholder Step for hooking into a pipeline execution\r\n */\r\nvar PipelineSlot = /** @class */ (function () {\r\n    function PipelineSlot(container, name, alias) {\r\n        this.steps = [];\r\n        this.container = container;\r\n        this.slotName = name;\r\n        this.slotAlias = alias;\r\n    }\r\n    PipelineSlot.prototype.getSteps = function () {\r\n        var _this = this;\r\n        return this.steps.map(function (x) { return _this.container.get(x); });\r\n    };\r\n    return PipelineSlot;\r\n}());\r\n/**\r\n * Class responsible for creating the navigation pipeline.\r\n */\r\nvar PipelineProvider = /** @class */ (function () {\r\n    function PipelineProvider(container) {\r\n        this.container = container;\r\n        this.steps = [\r\n            BuildNavigationPlanStep,\r\n            CanDeactivatePreviousStep,\r\n            LoadRouteStep,\r\n            createPipelineSlot(container, \"authorize\" /* Authorize */),\r\n            CanActivateNextStep,\r\n            createPipelineSlot(container, \"preActivate\" /* PreActivate */, 'modelbind'),\r\n            // NOTE: app state changes start below - point of no return\r\n            DeactivatePreviousStep,\r\n            ActivateNextStep,\r\n            createPipelineSlot(container, \"preRender\" /* PreRender */, 'precommit'),\r\n            CommitChangesStep,\r\n            createPipelineSlot(container, \"postRender\" /* PostRender */, 'postcomplete')\r\n        ];\r\n    }\r\n    /**@internal */\r\n    PipelineProvider.inject = function () { return [Container]; };\r\n    /**\r\n     * Create the navigation pipeline.\r\n     */\r\n    PipelineProvider.prototype.createPipeline = function (useCanDeactivateStep) {\r\n        var _this = this;\r\n        if (useCanDeactivateStep === void 0) { useCanDeactivateStep = true; }\r\n        var pipeline = new Pipeline();\r\n        this.steps.forEach(function (step) {\r\n            if (useCanDeactivateStep || step !== CanDeactivatePreviousStep) {\r\n                pipeline.addStep(_this.container.get(step));\r\n            }\r\n        });\r\n        return pipeline;\r\n    };\r\n    /**@internal */\r\n    PipelineProvider.prototype._findStep = function (name) {\r\n        // Steps that are not PipelineSlots are constructor functions, and they will automatically fail. Probably.\r\n        return this.steps.find(function (x) { return x.slotName === name || x.slotAlias === name; });\r\n    };\r\n    /**\r\n     * Adds a step into the pipeline at a known slot location.\r\n     */\r\n    PipelineProvider.prototype.addStep = function (name, step) {\r\n        var found = this._findStep(name);\r\n        if (found) {\r\n            var slotSteps = found.steps;\r\n            // prevent duplicates\r\n            if (!slotSteps.includes(step)) {\r\n                slotSteps.push(step);\r\n            }\r\n        }\r\n        else {\r\n            throw new Error(\"Invalid pipeline slot name: \" + name + \".\");\r\n        }\r\n    };\r\n    /**\r\n     * Removes a step from a slot in the pipeline\r\n     */\r\n    PipelineProvider.prototype.removeStep = function (name, step) {\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            var slotSteps = slot.steps;\r\n            slotSteps.splice(slotSteps.indexOf(step), 1);\r\n        }\r\n    };\r\n    /**\r\n     * Clears all steps from a slot in the pipeline\r\n     * @internal\r\n     */\r\n    PipelineProvider.prototype._clearSteps = function (name) {\r\n        if (name === void 0) { name = ''; }\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            slot.steps = [];\r\n        }\r\n    };\r\n    /**\r\n     * Resets all pipeline slots\r\n     */\r\n    PipelineProvider.prototype.reset = function () {\r\n        this._clearSteps(\"authorize\" /* Authorize */);\r\n        this._clearSteps(\"preActivate\" /* PreActivate */);\r\n        this._clearSteps(\"preRender\" /* PreRender */);\r\n        this._clearSteps(\"postRender\" /* PostRender */);\r\n    };\r\n    return PipelineProvider;\r\n}());\r\n/**@internal */\r\nvar createPipelineSlot = function (container, name, alias) {\r\n    return new PipelineSlot(container, name, alias);\r\n};\n\nvar logger = getLogger('app-router');\r\n/**\r\n * The main application router.\r\n */\r\nvar AppRouter = /** @class */ (function (_super) {\r\n    __extends(AppRouter, _super);\r\n    function AppRouter(container, history, pipelineProvider, events) {\r\n        var _this = _super.call(this, container, history) || this;\r\n        _this.pipelineProvider = pipelineProvider;\r\n        _this.events = events;\r\n        return _this;\r\n    }\r\n    /**@internal */\r\n    AppRouter.inject = function () { return [Container, History, PipelineProvider, EventAggregator]; };\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    AppRouter.prototype.reset = function () {\r\n        _super.prototype.reset.call(this);\r\n        this.maxInstructionCount = 10;\r\n        if (!this._queue) {\r\n            this._queue = [];\r\n        }\r\n        else {\r\n            this._queue.length = 0;\r\n        }\r\n    };\r\n    /**\r\n     * Loads the specified URL.\r\n     *\r\n     * @param url The URL fragment to load.\r\n     */\r\n    AppRouter.prototype.loadUrl = function (url) {\r\n        var _this = this;\r\n        return this\r\n            ._createNavigationInstruction(url)\r\n            .then(function (instruction) { return _this._queueInstruction(instruction); })\r\n            .catch(function (error) {\r\n            logger.error(error);\r\n            restorePreviousLocation(_this);\r\n        });\r\n    };\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort. This is typically a <router-view/> element in Aurelia default impl\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    AppRouter.prototype.registerViewPort = function (viewPort, name) {\r\n        var _this = this;\r\n        // having strong typing without changing public API\r\n        var $viewPort = viewPort;\r\n        _super.prototype.registerViewPort.call(this, $viewPort, name);\r\n        // beside adding viewport to the registry of this instance\r\n        // AppRouter also configure routing/history to start routing functionality\r\n        // There are situation where there are more than 1 <router-view/> element at root view\r\n        // in that case, still only activate once via the following guard\r\n        if (!this.isActive) {\r\n            var viewModel_1 = this._findViewModel($viewPort);\r\n            if ('configureRouter' in viewModel_1) {\r\n                // If there are more than one <router-view/> element at root view\r\n                // use this flag to guard against configure method being invoked multiple times\r\n                // this flag is set inside method configure\r\n                if (!this.isConfigured) {\r\n                    // replace the real resolve with a noop to guarantee that any action in base class Router\r\n                    // won't resolve the configurePromise prematurely\r\n                    var resolveConfiguredPromise_1 = this._resolveConfiguredPromise;\r\n                    this._resolveConfiguredPromise = function () { };\r\n                    return this\r\n                        .configure(function (config) {\r\n                        return Promise\r\n                            .resolve(viewModel_1.configureRouter(config, _this))\r\n                            // an issue with configure interface. Should be fixed there\r\n                            // todo: fix this via configure interface in router\r\n                            .then(function () { return config; });\r\n                    })\r\n                        .then(function () {\r\n                        _this.activate();\r\n                        resolveConfiguredPromise_1();\r\n                    });\r\n                }\r\n            }\r\n            else {\r\n                this.activate();\r\n            }\r\n        }\r\n        // when a viewport is added dynamically to a root view that is already activated\r\n        // just process the navigation instruction\r\n        else {\r\n            this._dequeueInstruction();\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    /**\r\n     * Activates the router. This instructs the router to begin listening for history changes and processing instructions.\r\n     *\r\n     * @params options The set of options to activate the router with.\r\n     */\r\n    AppRouter.prototype.activate = function (options) {\r\n        if (this.isActive) {\r\n            return;\r\n        }\r\n        this.isActive = true;\r\n        // route handler property is responsible for handling url change\r\n        // the interface of aurelia-history isn't clear on this perspective\r\n        this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options);\r\n        this.history.activate(this.options);\r\n        this._dequeueInstruction();\r\n    };\r\n    /**\r\n     * Deactivates the router.\r\n     */\r\n    AppRouter.prototype.deactivate = function () {\r\n        this.isActive = false;\r\n        this.history.deactivate();\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._queueInstruction = function (instruction) {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            instruction.resolve = resolve;\r\n            _this._queue.unshift(instruction);\r\n            _this._dequeueInstruction();\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._dequeueInstruction = function (instructionCount) {\r\n        var _this = this;\r\n        if (instructionCount === void 0) { instructionCount = 0; }\r\n        return Promise.resolve().then(function () {\r\n            if (_this.isNavigating && !instructionCount) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            var instruction = _this._queue.shift();\r\n            _this._queue.length = 0;\r\n            if (!instruction) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            _this.isNavigating = true;\r\n            var navtracker = _this.history.getState('NavigationTracker');\r\n            var currentNavTracker = _this.currentNavigationTracker;\r\n            if (!navtracker && !currentNavTracker) {\r\n                _this.isNavigatingFirst = true;\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!navtracker) {\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!currentNavTracker) {\r\n                _this.isNavigatingRefresh = true;\r\n            }\r\n            else if (currentNavTracker < navtracker) {\r\n                _this.isNavigatingForward = true;\r\n            }\r\n            else if (currentNavTracker > navtracker) {\r\n                _this.isNavigatingBack = true;\r\n            }\r\n            if (!navtracker) {\r\n                navtracker = Date.now();\r\n                _this.history.setState('NavigationTracker', navtracker);\r\n            }\r\n            _this.currentNavigationTracker = navtracker;\r\n            instruction.previousInstruction = _this.currentInstruction;\r\n            var maxInstructionCount = _this.maxInstructionCount;\r\n            if (!instructionCount) {\r\n                _this.events.publish(\"router:navigation:processing\" /* Processing */, { instruction: instruction });\r\n            }\r\n            else if (instructionCount === maxInstructionCount - 1) {\r\n                logger.error(instructionCount + 1 + \" navigation instructions have been attempted without success. Restoring last known good location.\");\r\n                restorePreviousLocation(_this);\r\n                return _this._dequeueInstruction(instructionCount + 1);\r\n            }\r\n            else if (instructionCount > maxInstructionCount) {\r\n                throw new Error('Maximum navigation attempts exceeded. Giving up.');\r\n            }\r\n            var pipeline = _this.pipelineProvider.createPipeline(!_this.couldDeactivate);\r\n            return pipeline\r\n                .run(instruction)\r\n                .then(function (result) { return processResult(instruction, result, instructionCount, _this); })\r\n                .catch(function (error) {\r\n                return { output: error instanceof Error ? error : new Error(error) };\r\n            })\r\n                .then(function (result) { return resolveInstruction(instruction, result, !!instructionCount, _this); });\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._findViewModel = function (viewPort) {\r\n        if (this.container.viewModel) {\r\n            return this.container.viewModel;\r\n        }\r\n        if (viewPort.container) {\r\n            var container = viewPort.container;\r\n            while (container) {\r\n                if (container.viewModel) {\r\n                    this.container.viewModel = container.viewModel;\r\n                    return container.viewModel;\r\n                }\r\n                container = container.parent;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return AppRouter;\r\n}(Router));\r\nvar processResult = function (instruction, result, instructionCount, router) {\r\n    if (!(result && 'completed' in result && 'output' in result)) {\r\n        result = result || {};\r\n        result.output = new Error(\"Expected router pipeline to return a navigation result, but got [\" + JSON.stringify(result) + \"] instead.\");\r\n    }\r\n    var finalResult = null;\r\n    var navigationCommandResult = null;\r\n    if (isNavigationCommand(result.output)) {\r\n        navigationCommandResult = result.output.navigate(router);\r\n    }\r\n    else {\r\n        finalResult = result;\r\n        if (!result.completed) {\r\n            if (result.output instanceof Error) {\r\n                logger.error(result.output.toString());\r\n            }\r\n            restorePreviousLocation(router);\r\n        }\r\n    }\r\n    return Promise.resolve(navigationCommandResult)\r\n        .then(function (_) { return router._dequeueInstruction(instructionCount + 1); })\r\n        .then(function (innerResult) { return finalResult || innerResult || result; });\r\n};\r\nvar resolveInstruction = function (instruction, result, isInnerInstruction, router) {\r\n    instruction.resolve(result);\r\n    var eventAggregator = router.events;\r\n    var eventArgs = { instruction: instruction, result: result };\r\n    if (!isInnerInstruction) {\r\n        router.isNavigating = false;\r\n        router.isExplicitNavigation = false;\r\n        router.isExplicitNavigationBack = false;\r\n        router.isNavigatingFirst = false;\r\n        router.isNavigatingNew = false;\r\n        router.isNavigatingRefresh = false;\r\n        router.isNavigatingForward = false;\r\n        router.isNavigatingBack = false;\r\n        router.couldDeactivate = false;\r\n        var eventName = void 0;\r\n        if (result.output instanceof Error) {\r\n            eventName = \"router:navigation:error\" /* Error */;\r\n        }\r\n        else if (!result.completed) {\r\n            eventName = \"router:navigation:canceled\" /* Canceled */;\r\n        }\r\n        else {\r\n            var queryString = instruction.queryString ? ('?' + instruction.queryString) : '';\r\n            router.history.previousLocation = instruction.fragment + queryString;\r\n            eventName = \"router:navigation:success\" /* Success */;\r\n        }\r\n        eventAggregator.publish(eventName, eventArgs);\r\n        eventAggregator.publish(\"router:navigation:complete\" /* Complete */, eventArgs);\r\n    }\r\n    else {\r\n        eventAggregator.publish(\"router:navigation:child:complete\" /* ChildComplete */, eventArgs);\r\n    }\r\n    return result;\r\n};\r\nvar restorePreviousLocation = function (router) {\r\n    var previousLocation = router.history.previousLocation;\r\n    if (previousLocation) {\r\n        router.navigate(previousLocation, { trigger: false, replace: true });\r\n    }\r\n    else if (router.fallbackRoute) {\r\n        router.navigate(router.fallbackRoute, { trigger: true, replace: true });\r\n    }\r\n    else {\r\n        logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');\r\n    }\r\n};\n\n/**\r\n* The status of a Pipeline.\r\n*/\r\nvar PipelineStatus;\r\n(function (PipelineStatus) {\r\n    PipelineStatus[\"Completed\"] = \"completed\";\r\n    PipelineStatus[\"Canceled\"] = \"canceled\";\r\n    PipelineStatus[\"Rejected\"] = \"rejected\";\r\n    PipelineStatus[\"Running\"] = \"running\";\r\n})(PipelineStatus || (PipelineStatus = {}));\n\n/**\r\n * A list of known router events used by the Aurelia router\r\n * to signal the pipeline has come to a certain state\r\n */\r\n// const enum is preserved in tsconfig\r\nvar RouterEvent;\r\n(function (RouterEvent) {\r\n    RouterEvent[\"Processing\"] = \"router:navigation:processing\";\r\n    RouterEvent[\"Error\"] = \"router:navigation:error\";\r\n    RouterEvent[\"Canceled\"] = \"router:navigation:canceled\";\r\n    RouterEvent[\"Complete\"] = \"router:navigation:complete\";\r\n    RouterEvent[\"Success\"] = \"router:navigation:success\";\r\n    RouterEvent[\"ChildComplete\"] = \"router:navigation:child:complete\";\r\n})(RouterEvent || (RouterEvent = {}));\n\n/**\r\n * Available pipeline slot names to insert interceptor into router pipeline\r\n */\r\n// const enum is preserved in tsconfig\r\nvar PipelineSlotName;\r\n(function (PipelineSlotName) {\r\n    /**\r\n     * Authorization slot. Invoked early in the pipeline,\r\n     * before `canActivate` hook of incoming route\r\n     */\r\n    PipelineSlotName[\"Authorize\"] = \"authorize\";\r\n    /**\r\n     * Pre-activation slot. Invoked early in the pipeline,\r\n     * Invoked timing:\r\n     *   - after Authorization slot\r\n     *   - after canActivate hook on new view model\r\n     *   - before deactivate hook on old view model\r\n     *   - before activate hook on new view model\r\n     */\r\n    PipelineSlotName[\"PreActivate\"] = \"preActivate\";\r\n    /**\r\n     * Pre-render slot. Invoked later in the pipeline\r\n     * Invokcation timing:\r\n     *   - after activate hook on new view model\r\n     *   - before commit step on new navigation instruction\r\n     */\r\n    PipelineSlotName[\"PreRender\"] = \"preRender\";\r\n    /**\r\n     * Post-render slot. Invoked last in the pipeline\r\n     */\r\n    PipelineSlotName[\"PostRender\"] = \"postRender\";\r\n})(PipelineSlotName || (PipelineSlotName = {}));\n\nexport { ActivateNextStep, AppRouter, BuildNavigationPlanStep, CanActivateNextStep, CanDeactivatePreviousStep, CommitChangesStep, DeactivatePreviousStep, LoadRouteStep, NavModel, NavigationInstruction, Pipeline, PipelineProvider, PipelineSlotName, PipelineStatus, Redirect, RedirectToRoute, RouteLoader, Router, RouterConfiguration, RouterEvent, activationStrategy, isNavigationCommand };\n//# sourceMappingURL=aurelia-router.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { DOM, FEATURE } from 'aurelia-pal';\n\nvar stackSeparator = '\\nEnqueued in TaskQueue by:\\n';\nvar microStackSeparator = '\\nEnqueued in MicroTaskQueue by:\\n';\n\nfunction makeRequestFlushFromMutationObserver(flush) {\n  var observer = DOM.createMutationObserver(flush);\n  var val = 'a';\n  var node = DOM.createTextNode('a');\n  var values = Object.create(null);\n  values.a = 'b';\n  values.b = 'a';\n  observer.observe(node, { characterData: true });\n  return function requestFlush() {\n    node.data = val = values[val];\n  };\n}\n\nfunction makeRequestFlushFromTimer(flush) {\n  return function requestFlush() {\n    var timeoutHandle = setTimeout(handleFlushTimer, 0);\n\n    var intervalHandle = setInterval(handleFlushTimer, 50);\n    function handleFlushTimer() {\n      clearTimeout(timeoutHandle);\n      clearInterval(intervalHandle);\n      flush();\n    }\n  };\n}\n\nfunction onError(error, task, longStacks) {\n  if (longStacks && task.stack && (typeof error === 'undefined' ? 'undefined' : _typeof(error)) === 'object' && error !== null) {\n    error.stack = filterFlushStack(error.stack) + task.stack;\n  }\n\n  if ('onError' in task) {\n    task.onError(error);\n  } else {\n    setTimeout(function () {\n      throw error;\n    }, 0);\n  }\n}\n\nexport var TaskQueue = function () {\n  function TaskQueue() {\n    var _this = this;\n\n    \n\n    this.flushing = false;\n    this.longStacks = false;\n\n    this.microTaskQueue = [];\n    this.microTaskQueueCapacity = 1024;\n    this.taskQueue = [];\n\n    if (FEATURE.mutationObserver) {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromMutationObserver(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    } else {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromTimer(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    }\n\n    this.requestFlushTaskQueue = makeRequestFlushFromTimer(function () {\n      return _this.flushTaskQueue();\n    });\n  }\n\n  TaskQueue.prototype._flushQueue = function _flushQueue(queue, capacity) {\n    var index = 0;\n    var task = void 0;\n\n    try {\n      this.flushing = true;\n      while (index < queue.length) {\n        task = queue[index];\n        if (this.longStacks) {\n          this.stack = typeof task.stack === 'string' ? task.stack : undefined;\n        }\n        task.call();\n        index++;\n\n        if (index > capacity) {\n          for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n            queue[scan] = queue[scan + index];\n          }\n\n          queue.length -= index;\n          index = 0;\n        }\n      }\n    } catch (error) {\n      onError(error, task, this.longStacks);\n    } finally {\n      this.flushing = false;\n    }\n  };\n\n  TaskQueue.prototype.queueMicroTask = function queueMicroTask(task) {\n    if (this.microTaskQueue.length < 1) {\n      this.requestFlushMicroTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(microStackSeparator);\n    }\n\n    this.microTaskQueue.push(task);\n  };\n\n  TaskQueue.prototype.queueTask = function queueTask(task) {\n    if (this.taskQueue.length < 1) {\n      this.requestFlushTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(stackSeparator);\n    }\n\n    this.taskQueue.push(task);\n  };\n\n  TaskQueue.prototype.flushTaskQueue = function flushTaskQueue() {\n    var queue = this.taskQueue;\n    this.taskQueue = [];\n    this._flushQueue(queue, Number.MAX_VALUE);\n  };\n\n  TaskQueue.prototype.flushMicroTaskQueue = function flushMicroTaskQueue() {\n    var queue = this.microTaskQueue;\n    this._flushQueue(queue, this.microTaskQueueCapacity);\n    queue.length = 0;\n  };\n\n  TaskQueue.prototype.prepareQueueStack = function prepareQueueStack(separator) {\n    var stack = separator + filterQueueStack(captureStack());\n\n    if (typeof this.stack === 'string') {\n      stack = filterFlushStack(stack) + this.stack;\n    }\n\n    return stack;\n  };\n\n  return TaskQueue;\n}();\n\nfunction captureStack() {\n  var error = new Error();\n\n  if (error.stack) {\n    return error.stack;\n  }\n\n  try {\n    throw error;\n  } catch (e) {\n    return e.stack;\n  }\n}\n\nfunction filterQueueStack(stack) {\n  return stack.replace(/^[\\s\\S]*?\\bqueue(Micro)?Task\\b[^\\n]*\\n/, '');\n}\n\nfunction filterFlushStack(stack) {\n  var index = stack.lastIndexOf('flushMicroTaskQueue');\n\n  if (index < 0) {\n    index = stack.lastIndexOf('flushTaskQueue');\n    if (index < 0) {\n      return stack;\n    }\n  }\n\n  index = stack.lastIndexOf('\\n', index);\n\n  return index < 0 ? stack : stack.substr(0, index);\n}","import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating';\nimport { camelCase, SVGAnalyzer, bindingMode, enqueueBindingConnect, connectable, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar AttributeMap = (function () {\r\n    function AttributeMap(svg) {\r\n        this.elements = Object.create(null);\r\n        this.allElements = Object.create(null);\r\n        this.svg = svg;\r\n        this.registerUniversal('accesskey', 'accessKey');\r\n        this.registerUniversal('contenteditable', 'contentEditable');\r\n        this.registerUniversal('tabindex', 'tabIndex');\r\n        this.registerUniversal('textcontent', 'textContent');\r\n        this.registerUniversal('innerhtml', 'innerHTML');\r\n        this.registerUniversal('scrolltop', 'scrollTop');\r\n        this.registerUniversal('scrollleft', 'scrollLeft');\r\n        this.registerUniversal('readonly', 'readOnly');\r\n        this.register('label', 'for', 'htmlFor');\r\n        this.register('img', 'usemap', 'useMap');\r\n        this.register('input', 'maxlength', 'maxLength');\r\n        this.register('input', 'minlength', 'minLength');\r\n        this.register('input', 'formaction', 'formAction');\r\n        this.register('input', 'formenctype', 'formEncType');\r\n        this.register('input', 'formmethod', 'formMethod');\r\n        this.register('input', 'formnovalidate', 'formNoValidate');\r\n        this.register('input', 'formtarget', 'formTarget');\r\n        this.register('textarea', 'maxlength', 'maxLength');\r\n        this.register('td', 'rowspan', 'rowSpan');\r\n        this.register('td', 'colspan', 'colSpan');\r\n        this.register('th', 'rowspan', 'rowSpan');\r\n        this.register('th', 'colspan', 'colSpan');\r\n    }\r\n    AttributeMap.prototype.register = function (elementName, attributeName, propertyName) {\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null));\r\n        element[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) {\r\n        attributeName = attributeName.toLowerCase();\r\n        this.allElements[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.map = function (elementName, attributeName) {\r\n        if (this.svg.isStandardSvgAttribute(elementName, attributeName)) {\r\n            return attributeName;\r\n        }\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName];\r\n        if (element !== undefined && attributeName in element) {\r\n            return element[attributeName];\r\n        }\r\n        if (attributeName in this.allElements) {\r\n            return this.allElements[attributeName];\r\n        }\r\n        if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) {\r\n            return attributeName;\r\n        }\r\n        return camelCase(attributeName);\r\n    };\r\n    AttributeMap.inject = [SVGAnalyzer];\r\n    return AttributeMap;\r\n}());\n\nvar InterpolationBindingExpression = (function () {\r\n    function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.attribute = this.attrToRemove = attribute;\r\n        this.discrete = false;\r\n    }\r\n    InterpolationBindingExpression.prototype.createBinding = function (target) {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions);\r\n    };\r\n    return InterpolationBindingExpression;\r\n}());\r\nfunction validateTarget(target, propertyName) {\r\n    if (propertyName === 'style') {\r\n        LogManager.getLogger('templating-binding')\r\n            .info('Internet Explorer does not support interpolation in \"style\" attributes.  Use the style attribute\\'s alias, \"css\" instead.');\r\n    }\r\n    else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') {\r\n        throw new Error('Interpolation binding cannot be used in the content of a textarea element.  Use <textarea value.bind=\"expression\"></textarea> instead.');\r\n    }\r\n}\r\nvar InterpolationBinding = (function () {\r\n    function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) {\r\n        validateTarget(target, targetProperty);\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.target = target;\r\n        this.targetProperty = targetProperty;\r\n        this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n    }\r\n    InterpolationBinding.prototype.interpolate = function () {\r\n        if (this.isBound) {\r\n            var value = '';\r\n            var parts = this.parts;\r\n            for (var i = 0, ii = parts.length; i < ii; i++) {\r\n                value += (i % 2 === 0 ? parts[i] : this[\"childBinding\".concat(i)].value);\r\n            }\r\n            this.targetAccessor.setValue(value, this.target, this.targetProperty);\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.updateOneTimeBindings = function () {\r\n        for (var i = 1, ii = this.parts.length; i < ii; i += 2) {\r\n            var child = this[\"childBinding\".concat(i)];\r\n            if (child.mode === bindingMode.oneTime) {\r\n                child.call();\r\n            }\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.source = source;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions);\r\n            binding.bind(source);\r\n            this[\"childBinding\".concat(i)] = binding;\r\n        }\r\n        this.isBound = true;\r\n        this.interpolate();\r\n    };\r\n    InterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var name_1 = \"childBinding\".concat(i);\r\n            this[name_1].unbind();\r\n        }\r\n    };\r\n    return InterpolationBinding;\r\n}());\r\nvar ChildInterpolationBinding = (function () {\r\n    function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) {\r\n        if (target instanceof InterpolationBinding) {\r\n            this.parent = target;\r\n        }\r\n        else {\r\n            validateTarget(target, targetProperty);\r\n            this.target = target;\r\n            this.targetProperty = targetProperty;\r\n            this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        }\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.left = left;\r\n        this.right = right;\r\n    }\r\n    ChildInterpolationBinding.prototype.updateTarget = function (value) {\r\n        value = value === null || value === undefined ? '' : value.toString();\r\n        if (value !== this.value) {\r\n            this.value = value;\r\n            if (this.parent) {\r\n                this.parent.interpolate();\r\n            }\r\n            else {\r\n                this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty);\r\n            }\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.call = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode !== bindingMode.oneTime) {\r\n            this._version++;\r\n            this.sourceExpression.connect(this, this.source);\r\n            if (this.rawValue instanceof Array) {\r\n                this.observeArray(this.rawValue);\r\n            }\r\n            this.unobserve(false);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.bind) {\r\n            sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode === bindingMode.oneWay) {\r\n            enqueueBindingConnect(this);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.unbind) {\r\n            sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.value = null;\r\n        this.rawValue = null;\r\n        this.unobserve(true);\r\n    };\r\n    ChildInterpolationBinding.prototype.connect = function (evaluate) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (evaluate) {\r\n            this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n            this.updateTarget(this.rawValue);\r\n        }\r\n        this.sourceExpression.connect(this, this.source);\r\n        if (this.rawValue instanceof Array) {\r\n            this.observeArray(this.rawValue);\r\n        }\r\n    };\r\n    ChildInterpolationBinding = __decorate([\r\n        connectable()\r\n    ], ChildInterpolationBinding);\r\n    return ChildInterpolationBinding;\r\n}());\n\nvar LetExpression = (function () {\r\n    function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetExpression.prototype.createBinding = function () {\r\n        return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetExpression;\r\n}());\r\nvar LetBinding = (function () {\r\n    function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetBinding.prototype.updateTarget = function () {\r\n        var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.target[this.targetProperty] = value;\r\n    };\r\n    LetBinding.prototype.call = function (context) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (context === sourceContext) {\r\n            this.updateTarget();\r\n            return;\r\n        }\r\n        throw new Error(\"Unexpected call context \".concat(context));\r\n    };\r\n    LetBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        if (this.sourceExpression.bind) {\r\n            this.sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        enqueueBindingConnect(this);\r\n    };\r\n    LetBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        if (this.sourceExpression.unbind) {\r\n            this.sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.target = null;\r\n        this.unobserve(true);\r\n    };\r\n    LetBinding.prototype.unobserve = function (arg0) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    LetBinding.prototype.connect = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.updateTarget();\r\n        this.sourceExpression.connect(this, this.source);\r\n    };\r\n    LetBinding = __decorate([\r\n        connectable()\r\n    ], LetBinding);\r\n    return LetBinding;\r\n}());\n\nvar LetInterpolationBindingExpression = (function () {\r\n    function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetInterpolationBindingExpression.prototype.createBinding = function () {\r\n        return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetInterpolationBindingExpression;\r\n}());\r\nvar LetInterpolationBinding = (function () {\r\n    function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n        this.target = null;\r\n    }\r\n    LetInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        this.interpolationBinding = this.createInterpolationBinding();\r\n        this.interpolationBinding.bind(source);\r\n    };\r\n    LetInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.interpolationBinding.unbind();\r\n        this.interpolationBinding = null;\r\n    };\r\n    LetInterpolationBinding.prototype.createInterpolationBinding = function () {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions);\r\n    };\r\n    return LetInterpolationBinding;\r\n}());\n\nvar SyntaxInterpreter = (function () {\r\n    function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) {\r\n        this.parser = parser;\r\n        this.observerLocator = observerLocator;\r\n        this.eventManager = eventManager;\r\n        this.attributeMap = attributeMap;\r\n    }\r\n    SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) {\r\n        if (info.command in this) {\r\n            return this[info.command](resources, element, info, existingInstruction, context);\r\n        }\r\n        return this.handleUnknownCommand(resources, element, info, existingInstruction, context);\r\n    };\r\n    SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) {\r\n        LogManager.getLogger('templating-binding').warn('Unknown binding command.', info);\r\n        return existingInstruction;\r\n    };\r\n    SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) {\r\n        var tagName = element.tagName.toLowerCase();\r\n        if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio'\r\n            || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio')\r\n            || (tagName === 'textarea' || tagName === 'select') && attrName === 'value'\r\n            || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true'\r\n            || attrName === 'scrolltop'\r\n            || attrName === 'scrollleft') {\r\n            return bindingMode.twoWay;\r\n        }\r\n        if (context\r\n            && attrName in context.attributes\r\n            && context.attributes[attrName]\r\n            && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) {\r\n            return context.attributes[attrName].defaultBindingMode;\r\n        }\r\n        return bindingMode.toView;\r\n    };\r\n    SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null\r\n            ? this.determineDefaultBindingMode(element, info.attrName, context)\r\n            : info.defaultBindingMode, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.trigger = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.capture = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.delegate = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        var attrValue = info.attrValue;\r\n        var language = this.language;\r\n        var name = null;\r\n        var target = '';\r\n        var current;\r\n        var i;\r\n        var ii;\r\n        var inString = false;\r\n        var inEscape = false;\r\n        var foundName = false;\r\n        for (i = 0, ii = attrValue.length; i < ii; ++i) {\r\n            current = attrValue[i];\r\n            if (current === ';' && !inString) {\r\n                if (!foundName) {\r\n                    name = this._getPrimaryPropertyName(resources, context);\r\n                }\r\n                info = language.inspectAttribute(resources, '?', name, target.trim());\r\n                language.createAttributeInstruction(resources, element, info, instruction, context);\r\n                if (!instruction.attributes[info.attrName]) {\r\n                    instruction.attributes[info.attrName] = info.attrValue;\r\n                }\r\n                target = '';\r\n                name = null;\r\n            }\r\n            else if (current === ':' && name === null) {\r\n                foundName = true;\r\n                name = target.trim();\r\n                target = '';\r\n            }\r\n            else if (current === '\\\\') {\r\n                target += current;\r\n                inEscape = true;\r\n                continue;\r\n            }\r\n            else {\r\n                target += current;\r\n                if (name !== null && inEscape === false && current === '\\'') {\r\n                    inString = !inString;\r\n                }\r\n            }\r\n            inEscape = false;\r\n        }\r\n        if (!foundName) {\r\n            name = this._getPrimaryPropertyName(resources, context);\r\n        }\r\n        if (name !== null) {\r\n            info = language.inspectAttribute(resources, '?', name, target.trim());\r\n            language.createAttributeInstruction(resources, element, info, instruction, context);\r\n            if (!instruction.attributes[info.attrName]) {\r\n                instruction.attributes[info.attrName] = info.attrValue;\r\n            }\r\n        }\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) {\r\n        var type = resources.getAttribute(context.attributeName);\r\n        if (type && type.primaryProperty) {\r\n            return type.primaryProperty.attribute;\r\n        }\r\n        return null;\r\n    };\r\n    SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) {\r\n        var parts;\r\n        var keyValue;\r\n        var instruction;\r\n        var attrValue;\r\n        var isDestructuring;\r\n        attrValue = info.attrValue;\r\n        isDestructuring = attrValue.match(/^ *[[].+[\\]]/);\r\n        parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of ');\r\n        if (parts.length !== 2) {\r\n            throw new Error('Incorrect syntax for \"for\". The form is: \"$local of $items\" or \"[$key, $value] of $items\".');\r\n        }\r\n        instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        if (isDestructuring) {\r\n            keyValue = parts[0].replace(/[[\\]]/g, '').replace(/,/g, ' ').replace(/\\s+/g, ' ').trim().split(' ');\r\n            instruction.attributes.key = keyValue[0];\r\n            instruction.attributes.value = keyValue[1];\r\n        }\r\n        else {\r\n            instruction.attributes.local = parts[0];\r\n        }\r\n        instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap];\r\n    return SyntaxInterpreter;\r\n}());\r\nObject.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view'));\n\nvar info = {};\r\nvar TemplatingBindingLanguage = (function (_super) {\r\n    __extends(TemplatingBindingLanguage, _super);\r\n    function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) {\r\n        var _this = _super.call(this) || this;\r\n        _this.parser = parser;\r\n        _this.observerLocator = observerLocator;\r\n        _this.syntaxInterpreter = syntaxInterpreter;\r\n        _this.emptyStringExpression = _this.parser.parse('\\'\\'');\r\n        syntaxInterpreter.language = _this;\r\n        _this.attributeMap = attributeMap;\r\n        _this.toBindingContextAttr = 'to-binding-context';\r\n        return _this;\r\n    }\r\n    TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        var parts = attrName.split('.');\r\n        info.defaultBindingMode = null;\r\n        if (parts.length === 2) {\r\n            info.attrName = parts[0].trim();\r\n            info.attrValue = attrValue;\r\n            info.command = parts[1].trim();\r\n            if (info.command === 'ref') {\r\n                info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions);\r\n                info.command = null;\r\n                info.attrName = 'ref';\r\n            }\r\n            else {\r\n                info.expression = null;\r\n            }\r\n        }\r\n        else if (attrName === 'ref') {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions);\r\n        }\r\n        else {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            var interpolationParts = this.parseInterpolation(resources, attrValue);\r\n            if (interpolationParts === null) {\r\n                info.expression = null;\r\n            }\r\n            else {\r\n                info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName);\r\n            }\r\n        }\r\n        return info;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) {\r\n        var instruction;\r\n        if (theInfo.expression) {\r\n            if (theInfo.attrName === 'ref') {\r\n                return theInfo.expression;\r\n            }\r\n            instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName);\r\n            instruction.attributes[theInfo.attrName] = theInfo.expression;\r\n        }\r\n        else if (theInfo.command) {\r\n            instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context);\r\n        }\r\n        return instruction;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) {\r\n        var expressions = [];\r\n        var attributes = letElement.attributes;\r\n        var attr;\r\n        var parts;\r\n        var attrName;\r\n        var attrValue;\r\n        var command;\r\n        var toBindingContextAttr = this.toBindingContextAttr;\r\n        var toBindingContext = letElement.hasAttribute(toBindingContextAttr);\r\n        for (var i = 0, ii = attributes.length; ii > i; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.nodeValue;\r\n            parts = attrName.split('.');\r\n            if (attrName === toBindingContextAttr) {\r\n                continue;\r\n            }\r\n            if (parts.length === 2) {\r\n                command = parts[1];\r\n                if (command !== 'bind') {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected invalid let command. Expected \\\"\".concat(parts[0], \".bind\\\", given \\\"\").concat(attrName, \"\\\"\"));\r\n                    continue;\r\n                }\r\n                expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext));\r\n            }\r\n            else {\r\n                attrName = camelCase(attrName);\r\n                parts = this.parseInterpolation(resources, attrValue);\r\n                if (parts === null) {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected string literal in let bindings. Did you mean \\\"\".concat(attrName, \".bind=\").concat(attrValue, \"\\\" or \\\"\").concat(attrName, \"=${\").concat(attrValue, \"}\\\" ?\"));\r\n                }\r\n                if (parts) {\r\n                    expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext));\r\n                }\r\n                else {\r\n                    expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext));\r\n                }\r\n            }\r\n        }\r\n        return expressions;\r\n    };\r\n    TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        var parts = this.parseInterpolation(resources, value);\r\n        if (parts === null) {\r\n            return null;\r\n        }\r\n        return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent');\r\n    };\r\n    TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) {\r\n        var i = value.indexOf('${', 0);\r\n        var ii = value.length;\r\n        var char;\r\n        var pos = 0;\r\n        var open = 0;\r\n        var quote = null;\r\n        var interpolationStart;\r\n        var parts;\r\n        var partIndex = 0;\r\n        while (i >= 0 && i < ii - 2) {\r\n            open = 1;\r\n            interpolationStart = i;\r\n            i += 2;\r\n            do {\r\n                char = value[i];\r\n                i++;\r\n                if (char === \"'\" || char === '\"') {\r\n                    if (quote === null) {\r\n                        quote = char;\r\n                    }\r\n                    else if (quote === char) {\r\n                        quote = null;\r\n                    }\r\n                    continue;\r\n                }\r\n                if (char === '\\\\') {\r\n                    i++;\r\n                    continue;\r\n                }\r\n                if (quote !== null) {\r\n                    continue;\r\n                }\r\n                if (char === '{') {\r\n                    open++;\r\n                }\r\n                else if (char === '}') {\r\n                    open--;\r\n                }\r\n            } while (open > 0 && i < ii);\r\n            if (open === 0) {\r\n                parts = parts || [];\r\n                if (value[interpolationStart - 1] === '\\\\' && value[interpolationStart - 2] !== '\\\\') {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.emptyStringExpression;\r\n                    partIndex++;\r\n                }\r\n                else {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1));\r\n                    partIndex++;\r\n                }\r\n                pos = i;\r\n                i = value.indexOf('${', i);\r\n            }\r\n            else {\r\n                break;\r\n            }\r\n        }\r\n        if (partIndex === 0) {\r\n            return null;\r\n        }\r\n        parts[partIndex] = value.substr(pos);\r\n        return parts;\r\n    };\r\n    TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap];\r\n    return TemplatingBindingLanguage;\r\n}(BindingLanguage));\n\nfunction configure(config) {\r\n    config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage);\r\n    config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage);\r\n}\n\nexport { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure };\n//# sourceMappingURL=aurelia-templating-binding.js.map\n","import { Container, inject, Optional } from 'aurelia-dependency-injection';\nimport { DOM, FEATURE } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { bindable, noView, customElement, CompositionEngine, ViewSlot, ViewResources, customAttribute, templateController, BoundViewFactory, TargetInstruction, Animator, resource, useView, useShadowDOM, ViewEngine } from 'aurelia-templating';\nimport { createOverrideContext, bindingMode, BindingBehavior, ValueConverter, sourceContext, mergeSplice, ObserverLocator, valueConverter, DataAttributeObserver, bindingBehavior, targetContext, EventSubscriber } from 'aurelia-binding';\nimport { Loader } from 'aurelia-loader';\nimport { relativeToFile } from 'aurelia-path';\nimport { mixin } from 'aurelia-metadata';\nimport { getLogger } from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar ActivationStrategy;\r\n(function (ActivationStrategy) {\r\n    ActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    ActivationStrategy[\"Replace\"] = \"replace\";\r\n})(ActivationStrategy || (ActivationStrategy = {}));\r\nvar Compose = (function () {\r\n    function Compose(element, container, compositionEngine, viewSlot, viewResources, taskQueue) {\r\n        this.activationStrategy = ActivationStrategy.InvokeLifecycle;\r\n        this.element = element;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.viewSlot = viewSlot;\r\n        this.viewResources = viewResources;\r\n        this.taskQueue = taskQueue;\r\n        this.currentController = null;\r\n        this.currentViewModel = null;\r\n        this.changes = Object.create(null);\r\n    }\r\n    Compose.inject = function () {\r\n        return [DOM.Element, Container, CompositionEngine, ViewSlot, ViewResources, TaskQueue];\r\n    };\r\n    Compose.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    Compose.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n        var changes = this.changes;\r\n        changes.view = this.view;\r\n        changes.viewModel = this.viewModel;\r\n        changes.model = this.model;\r\n        if (!this.pendingTask) {\r\n            processChanges(this);\r\n        }\r\n    };\r\n    Compose.prototype.unbind = function () {\r\n        this.changes = Object.create(null);\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        var returnToCache = true;\r\n        var skipAnimation = true;\r\n        this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Compose.prototype.modelChanged = function (newValue, oldValue) {\r\n        this.changes.model = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewChanged = function (newValue, oldValue) {\r\n        this.changes.view = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewModelChanged = function (newValue, oldValue) {\r\n        this.changes.viewModel = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"model\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"view\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"viewModel\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"activationStrategy\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"swapOrder\", void 0);\r\n    Compose = __decorate([\r\n        noView,\r\n        customElement('compose')\r\n    ], Compose);\r\n    return Compose;\r\n}());\r\nfunction isEmpty(obj) {\r\n    for (var _ in obj) {\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\nfunction tryActivateViewModel(vm, model) {\r\n    if (vm && typeof vm.activate === 'function') {\r\n        return Promise.resolve(vm.activate(model));\r\n    }\r\n}\r\nfunction createInstruction(composer, instruction) {\r\n    return Object.assign(instruction, {\r\n        bindingContext: composer.bindingContext,\r\n        overrideContext: composer.overrideContext,\r\n        owningView: composer.owningView,\r\n        container: composer.container,\r\n        viewSlot: composer.viewSlot,\r\n        viewResources: composer.viewResources,\r\n        currentController: composer.currentController,\r\n        host: composer.element,\r\n        swapOrder: composer.swapOrder\r\n    });\r\n}\r\nfunction processChanges(composer) {\r\n    var changes = composer.changes;\r\n    composer.changes = Object.create(null);\r\n    if (needsReInitialization(composer, changes)) {\r\n        var instruction = {\r\n            view: composer.view,\r\n            viewModel: composer.currentViewModel || composer.viewModel,\r\n            model: composer.model\r\n        };\r\n        instruction = Object.assign(instruction, changes);\r\n        instruction = createInstruction(composer, instruction);\r\n        composer.pendingTask = composer.compositionEngine.compose(instruction).then(function (controller) {\r\n            composer.currentController = controller;\r\n            composer.currentViewModel = controller ? controller.viewModel : null;\r\n        });\r\n    }\r\n    else {\r\n        composer.pendingTask = tryActivateViewModel(composer.currentViewModel, changes.model);\r\n        if (!composer.pendingTask) {\r\n            return;\r\n        }\r\n    }\r\n    composer.pendingTask = composer.pendingTask\r\n        .then(function () {\r\n        completeCompositionTask(composer);\r\n    }, function (reason) {\r\n        completeCompositionTask(composer);\r\n        throw reason;\r\n    });\r\n}\r\nfunction completeCompositionTask(composer) {\r\n    composer.pendingTask = null;\r\n    if (!isEmpty(composer.changes)) {\r\n        processChanges(composer);\r\n    }\r\n}\r\nfunction requestUpdate(composer) {\r\n    if (composer.pendingTask || composer.updateRequested) {\r\n        return;\r\n    }\r\n    composer.updateRequested = true;\r\n    composer.taskQueue.queueMicroTask(function () {\r\n        composer.updateRequested = false;\r\n        processChanges(composer);\r\n    });\r\n}\r\nfunction needsReInitialization(composer, changes) {\r\n    var activationStrategy = composer.activationStrategy;\r\n    var vm = composer.currentViewModel;\r\n    if (vm && typeof vm.determineActivationStrategy === 'function') {\r\n        activationStrategy = vm.determineActivationStrategy();\r\n    }\r\n    return 'view' in changes\r\n        || 'viewModel' in changes\r\n        || activationStrategy === ActivationStrategy.Replace;\r\n}\n\nvar IfCore = (function () {\r\n    function IfCore(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.showing = false;\r\n        this.cache = true;\r\n    }\r\n    IfCore.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    IfCore.prototype.unbind = function () {\r\n        if (this.view === null) {\r\n            return;\r\n        }\r\n        this.view.unbind();\r\n        if (!this.viewFactory.isCaching) {\r\n            return;\r\n        }\r\n        if (this.showing) {\r\n            this.showing = false;\r\n            this.viewSlot.remove(this.view, true, true);\r\n        }\r\n        else {\r\n            this.view.returnToCache();\r\n        }\r\n        this.view = null;\r\n    };\r\n    IfCore.prototype._show = function () {\r\n        if (this.showing) {\r\n            if (!this.view.isBound) {\r\n                this.view.bind(this.bindingContext, this.overrideContext);\r\n            }\r\n            return;\r\n        }\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n        }\r\n        if (!this.view.isBound) {\r\n            this.view.bind(this.bindingContext, this.overrideContext);\r\n        }\r\n        this.showing = true;\r\n        return this.viewSlot.add(this.view);\r\n    };\r\n    IfCore.prototype._hide = function () {\r\n        var _this = this;\r\n        if (!this.showing) {\r\n            return;\r\n        }\r\n        this.showing = false;\r\n        var removed = this.viewSlot.remove(this.view);\r\n        if (removed instanceof Promise) {\r\n            return removed.then(function () {\r\n                _this._unbindView();\r\n            });\r\n        }\r\n        this._unbindView();\r\n    };\r\n    IfCore.prototype._unbindView = function () {\r\n        var cache = this.cache === 'false' ? false : !!this.cache;\r\n        this.view.unbind();\r\n        if (!cache) {\r\n            this.view = null;\r\n        }\r\n    };\r\n    return IfCore;\r\n}());\n\nvar If = (function (_super) {\r\n    __extends(If, _super);\r\n    function If() {\r\n        var _this = _super !== null && _super.apply(this, arguments) || this;\r\n        _this.cache = true;\r\n        return _this;\r\n    }\r\n    If.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.condition) {\r\n            this._show();\r\n        }\r\n        else {\r\n            this._hide();\r\n        }\r\n    };\r\n    If.prototype.conditionChanged = function (newValue) {\r\n        this._update(newValue);\r\n    };\r\n    If.prototype._update = function (show) {\r\n        var _this = this;\r\n        if (this.animating) {\r\n            return;\r\n        }\r\n        var promise;\r\n        if (this.elseVm) {\r\n            promise = show ? this._swap(this.elseVm, this) : this._swap(this, this.elseVm);\r\n        }\r\n        else {\r\n            promise = show ? this._show() : this._hide();\r\n        }\r\n        if (promise) {\r\n            this.animating = true;\r\n            promise.then(function () {\r\n                _this.animating = false;\r\n                if (_this.condition !== _this.showing) {\r\n                    _this._update(_this.condition);\r\n                }\r\n            });\r\n        }\r\n    };\r\n    If.prototype._swap = function (remove, add) {\r\n        switch (this.swapOrder) {\r\n            case 'before':\r\n                return Promise.resolve(add._show()).then(function () { return remove._hide(); });\r\n            case 'with':\r\n                return Promise.all([remove._hide(), add._show()]);\r\n            default:\r\n                var promise = remove._hide();\r\n                return promise ? promise.then(function () { return add._show(); }) : add._show();\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ primaryProperty: true })\r\n    ], If.prototype, \"condition\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"swapOrder\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"cache\", void 0);\r\n    If = __decorate([\r\n        customAttribute('if'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], If);\r\n    return If;\r\n}(IfCore));\n\nvar Else = (function (_super) {\r\n    __extends(Else, _super);\r\n    function Else(viewFactory, viewSlot) {\r\n        var _this = _super.call(this, viewFactory, viewSlot) || this;\r\n        _this._registerInIf();\r\n        return _this;\r\n    }\r\n    Else.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.ifVm.condition) {\r\n            this._hide();\r\n        }\r\n        else {\r\n            this._show();\r\n        }\r\n    };\r\n    Else.prototype._registerInIf = function () {\r\n        var previous = this.viewSlot.anchor.previousSibling;\r\n        while (previous && !previous.au) {\r\n            previous = previous.previousSibling;\r\n        }\r\n        if (!previous || !previous.au.if) {\r\n            throw new Error(\"Can't find matching If for Else custom attribute.\");\r\n        }\r\n        this.ifVm = previous.au.if.viewModel;\r\n        this.ifVm.elseVm = this;\r\n    };\r\n    Else = __decorate([\r\n        customAttribute('else'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Else);\r\n    return Else;\r\n}(IfCore));\n\nvar With = (function () {\r\n    function With(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.parentOverrideContext = null;\r\n        this.view = null;\r\n    }\r\n    With.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.parentOverrideContext = overrideContext;\r\n        this.valueChanged(this.value);\r\n    };\r\n    With.prototype.valueChanged = function (newValue) {\r\n        var overrideContext = createOverrideContext(newValue, this.parentOverrideContext);\r\n        var view = this.view;\r\n        if (!view) {\r\n            view = this.view = this.viewFactory.create();\r\n            view.bind(newValue, overrideContext);\r\n            this.viewSlot.add(view);\r\n        }\r\n        else {\r\n            view.bind(newValue, overrideContext);\r\n        }\r\n    };\r\n    With.prototype.unbind = function () {\r\n        var view = this.view;\r\n        this.parentOverrideContext = null;\r\n        if (view) {\r\n            view.unbind();\r\n        }\r\n    };\r\n    With = __decorate([\r\n        customAttribute('with'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], With);\r\n    return With;\r\n}());\n\nvar oneTime = bindingMode.oneTime;\r\nfunction updateOverrideContexts(views, startIndex) {\r\n    var length = views.length;\r\n    if (startIndex > 0) {\r\n        startIndex = startIndex - 1;\r\n    }\r\n    for (; startIndex < length; ++startIndex) {\r\n        updateOverrideContext(views[startIndex].overrideContext, startIndex, length);\r\n    }\r\n}\r\nfunction createFullOverrideContext(repeat, data, index, length, key) {\r\n    var bindingContext = {};\r\n    var overrideContext = createOverrideContext(bindingContext, repeat.scope.overrideContext);\r\n    if (typeof key !== 'undefined') {\r\n        bindingContext[repeat.key] = key;\r\n        bindingContext[repeat.value] = data;\r\n    }\r\n    else {\r\n        bindingContext[repeat.local] = data;\r\n    }\r\n    updateOverrideContext(overrideContext, index, length);\r\n    return overrideContext;\r\n}\r\nfunction updateOverrideContext(overrideContext, index, length) {\r\n    var first = (index === 0);\r\n    var last = (index === length - 1);\r\n    var even = index % 2 === 0;\r\n    overrideContext.$index = index;\r\n    overrideContext.$first = first;\r\n    overrideContext.$last = last;\r\n    overrideContext.$middle = !(first || last);\r\n    overrideContext.$odd = !even;\r\n    overrideContext.$even = even;\r\n}\r\nfunction getItemsSourceExpression(instruction, attrName) {\r\n    return instruction.behaviorInstructions\r\n        .filter(function (bi) { return bi.originalAttrName === attrName; })[0]\r\n        .attributes\r\n        .items\r\n        .sourceExpression;\r\n}\r\nfunction unwrapExpression(expression) {\r\n    var unwrapped = false;\r\n    while (expression instanceof BindingBehavior) {\r\n        expression = expression.expression;\r\n    }\r\n    while (expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n        unwrapped = true;\r\n    }\r\n    return unwrapped ? expression : null;\r\n}\r\nfunction isOneTime(expression) {\r\n    while (expression instanceof BindingBehavior) {\r\n        if (expression.name === 'oneTime') {\r\n            return true;\r\n        }\r\n        expression = expression.expression;\r\n    }\r\n    return false;\r\n}\r\nfunction updateOneTimeBinding(binding) {\r\n    if (binding.call && binding.mode === oneTime) {\r\n        binding.call(sourceContext);\r\n    }\r\n    else if (binding.updateOneTimeBindings) {\r\n        binding.updateOneTimeBindings();\r\n    }\r\n}\r\nfunction indexOf(array, item, matcher, startIndex) {\r\n    if (!matcher) {\r\n        return array.indexOf(item);\r\n    }\r\n    var length = array.length;\r\n    for (var index = startIndex || 0; index < length; index++) {\r\n        if (matcher(array[index], item)) {\r\n            return index;\r\n        }\r\n    }\r\n    return -1;\r\n}\n\nvar ArrayRepeatStrategy = (function () {\r\n    function ArrayRepeatStrategy() {\r\n    }\r\n    ArrayRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getArrayObserver(items);\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var $repeat = repeat;\r\n        var itemsLength = items.length;\r\n        if (!items || itemsLength === 0) {\r\n            $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n            return;\r\n        }\r\n        var children = $repeat.views();\r\n        var viewsLength = children.length;\r\n        if (viewsLength === 0) {\r\n            this._standardProcessInstanceChanged($repeat, items);\r\n            return;\r\n        }\r\n        if ($repeat.viewsRequireLifecycle) {\r\n            var childrenSnapshot = children.slice(0);\r\n            var itemNameInBindingContext = $repeat.local;\r\n            var matcher_1 = $repeat.matcher();\r\n            var itemsPreviouslyInViews_1 = [];\r\n            var viewsToRemove = [];\r\n            for (var index = 0; index < viewsLength; index++) {\r\n                var view = childrenSnapshot[index];\r\n                var oldItem = view.bindingContext[itemNameInBindingContext];\r\n                if (indexOf(items, oldItem, matcher_1) === -1) {\r\n                    viewsToRemove.push(view);\r\n                }\r\n                else {\r\n                    itemsPreviouslyInViews_1.push(oldItem);\r\n                }\r\n            }\r\n            var updateViews = void 0;\r\n            var removePromise = void 0;\r\n            if (itemsPreviouslyInViews_1.length > 0) {\r\n                removePromise = $repeat.removeViews(viewsToRemove, true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () {\r\n                    for (var index = 0; index < itemsLength; index++) {\r\n                        var item = items[index];\r\n                        var indexOfView = indexOf(itemsPreviouslyInViews_1, item, matcher_1, index);\r\n                        var view = void 0;\r\n                        if (indexOfView === -1) {\r\n                            var overrideContext = createFullOverrideContext($repeat, items[index], index, itemsLength);\r\n                            $repeat.insertView(index, overrideContext.bindingContext, overrideContext);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        else if (indexOfView === index) {\r\n                            view = children[indexOfView];\r\n                            itemsPreviouslyInViews_1[indexOfView] = undefined;\r\n                        }\r\n                        else {\r\n                            view = children[indexOfView];\r\n                            $repeat.moveView(indexOfView, index);\r\n                            itemsPreviouslyInViews_1.splice(indexOfView, 1);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        if (view) {\r\n                            updateOverrideContext(view.overrideContext, index, itemsLength);\r\n                        }\r\n                    }\r\n                    _this._inPlaceProcessItems($repeat, items);\r\n                };\r\n            }\r\n            else {\r\n                removePromise = $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () { return _this._standardProcessInstanceChanged($repeat, items); };\r\n            }\r\n            if (removePromise instanceof Promise) {\r\n                removePromise.then(updateViews);\r\n            }\r\n            else {\r\n                updateViews();\r\n            }\r\n        }\r\n        else {\r\n            this._inPlaceProcessItems($repeat, items);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._standardProcessInstanceChanged = function (repeat, items) {\r\n        for (var i = 0, ii = items.length; i < ii; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._inPlaceProcessItems = function (repeat, items) {\r\n        var itemsLength = items.length;\r\n        var viewsLength = repeat.viewCount();\r\n        while (viewsLength > itemsLength) {\r\n            viewsLength--;\r\n            repeat.removeView(viewsLength, true, !repeat.viewsRequireLifecycle);\r\n        }\r\n        var local = repeat.local;\r\n        for (var i = 0; i < viewsLength; i++) {\r\n            var view = repeat.view(i);\r\n            var last = i === itemsLength - 1;\r\n            var middle = i !== 0 && !last;\r\n            var bindingContext = view.bindingContext;\r\n            var overrideContext = view.overrideContext;\r\n            if (bindingContext[local] === items[i]\r\n                && overrideContext.$middle === middle\r\n                && overrideContext.$last === last) {\r\n                continue;\r\n            }\r\n            bindingContext[local] = items[i];\r\n            overrideContext.$middle = middle;\r\n            overrideContext.$last = last;\r\n            repeat.updateBindings(view);\r\n        }\r\n        for (var i = viewsLength; i < itemsLength; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, itemsLength);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceMutated = function (repeat, array, splices) {\r\n        var _this = this;\r\n        if (repeat.__queuedSplices) {\r\n            for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n                var _a = splices[i], index = _a.index, removed = _a.removed, addedCount = _a.addedCount;\r\n                mergeSplice(repeat.__queuedSplices, index, removed, addedCount);\r\n            }\r\n            repeat.__array = array.slice(0);\r\n            return;\r\n        }\r\n        var maybePromise = this._runSplices(repeat, array.slice(0), splices);\r\n        if (maybePromise instanceof Promise) {\r\n            var queuedSplices_1 = repeat.__queuedSplices = [];\r\n            var runQueuedSplices_1 = function () {\r\n                if (!queuedSplices_1.length) {\r\n                    repeat.__queuedSplices = undefined;\r\n                    repeat.__array = undefined;\r\n                    return;\r\n                }\r\n                var nextPromise = _this._runSplices(repeat, repeat.__array, queuedSplices_1) || Promise.resolve();\r\n                queuedSplices_1 = repeat.__queuedSplices = [];\r\n                nextPromise.then(runQueuedSplices_1);\r\n            };\r\n            maybePromise.then(runQueuedSplices_1);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._runSplices = function (repeat, array, splices) {\r\n        var _this = this;\r\n        var removeDelta = 0;\r\n        var rmPromises = [];\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var removed = splice.removed;\r\n            for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n                var viewOrPromise = repeat.removeView(splice.index + removeDelta + rmPromises.length, true);\r\n                if (viewOrPromise instanceof Promise) {\r\n                    rmPromises.push(viewOrPromise);\r\n                }\r\n            }\r\n            removeDelta -= splice.addedCount;\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () {\r\n                var spliceIndexLow = _this._handleAddedSplices(repeat, array, splices);\r\n                updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n            });\r\n        }\r\n        var spliceIndexLow = this._handleAddedSplices(repeat, array, splices);\r\n        updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n        return undefined;\r\n    };\r\n    ArrayRepeatStrategy.prototype._handleAddedSplices = function (repeat, array, splices) {\r\n        var spliceIndex;\r\n        var spliceIndexLow;\r\n        var arrayLength = array.length;\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var addIndex = spliceIndex = splice.index;\r\n            var end = splice.index + splice.addedCount;\r\n            if (typeof spliceIndexLow === 'undefined' || spliceIndexLow === null || spliceIndexLow > splice.index) {\r\n                spliceIndexLow = spliceIndex;\r\n            }\r\n            for (; addIndex < end; ++addIndex) {\r\n                var overrideContext = createFullOverrideContext(repeat, array[addIndex], addIndex, arrayLength);\r\n                repeat.insertView(addIndex, overrideContext.bindingContext, overrideContext);\r\n            }\r\n        }\r\n        return spliceIndexLow;\r\n    };\r\n    return ArrayRepeatStrategy;\r\n}());\n\nvar MapRepeatStrategy = (function () {\r\n    function MapRepeatStrategy() {\r\n    }\r\n    MapRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getMapObserver(items);\r\n    };\r\n    MapRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    MapRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value, key) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size, key);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    MapRepeatStrategy.prototype.instanceMutated = function (repeat, map, records) {\r\n        var key;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var addIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            key = record.key;\r\n            switch (record.type) {\r\n                case 'update':\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), removeIndex, map.size, key);\r\n                    repeat.insertView(removeIndex, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'add':\r\n                    addIndex = repeat.viewCount() <= map.size - 1 ? repeat.viewCount() : map.size - 1;\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), addIndex, map.size, key);\r\n                    repeat.insertView(map.size - 1, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    if (record.oldValue === undefined) {\r\n                        return;\r\n                    }\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    MapRepeatStrategy.prototype._getViewIndexByKey = function (repeat, key) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.key] === key) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return MapRepeatStrategy;\r\n}());\n\nvar NullRepeatStrategy = (function () {\r\n    function NullRepeatStrategy() {\r\n    }\r\n    NullRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        repeat.removeAllViews(true);\r\n    };\r\n    NullRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n    };\r\n    return NullRepeatStrategy;\r\n}());\n\nvar NumberRepeatStrategy = (function () {\r\n    function NumberRepeatStrategy() {\r\n    }\r\n    NumberRepeatStrategy.prototype.getCollectionObserver = function () {\r\n        return null;\r\n    };\r\n    NumberRepeatStrategy.prototype.instanceChanged = function (repeat, value) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, value); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, value);\r\n    };\r\n    NumberRepeatStrategy.prototype._standardProcessItems = function (repeat, value) {\r\n        var childrenLength = repeat.viewCount();\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var viewsToRemove;\r\n        value = Math.floor(value);\r\n        viewsToRemove = childrenLength - value;\r\n        if (viewsToRemove > 0) {\r\n            if (viewsToRemove > childrenLength) {\r\n                viewsToRemove = childrenLength;\r\n            }\r\n            for (i = 0, ii = viewsToRemove; i < ii; ++i) {\r\n                repeat.removeView(childrenLength - (i + 1), true, !repeat.viewsRequireLifecycle);\r\n            }\r\n            return;\r\n        }\r\n        for (i = childrenLength, ii = value; i < ii; ++i) {\r\n            overrideContext = createFullOverrideContext(repeat, i, i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n        updateOverrideContexts(repeat.views(), 0);\r\n    };\r\n    return NumberRepeatStrategy;\r\n}());\n\nvar SetRepeatStrategy = (function () {\r\n    function SetRepeatStrategy() {\r\n    }\r\n    SetRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getSetObserver(items);\r\n    };\r\n    SetRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    SetRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    SetRepeatStrategy.prototype.instanceMutated = function (repeat, set, records) {\r\n        var value;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            value = record.value;\r\n            switch (record.type) {\r\n                case 'add':\r\n                    var size = Math.max(set.size - 1, 0);\r\n                    overrideContext = createFullOverrideContext(repeat, value, size, set.size);\r\n                    repeat.insertView(size, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    removeIndex = this._getViewIndexByValue(repeat, value);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    SetRepeatStrategy.prototype._getViewIndexByValue = function (repeat, value) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.local] === value) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return SetRepeatStrategy;\r\n}());\n\nvar RepeatStrategyLocator = (function () {\r\n    function RepeatStrategyLocator() {\r\n        this.matchers = [];\r\n        this.strategies = [];\r\n        this.addStrategy(function (items) { return items === null || items === undefined; }, new NullRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Array; }, new ArrayRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Map; }, new MapRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Set; }, new SetRepeatStrategy());\r\n        this.addStrategy(function (items) { return typeof items === 'number'; }, new NumberRepeatStrategy());\r\n    }\r\n    RepeatStrategyLocator.prototype.addStrategy = function (matcher, strategy) {\r\n        this.matchers.push(matcher);\r\n        this.strategies.push(strategy);\r\n    };\r\n    RepeatStrategyLocator.prototype.getStrategy = function (items) {\r\n        var matchers = this.matchers;\r\n        for (var i = 0, ii = matchers.length; i < ii; ++i) {\r\n            if (matchers[i](items)) {\r\n                return this.strategies[i];\r\n            }\r\n        }\r\n        return null;\r\n    };\r\n    return RepeatStrategyLocator;\r\n}());\n\nvar lifecycleOptionalBehaviors = ['focus', 'if', 'else', 'repeat', 'show', 'hide', 'with'];\r\nfunction behaviorRequiresLifecycle(instruction) {\r\n    var t = instruction.type;\r\n    var name = t.elementName !== null ? t.elementName : t.attributeName;\r\n    return lifecycleOptionalBehaviors.indexOf(name) === -1 && (t.handlesAttached || t.handlesBind || t.handlesCreated || t.handlesDetached || t.handlesUnbind)\r\n        || t.viewFactory && viewsRequireLifecycle(t.viewFactory)\r\n        || instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction targetRequiresLifecycle(instruction) {\r\n    var behaviors = instruction.behaviorInstructions;\r\n    if (behaviors) {\r\n        var i = behaviors.length;\r\n        while (i--) {\r\n            if (behaviorRequiresLifecycle(behaviors[i])) {\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n    return instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction viewsRequireLifecycle(viewFactory) {\r\n    if ('_viewsRequireLifecycle' in viewFactory) {\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    if (viewFactory.viewFactory) {\r\n        viewFactory._viewsRequireLifecycle = viewsRequireLifecycle(viewFactory.viewFactory);\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    if (viewFactory.template.querySelector('.au-animate')) {\r\n        viewFactory._viewsRequireLifecycle = true;\r\n        return true;\r\n    }\r\n    for (var id in viewFactory.instructions) {\r\n        if (targetRequiresLifecycle(viewFactory.instructions[id])) {\r\n            viewFactory._viewsRequireLifecycle = true;\r\n            return true;\r\n        }\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    return false;\r\n}\n\nvar AbstractRepeater = (function () {\r\n    function AbstractRepeater(options) {\r\n        Object.assign(this, {\r\n            local: 'items',\r\n            viewsRequireLifecycle: true\r\n        }, options);\r\n    }\r\n    AbstractRepeater.prototype.viewCount = function () {\r\n        throw new Error('subclass must implement `viewCount`');\r\n    };\r\n    AbstractRepeater.prototype.views = function () {\r\n        throw new Error('subclass must implement `views`');\r\n    };\r\n    AbstractRepeater.prototype.view = function (index) {\r\n        throw new Error('subclass must implement `view`');\r\n    };\r\n    AbstractRepeater.prototype.matcher = function () {\r\n        throw new Error('subclass must implement `matcher`');\r\n    };\r\n    AbstractRepeater.prototype.addView = function (bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `addView`');\r\n    };\r\n    AbstractRepeater.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `insertView`');\r\n    };\r\n    AbstractRepeater.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        throw new Error('subclass must implement `moveView`');\r\n    };\r\n    AbstractRepeater.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeAllViews`');\r\n    };\r\n    AbstractRepeater.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.updateBindings = function (view) {\r\n        throw new Error('subclass must implement `updateBindings`');\r\n    };\r\n    return AbstractRepeater;\r\n}());\n\nvar matcherExtractionMarker = '__marker_extracted__';\r\nvar Repeat = (function (_super) {\r\n    __extends(Repeat, _super);\r\n    function Repeat(viewFactory, instruction, viewSlot, viewResources, observerLocator, strategyLocator) {\r\n        var _this = _super.call(this, {\r\n            local: 'item',\r\n            viewsRequireLifecycle: viewsRequireLifecycle(viewFactory)\r\n        }) || this;\r\n        _this.viewFactory = viewFactory;\r\n        _this.instruction = instruction;\r\n        _this.viewSlot = viewSlot;\r\n        _this.lookupFunctions = viewResources.lookupFunctions;\r\n        _this.observerLocator = observerLocator;\r\n        _this.key = 'key';\r\n        _this.value = 'value';\r\n        _this.strategyLocator = strategyLocator;\r\n        _this.ignoreMutation = false;\r\n        _this.sourceExpression = getItemsSourceExpression(_this.instruction, 'repeat.for');\r\n        _this.isOneTime = isOneTime(_this.sourceExpression);\r\n        _this.viewsRequireLifecycle = viewsRequireLifecycle(viewFactory);\r\n        return _this;\r\n    }\r\n    Repeat_1 = Repeat;\r\n    Repeat.prototype.call = function (context, changes) {\r\n        this[context](this.items, changes);\r\n    };\r\n    Repeat.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.scope = { bindingContext: bindingContext, overrideContext: overrideContext };\r\n        var instruction = this.instruction;\r\n        if (!(matcherExtractionMarker in instruction)) {\r\n            instruction[matcherExtractionMarker] = this._captureAndRemoveMatcherBinding();\r\n        }\r\n        this.matcherBinding = instruction[matcherExtractionMarker];\r\n        this.itemsChanged();\r\n    };\r\n    Repeat.prototype.unbind = function () {\r\n        this.scope = null;\r\n        this.items = null;\r\n        this.matcherBinding = null;\r\n        this.viewSlot.removeAll(true, true);\r\n        this._unsubscribeCollection();\r\n    };\r\n    Repeat.prototype._unsubscribeCollection = function () {\r\n        if (this.collectionObserver) {\r\n            this.collectionObserver.unsubscribe(this.callContext, this);\r\n            this.collectionObserver = null;\r\n            this.callContext = null;\r\n        }\r\n    };\r\n    Repeat.prototype.itemsChanged = function () {\r\n        var _this = this;\r\n        this._unsubscribeCollection();\r\n        if (!this.scope) {\r\n            return;\r\n        }\r\n        var items = this.items;\r\n        this.strategy = this.strategyLocator.getStrategy(items);\r\n        if (!this.strategy) {\r\n            throw new Error(\"Value for '\".concat(this.sourceExpression, \"' is non-repeatable\"));\r\n        }\r\n        if (!this.isOneTime && !this._observeInnerCollection()) {\r\n            this._observeCollection();\r\n        }\r\n        this.ignoreMutation = true;\r\n        this.strategy.instanceChanged(this, items);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () {\r\n            _this.ignoreMutation = false;\r\n        });\r\n    };\r\n    Repeat.prototype._getInnerCollection = function () {\r\n        var expression = unwrapExpression(this.sourceExpression);\r\n        if (!expression) {\r\n            return null;\r\n        }\r\n        return expression.evaluate(this.scope, null);\r\n    };\r\n    Repeat.prototype.handleCollectionMutated = function (collection, changes) {\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.strategy.instanceMutated(this, collection, changes);\r\n    };\r\n    Repeat.prototype.handleInnerCollectionMutated = function (collection, changes) {\r\n        var _this = this;\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.ignoreMutation = true;\r\n        var newItems = this.sourceExpression.evaluate(this.scope, this.lookupFunctions);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () { return _this.ignoreMutation = false; });\r\n        if (newItems === this.items) {\r\n            this.itemsChanged();\r\n        }\r\n        else {\r\n            this.items = newItems;\r\n        }\r\n    };\r\n    Repeat.prototype._observeInnerCollection = function () {\r\n        var items = this._getInnerCollection();\r\n        var strategy = this.strategyLocator.getStrategy(items);\r\n        if (!strategy) {\r\n            return false;\r\n        }\r\n        this.collectionObserver = strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (!this.collectionObserver) {\r\n            return false;\r\n        }\r\n        this.callContext = 'handleInnerCollectionMutated';\r\n        this.collectionObserver.subscribe(this.callContext, this);\r\n        return true;\r\n    };\r\n    Repeat.prototype._observeCollection = function () {\r\n        var items = this.items;\r\n        this.collectionObserver = this.strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (this.collectionObserver) {\r\n            this.callContext = 'handleCollectionMutated';\r\n            this.collectionObserver.subscribe(this.callContext, this);\r\n        }\r\n    };\r\n    Repeat.prototype._captureAndRemoveMatcherBinding = function () {\r\n        var viewFactory = this.viewFactory.viewFactory;\r\n        if (viewFactory) {\r\n            var template = viewFactory.template;\r\n            var instructions = viewFactory.instructions;\r\n            if (Repeat_1.useInnerMatcher) {\r\n                return extractMatcherBindingExpression(instructions);\r\n            }\r\n            if (getChildrenCount(template) > 1) {\r\n                return undefined;\r\n            }\r\n            var repeatedElement = getFirstElementChild(template);\r\n            if (!repeatedElement.hasAttribute('au-target-id')) {\r\n                return undefined;\r\n            }\r\n            var repeatedElementTargetId = repeatedElement.getAttribute('au-target-id');\r\n            return extractMatcherBindingExpression(instructions, repeatedElementTargetId);\r\n        }\r\n        return undefined;\r\n    };\r\n    Repeat.prototype.viewCount = function () { return this.viewSlot.children.length; };\r\n    Repeat.prototype.views = function () { return this.viewSlot.children; };\r\n    Repeat.prototype.view = function (index) { return this.viewSlot.children[index]; };\r\n    Repeat.prototype.matcher = function () {\r\n        var matcherBinding = this.matcherBinding;\r\n        return matcherBinding\r\n            ? matcherBinding.sourceExpression.evaluate(this.scope, matcherBinding.lookupFunctions)\r\n            : null;\r\n    };\r\n    Repeat.prototype.addView = function (bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.add(view);\r\n    };\r\n    Repeat.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.insert(index, view);\r\n    };\r\n    Repeat.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        this.viewSlot.move(sourceIndex, targetIndex);\r\n    };\r\n    Repeat.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeMany(viewsToRemove, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAt(index, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.updateBindings = function (view) {\r\n        var $view = view;\r\n        var j = $view.bindings.length;\r\n        while (j--) {\r\n            updateOneTimeBinding($view.bindings[j]);\r\n        }\r\n        j = $view.controllers.length;\r\n        while (j--) {\r\n            var k = $view.controllers[j].boundProperties.length;\r\n            while (k--) {\r\n                var binding = $view.controllers[j].boundProperties[k].binding;\r\n                updateOneTimeBinding(binding);\r\n            }\r\n        }\r\n    };\r\n    var Repeat_1;\r\n    Repeat.useInnerMatcher = true;\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"items\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"local\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"key\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"value\", void 0);\r\n    Repeat = Repeat_1 = __decorate([\r\n        customAttribute('repeat'),\r\n        templateController,\r\n        inject(BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ObserverLocator, RepeatStrategyLocator)\r\n    ], Repeat);\r\n    return Repeat;\r\n}(AbstractRepeater));\r\nvar extractMatcherBindingExpression = function (instructions, targetedElementId) {\r\n    var instructionIds = Object.keys(instructions);\r\n    for (var i = 0; i < instructionIds.length; i++) {\r\n        var instructionId = instructionIds[i];\r\n        if (targetedElementId !== undefined && instructionId !== targetedElementId) {\r\n            continue;\r\n        }\r\n        var expressions = instructions[instructionId].expressions;\r\n        if (expressions) {\r\n            for (var ii = 0; ii < expressions.length; ii++) {\r\n                if (expressions[ii].targetProperty === 'matcher') {\r\n                    var matcherBindingExpression = expressions[ii];\r\n                    expressions.splice(ii, 1);\r\n                    return matcherBindingExpression;\r\n                }\r\n            }\r\n        }\r\n    }\r\n};\r\nvar getChildrenCount = function (el) {\r\n    var childNodes = el.childNodes;\r\n    var count = 0;\r\n    for (var i = 0, ii = childNodes.length; ii > i; ++i) {\r\n        if (childNodes[i].nodeType === 1) {\r\n            ++count;\r\n        }\r\n    }\r\n    return count;\r\n};\r\nvar getFirstElementChild = function (el) {\r\n    var firstChild = el.firstChild;\r\n    while (firstChild !== null) {\r\n        if (firstChild.nodeType === 1) {\r\n            return firstChild;\r\n        }\r\n        firstChild = firstChild.nextSibling;\r\n    }\r\n    return null;\r\n};\n\nvar aureliaHideClassName = 'aurelia-hide';\r\nvar aureliaHideClass = \".\".concat(aureliaHideClassName, \" { display:none !important; }\");\r\nfunction injectAureliaHideStyleAtHead() {\r\n    DOM.injectStyles(aureliaHideClass);\r\n}\r\nfunction injectAureliaHideStyleAtBoundary(domBoundary) {\r\n    if (FEATURE.shadowDOM && domBoundary && !domBoundary.hasAureliaHideStyle) {\r\n        domBoundary.hasAureliaHideStyle = true;\r\n        DOM.injectStyles(aureliaHideClass, domBoundary);\r\n    }\r\n}\n\nvar Show = (function () {\r\n    function Show(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Show.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Show.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Show.prototype.valueChanged = function (newValue) {\r\n        var element = this.element;\r\n        var animator = this.animator;\r\n        if (newValue) {\r\n            animator.removeClass(element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            animator.addClass(element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Show.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Show = __decorate([\r\n        customAttribute('show')\r\n    ], Show);\r\n    return Show;\r\n}());\n\nvar Hide = (function () {\r\n    function Hide(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Hide.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Hide.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Hide.prototype.valueChanged = function (newValue) {\r\n        if (newValue) {\r\n            this.animator.addClass(this.element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            this.animator.removeClass(this.element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Hide.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Hide.prototype.value = function (value) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    Hide = __decorate([\r\n        customAttribute('hide')\r\n    ], Hide);\r\n    return Hide;\r\n}());\n\nvar HTMLSanitizer = (function () {\r\n    function HTMLSanitizer() {\r\n    }\r\n    HTMLSanitizer.prototype.sanitize = function (input) {\r\n        throw new Error(\"To protect the application against a wide variety of sophisticated XSS attacks.\\nPlease see https://aurelia.io/docs/binding/basics#element-content for instructions on how to use a secure solution like DOMPurify or sanitize-html.\");\r\n    };\r\n    return HTMLSanitizer;\r\n}());\n\nvar SanitizeHTMLValueConverter = (function () {\r\n    function SanitizeHTMLValueConverter(sanitizer) {\r\n        this.sanitizer = sanitizer;\r\n    }\r\n    SanitizeHTMLValueConverter.prototype.toView = function (untrustedMarkup) {\r\n        if (untrustedMarkup === null || untrustedMarkup === undefined) {\r\n            return null;\r\n        }\r\n        return this.sanitizer.sanitize(untrustedMarkup);\r\n    };\r\n    SanitizeHTMLValueConverter = __decorate([\r\n        valueConverter('sanitizeHTML'),\r\n        inject(HTMLSanitizer)\r\n    ], SanitizeHTMLValueConverter);\r\n    return SanitizeHTMLValueConverter;\r\n}());\n\nvar Replaceable = (function () {\r\n    function Replaceable(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n    }\r\n    Replaceable.prototype.bind = function (bindingContext, overrideContext) {\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n            this.viewSlot.add(this.view);\r\n        }\r\n        this.view.bind(bindingContext, overrideContext);\r\n    };\r\n    Replaceable.prototype.unbind = function () {\r\n        this.view.unbind();\r\n    };\r\n    Replaceable = __decorate([\r\n        customAttribute('replaceable'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Replaceable);\r\n    return Replaceable;\r\n}());\n\nvar Focus = (function () {\r\n    function Focus(element, taskQueue) {\r\n        this.element = element;\r\n        this.taskQueue = taskQueue;\r\n        this.isAttached = false;\r\n        this.needsApply = false;\r\n    }\r\n    Focus.inject = function () {\r\n        return [DOM.Element, TaskQueue];\r\n    };\r\n    Focus.prototype.valueChanged = function () {\r\n        if (this.isAttached) {\r\n            this._apply();\r\n        }\r\n        else {\r\n            this.needsApply = true;\r\n        }\r\n    };\r\n    Focus.prototype._apply = function () {\r\n        var _this = this;\r\n        if (this.value) {\r\n            this.taskQueue.queueMicroTask(function () {\r\n                if (_this.value) {\r\n                    _this.element.focus();\r\n                }\r\n            });\r\n        }\r\n        else {\r\n            this.element.blur();\r\n        }\r\n    };\r\n    Focus.prototype.attached = function () {\r\n        this.isAttached = true;\r\n        if (this.needsApply) {\r\n            this.needsApply = false;\r\n            this._apply();\r\n        }\r\n        this.element.addEventListener('focus', this);\r\n        this.element.addEventListener('blur', this);\r\n    };\r\n    Focus.prototype.detached = function () {\r\n        this.isAttached = false;\r\n        this.element.removeEventListener('focus', this);\r\n        this.element.removeEventListener('blur', this);\r\n    };\r\n    Focus.prototype.handleEvent = function (e) {\r\n        if (e.type === 'focus') {\r\n            this.value = true;\r\n        }\r\n        else if (DOM.activeElement !== this.element) {\r\n            this.value = false;\r\n        }\r\n    };\r\n    Focus = __decorate([\r\n        customAttribute('focus', bindingMode.twoWay)\r\n    ], Focus);\r\n    return Focus;\r\n}());\n\nvar cssUrlMatcher = /url\\((?!['\"]data)([^)]+)\\)/gi;\r\nfunction fixupCSSUrls(address, css) {\r\n    if (typeof css !== 'string') {\r\n        throw new Error(\"Failed loading required CSS file: \".concat(address));\r\n    }\r\n    return css.replace(cssUrlMatcher, function (match, p1) {\r\n        var quote = p1.charAt(0);\r\n        if (quote === '\\'' || quote === '\"') {\r\n            p1 = p1.substr(1, p1.length - 2);\r\n        }\r\n        return 'url(\\'' + relativeToFile(p1, address) + '\\')';\r\n    });\r\n}\r\nvar CSSResource = (function () {\r\n    function CSSResource(address) {\r\n        this.address = address;\r\n        this._scoped = null;\r\n        this._global = false;\r\n        this._alreadyGloballyInjected = false;\r\n    }\r\n    CSSResource.prototype.initialize = function (container, Target) {\r\n        this._scoped = new Target(this);\r\n    };\r\n    CSSResource.prototype.register = function (registry, name) {\r\n        if (name === 'scoped') {\r\n            registry.registerViewEngineHooks(this._scoped);\r\n        }\r\n        else {\r\n            this._global = true;\r\n        }\r\n    };\r\n    CSSResource.prototype.load = function (container) {\r\n        var _this = this;\r\n        return container.get(Loader)\r\n            .loadText(this.address)\r\n            .catch(function () { return null; })\r\n            .then(function (text) {\r\n            text = fixupCSSUrls(_this.address, text);\r\n            _this._scoped.css = text;\r\n            if (_this._global) {\r\n                _this._alreadyGloballyInjected = true;\r\n                DOM.injectStyles(text);\r\n            }\r\n            return _this;\r\n        });\r\n    };\r\n    return CSSResource;\r\n}());\r\nvar CSSViewEngineHooks = (function () {\r\n    function CSSViewEngineHooks(owner) {\r\n        this.owner = owner;\r\n        this.css = null;\r\n    }\r\n    CSSViewEngineHooks.prototype.beforeCompile = function (content, resources, instruction) {\r\n        if (instruction.targetShadowDOM) {\r\n            DOM.injectStyles(this.css, content, true);\r\n        }\r\n        else if (FEATURE.scopedCSS) {\r\n            var styleNode = DOM.injectStyles(this.css, content, true);\r\n            styleNode.setAttribute('scoped', 'scoped');\r\n        }\r\n        else if (this._global && !this.owner._alreadyGloballyInjected) {\r\n            DOM.injectStyles(this.css);\r\n            this.owner._alreadyGloballyInjected = true;\r\n        }\r\n    };\r\n    return CSSViewEngineHooks;\r\n}());\r\nfunction _createCSSResource(address) {\r\n    var ViewCSS = (function (_super) {\r\n        __extends(ViewCSS, _super);\r\n        function ViewCSS() {\r\n            return _super !== null && _super.apply(this, arguments) || this;\r\n        }\r\n        ViewCSS = __decorate([\r\n            resource(new CSSResource(address))\r\n        ], ViewCSS);\r\n        return ViewCSS;\r\n    }(CSSViewEngineHooks));\r\n    return ViewCSS;\r\n}\n\nvar AttrBindingBehavior = (function () {\r\n    function AttrBindingBehavior() {\r\n    }\r\n    AttrBindingBehavior.prototype.bind = function (binding, source) {\r\n        binding.targetObserver = new DataAttributeObserver(binding.target, binding.targetProperty);\r\n    };\r\n    AttrBindingBehavior.prototype.unbind = function (binding, source) {\r\n    };\r\n    AttrBindingBehavior = __decorate([\r\n        bindingBehavior('attr')\r\n    ], AttrBindingBehavior);\r\n    return AttrBindingBehavior;\r\n}());\n\nvar modeBindingBehavior = {\r\n    bind: function (binding, source, lookupFunctions) {\r\n        binding.originalMode = binding.mode;\r\n        binding.mode = this.mode;\r\n    },\r\n    unbind: function (binding, source) {\r\n        binding.mode = binding.originalMode;\r\n        binding.originalMode = null;\r\n    }\r\n};\r\nvar OneTimeBindingBehavior = (function () {\r\n    function OneTimeBindingBehavior() {\r\n        this.mode = bindingMode.oneTime;\r\n    }\r\n    OneTimeBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneTime')\r\n    ], OneTimeBindingBehavior);\r\n    return OneTimeBindingBehavior;\r\n}());\r\nvar OneWayBindingBehavior = (function () {\r\n    function OneWayBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    OneWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneWay')\r\n    ], OneWayBindingBehavior);\r\n    return OneWayBindingBehavior;\r\n}());\r\nvar ToViewBindingBehavior = (function () {\r\n    function ToViewBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    ToViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('toView')\r\n    ], ToViewBindingBehavior);\r\n    return ToViewBindingBehavior;\r\n}());\r\nvar FromViewBindingBehavior = (function () {\r\n    function FromViewBindingBehavior() {\r\n        this.mode = bindingMode.fromView;\r\n    }\r\n    FromViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('fromView')\r\n    ], FromViewBindingBehavior);\r\n    return FromViewBindingBehavior;\r\n}());\r\nvar TwoWayBindingBehavior = (function () {\r\n    function TwoWayBindingBehavior() {\r\n        this.mode = bindingMode.twoWay;\r\n    }\r\n    TwoWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('twoWay')\r\n    ], TwoWayBindingBehavior);\r\n    return TwoWayBindingBehavior;\r\n}());\n\nfunction throttle(newValue) {\r\n    var _this = this;\r\n    var state = this.throttleState;\r\n    var elapsed = +new Date() - state.last;\r\n    if (elapsed >= state.delay) {\r\n        clearTimeout(state.timeoutId);\r\n        state.timeoutId = null;\r\n        state.last = +new Date();\r\n        this.throttledMethod(newValue);\r\n        return;\r\n    }\r\n    state.newValue = newValue;\r\n    if (state.timeoutId === null) {\r\n        state.timeoutId = setTimeout(function () {\r\n            state.timeoutId = null;\r\n            state.last = +new Date();\r\n            _this.throttledMethod(state.newValue);\r\n        }, state.delay - elapsed);\r\n    }\r\n}\r\nvar ThrottleBindingBehavior = (function () {\r\n    function ThrottleBindingBehavior() {\r\n    }\r\n    ThrottleBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var methodToThrottle = 'updateTarget';\r\n        if (binding.callSource) {\r\n            methodToThrottle = 'callSource';\r\n        }\r\n        else if (binding.updateSource && binding.mode === bindingMode.twoWay) {\r\n            methodToThrottle = 'updateSource';\r\n        }\r\n        binding.throttledMethod = binding[methodToThrottle];\r\n        binding.throttledMethod.originalName = methodToThrottle;\r\n        binding[methodToThrottle] = throttle;\r\n        binding.throttleState = {\r\n            delay: delay,\r\n            last: 0,\r\n            timeoutId: null\r\n        };\r\n    };\r\n    ThrottleBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.throttledMethod.originalName;\r\n        binding[methodToRestore] = binding.throttledMethod;\r\n        binding.throttledMethod = null;\r\n        clearTimeout(binding.throttleState.timeoutId);\r\n        binding.throttleState = null;\r\n    };\r\n    ThrottleBindingBehavior = __decorate([\r\n        bindingBehavior('throttle')\r\n    ], ThrottleBindingBehavior);\r\n    return ThrottleBindingBehavior;\r\n}());\n\nvar unset = {};\r\nfunction debounceCallSource(event) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    state.timeoutId = setTimeout(function () { return _this.debouncedMethod(event); }, state.delay);\r\n}\r\nfunction debounceCall(context, newValue, oldValue) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    if (context !== state.callContextToDebounce) {\r\n        state.oldValue = unset;\r\n        this.debouncedMethod(context, newValue, oldValue);\r\n        return;\r\n    }\r\n    if (state.oldValue === unset) {\r\n        state.oldValue = oldValue;\r\n    }\r\n    state.timeoutId = setTimeout(function () {\r\n        var _oldValue = state.oldValue;\r\n        state.oldValue = unset;\r\n        _this.debouncedMethod(context, newValue, _oldValue);\r\n    }, state.delay);\r\n}\r\nvar DebounceBindingBehavior = (function () {\r\n    function DebounceBindingBehavior() {\r\n    }\r\n    DebounceBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var isCallSource = binding.callSource !== undefined;\r\n        var methodToDebounce = isCallSource ? 'callSource' : 'call';\r\n        var debouncer = isCallSource ? debounceCallSource : debounceCall;\r\n        var mode = binding.mode;\r\n        var callContextToDebounce = mode === bindingMode.twoWay || mode === bindingMode.fromView ? targetContext : sourceContext;\r\n        binding.debouncedMethod = binding[methodToDebounce];\r\n        binding.debouncedMethod.originalName = methodToDebounce;\r\n        binding[methodToDebounce] = debouncer;\r\n        binding.debounceState = {\r\n            callContextToDebounce: callContextToDebounce,\r\n            delay: delay,\r\n            timeoutId: 0,\r\n            oldValue: unset\r\n        };\r\n    };\r\n    DebounceBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.debouncedMethod.originalName;\r\n        binding[methodToRestore] = binding.debouncedMethod;\r\n        binding.debouncedMethod = null;\r\n        clearTimeout(binding.debounceState.timeoutId);\r\n        binding.debounceState = null;\r\n    };\r\n    DebounceBindingBehavior = __decorate([\r\n        bindingBehavior('debounce')\r\n    ], DebounceBindingBehavior);\r\n    return DebounceBindingBehavior;\r\n}());\n\nfunction findOriginalEventTarget(event) {\r\n    return (event.path && event.path[0]) || (event.deepPath && event.deepPath[0]) || event.target;\r\n}\r\nfunction handleSelfEvent(event) {\r\n    var target = findOriginalEventTarget(event);\r\n    if (this.target !== target) {\r\n        return;\r\n    }\r\n    this.selfEventCallSource(event);\r\n}\r\nvar SelfBindingBehavior = (function () {\r\n    function SelfBindingBehavior() {\r\n    }\r\n    SelfBindingBehavior.prototype.bind = function (binding, source) {\r\n        if (!binding.callSource || !binding.targetEvent) {\r\n            throw new Error('Self binding behavior only supports event.');\r\n        }\r\n        binding.selfEventCallSource = binding.callSource;\r\n        binding.callSource = handleSelfEvent;\r\n    };\r\n    SelfBindingBehavior.prototype.unbind = function (binding, source) {\r\n        binding.callSource = binding.selfEventCallSource;\r\n        binding.selfEventCallSource = null;\r\n    };\r\n    SelfBindingBehavior = __decorate([\r\n        bindingBehavior('self')\r\n    ], SelfBindingBehavior);\r\n    return SelfBindingBehavior;\r\n}());\n\nvar BindingSignaler = (function () {\r\n    function BindingSignaler() {\r\n        this.signals = {};\r\n    }\r\n    BindingSignaler.prototype.signal = function (name) {\r\n        var bindings = this.signals[name];\r\n        if (!bindings) {\r\n            return;\r\n        }\r\n        var i = bindings.length;\r\n        while (i--) {\r\n            bindings[i].call(sourceContext);\r\n        }\r\n    };\r\n    return BindingSignaler;\r\n}());\n\nvar SignalBindingBehavior = (function () {\r\n    function SignalBindingBehavior(bindingSignaler) {\r\n        this.signals = bindingSignaler.signals;\r\n    }\r\n    SignalBindingBehavior.inject = function () { return [BindingSignaler]; };\r\n    SignalBindingBehavior.prototype.bind = function (binding, source) {\r\n        var names = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            names[_i - 2] = arguments[_i];\r\n        }\r\n        if (!binding.updateTarget) {\r\n            throw new Error('Only property bindings and string interpolation bindings can be signaled.  Trigger, delegate and call bindings cannot be signaled.');\r\n        }\r\n        var signals = this.signals;\r\n        if (names.length === 1) {\r\n            var name_1 = names[0];\r\n            var bindings = signals[name_1] || (signals[name_1] = []);\r\n            bindings.push(binding);\r\n            binding.signalName = name_1;\r\n        }\r\n        else if (names.length > 1) {\r\n            var i = names.length;\r\n            while (i--) {\r\n                var name_2 = names[i];\r\n                var bindings = signals[name_2] || (signals[name_2] = []);\r\n                bindings.push(binding);\r\n            }\r\n            binding.signalName = names;\r\n        }\r\n        else {\r\n            throw new Error('Signal name is required.');\r\n        }\r\n    };\r\n    SignalBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var signals = this.signals;\r\n        var name = binding.signalName;\r\n        binding.signalName = null;\r\n        if (Array.isArray(name)) {\r\n            var names = name;\r\n            var i = names.length;\r\n            while (i--) {\r\n                var n = names[i];\r\n                var bindings = signals[n];\r\n                bindings.splice(bindings.indexOf(binding), 1);\r\n            }\r\n        }\r\n        else {\r\n            var bindings = signals[name];\r\n            bindings.splice(bindings.indexOf(binding), 1);\r\n        }\r\n    };\r\n    SignalBindingBehavior = __decorate([\r\n        bindingBehavior('signal')\r\n    ], SignalBindingBehavior);\r\n    return SignalBindingBehavior;\r\n}());\n\nvar eventNamesRequired = 'The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:\\'blur\\'\">';\r\nvar notApplicableMessage = 'The updateTrigger binding behavior can only be applied to two-way/ from-view bindings on input/select elements.';\r\nvar UpdateTriggerBindingBehavior = (function () {\r\n    function UpdateTriggerBindingBehavior() {\r\n    }\r\n    UpdateTriggerBindingBehavior.prototype.bind = function (binding, source) {\r\n        var events = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            events[_i - 2] = arguments[_i];\r\n        }\r\n        if (events.length === 0) {\r\n            throw new Error(eventNamesRequired);\r\n        }\r\n        if (binding.mode !== bindingMode.twoWay && binding.mode !== bindingMode.fromView) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        var targetObserver = binding.observerLocator.getObserver(binding.target, binding.targetProperty);\r\n        if (!targetObserver.handler) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        binding.targetObserver = targetObserver;\r\n        targetObserver.originalHandler = binding.targetObserver.handler;\r\n        var handler = new EventSubscriber(events);\r\n        targetObserver.handler = handler;\r\n    };\r\n    UpdateTriggerBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var targetObserver = binding.targetObserver;\r\n        targetObserver.handler.dispose();\r\n        targetObserver.handler = targetObserver.originalHandler;\r\n        targetObserver.originalHandler = null;\r\n    };\r\n    UpdateTriggerBindingBehavior = __decorate([\r\n        bindingBehavior('updateTrigger')\r\n    ], UpdateTriggerBindingBehavior);\r\n    return UpdateTriggerBindingBehavior;\r\n}());\n\nfunction _createDynamicElement(_a) {\r\n    var name = _a.name, viewUrl = _a.viewUrl, bindableNames = _a.bindableNames, useShadowDOMmode = _a.useShadowDOMmode;\r\n    var DynamicElement = (function () {\r\n        function DynamicElement() {\r\n        }\r\n        DynamicElement.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        DynamicElement = __decorate([\r\n            customElement(name),\r\n            useView(viewUrl)\r\n        ], DynamicElement);\r\n        return DynamicElement;\r\n    }());\r\n    for (var i = 0, ii = bindableNames.length; i < ii; ++i) {\r\n        bindable(bindableNames[i])(DynamicElement);\r\n    }\r\n    switch (useShadowDOMmode) {\r\n        case 'open':\r\n            useShadowDOM({ mode: 'open' })(DynamicElement);\r\n            break;\r\n        case 'closed':\r\n            useShadowDOM({ mode: 'closed' })(DynamicElement);\r\n            break;\r\n        case '':\r\n            useShadowDOM(DynamicElement);\r\n            break;\r\n        case null:\r\n            break;\r\n        default:\r\n            getLogger('aurelia-html-only-element')\r\n                .warn(\"Expected 'use-shadow-dom' value to be \\\"close\\\", \\\"open\\\" or \\\"\\\", received \".concat(useShadowDOMmode));\r\n            break;\r\n    }\r\n    return DynamicElement;\r\n}\n\nfunction getElementName(address) {\r\n    return /([^\\/^\\?]+)\\.html/i.exec(address)[1].toLowerCase();\r\n}\r\nfunction configure$1(config) {\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var loader = config.aurelia.loader;\r\n    viewEngine.addResourcePlugin('.html', {\r\n        'fetch': function (viewUrl) {\r\n            return loader.loadTemplate(viewUrl).then(function (registryEntry) {\r\n                var _a;\r\n                var bindableNames = registryEntry.template.getAttribute('bindable');\r\n                var useShadowDOMmode = registryEntry.template.getAttribute('use-shadow-dom');\r\n                var name = getElementName(viewUrl);\r\n                if (bindableNames) {\r\n                    bindableNames = bindableNames.split(',').map(function (x) { return x.trim(); });\r\n                    registryEntry.template.removeAttribute('bindable');\r\n                }\r\n                else {\r\n                    bindableNames = [];\r\n                }\r\n                return _a = {}, _a[name] = _createDynamicElement({ name: name, viewUrl: viewUrl, bindableNames: bindableNames, useShadowDOMmode: useShadowDOMmode }), _a;\r\n            });\r\n        }\r\n    });\r\n}\n\nfunction configure(config) {\r\n    injectAureliaHideStyleAtHead();\r\n    config.globalResources(Compose, If, Else, With, Repeat, Show, Hide, Replaceable, Focus, SanitizeHTMLValueConverter, OneTimeBindingBehavior, OneWayBindingBehavior, ToViewBindingBehavior, FromViewBindingBehavior, TwoWayBindingBehavior, ThrottleBindingBehavior, DebounceBindingBehavior, SelfBindingBehavior, SignalBindingBehavior, UpdateTriggerBindingBehavior, AttrBindingBehavior);\r\n    configure$1(config);\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var styleResourcePlugin = {\r\n        fetch: function (address) {\r\n            var _a;\r\n            return _a = {}, _a[address] = _createCSSResource(address), _a;\r\n        }\r\n    };\r\n    ['.css', '.less', '.sass', '.scss', '.styl'].forEach(function (ext) { return viewEngine.addResourcePlugin(ext, styleResourcePlugin); });\r\n}\n\nexport { AbstractRepeater, ArrayRepeatStrategy, AttrBindingBehavior, BindingSignaler, Compose, DebounceBindingBehavior, Else, Focus, FromViewBindingBehavior, HTMLSanitizer, Hide, If, MapRepeatStrategy, NullRepeatStrategy, NumberRepeatStrategy, OneTimeBindingBehavior, OneWayBindingBehavior, Repeat, RepeatStrategyLocator, Replaceable, SanitizeHTMLValueConverter, SelfBindingBehavior, SetRepeatStrategy, Show, SignalBindingBehavior, ThrottleBindingBehavior, ToViewBindingBehavior, TwoWayBindingBehavior, UpdateTriggerBindingBehavior, With, configure, createFullOverrideContext, getItemsSourceExpression, isOneTime, unwrapExpression, updateOneTimeBinding, updateOverrideContext, viewsRequireLifecycle };\n//# sourceMappingURL=aurelia-templating-resources.js.map\n","import { Router, RouteLoader, AppRouter } from 'aurelia-router';\nimport { Origin } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport { BehaviorInstruction, ShadowDOM, ViewSlot, ViewLocator, CompositionTransaction, CompositionEngine, SwapStrategies, inlineView, customElement, useView } from 'aurelia-templating';\nimport { Container } from 'aurelia-dependency-injection';\nimport { createOverrideContext } from 'aurelia-binding';\nimport { DOM } from 'aurelia-pal';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar EmptyLayoutViewModel = (function () {\r\n    function EmptyLayoutViewModel() {\r\n    }\r\n    return EmptyLayoutViewModel;\r\n}());\r\nvar RouterView = (function () {\r\n    function RouterView(element, container, viewSlot, router, viewLocator, compositionTransaction, compositionEngine) {\r\n        this.element = element;\r\n        this.container = container;\r\n        this.viewSlot = viewSlot;\r\n        this.router = router;\r\n        this.viewLocator = viewLocator;\r\n        this.compositionTransaction = compositionTransaction;\r\n        this.compositionEngine = compositionEngine;\r\n        this.router.registerViewPort(this, this.element.getAttribute('name'));\r\n        if (!('initialComposition' in compositionTransaction)) {\r\n            compositionTransaction.initialComposition = true;\r\n            this.compositionTransactionNotifier = compositionTransaction.enlist();\r\n        }\r\n    }\r\n    RouterView.inject = function () {\r\n        return [DOM.Element, Container, ViewSlot, Router, ViewLocator, CompositionTransaction, CompositionEngine];\r\n    };\r\n    RouterView.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    RouterView.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.container.viewModel = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    RouterView.prototype.process = function ($viewPortInstruction, waitToSwap) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var component = viewPortInstruction.component;\r\n        var childContainer = component.childContainer;\r\n        var viewModel = component.viewModel;\r\n        var viewModelResource = component.viewModelResource;\r\n        var metadata = viewModelResource.metadata;\r\n        var config = component.router.currentInstruction.config;\r\n        var viewPortConfig = config.viewPorts ? (config.viewPorts[viewPortInstruction.name] || {}) : {};\r\n        childContainer.get(RouterViewLocator)._notify(this);\r\n        var layoutInstruction = {\r\n            viewModel: viewPortConfig.layoutViewModel || config.layoutViewModel || this.layoutViewModel,\r\n            view: viewPortConfig.layoutView || config.layoutView || this.layoutView,\r\n            model: viewPortConfig.layoutModel || config.layoutModel || this.layoutModel,\r\n            router: viewPortInstruction.component.router,\r\n            childContainer: childContainer,\r\n            viewSlot: this.viewSlot\r\n        };\r\n        var viewStrategy = this.viewLocator.getViewStrategy(component.view || viewModel);\r\n        if (viewStrategy && component.view) {\r\n            viewStrategy.makeRelativeTo(Origin.get(component.router.container.viewModel.constructor).moduleId);\r\n        }\r\n        return metadata\r\n            .load(childContainer, viewModelResource.value, null, viewStrategy, true)\r\n            .then(function (viewFactory) {\r\n            if (!_this.compositionTransactionNotifier) {\r\n                _this.compositionTransactionOwnershipToken = _this.compositionTransaction.tryCapture();\r\n            }\r\n            if (layoutInstruction.viewModel || layoutInstruction.view) {\r\n                viewPortInstruction.layoutInstruction = layoutInstruction;\r\n            }\r\n            var viewPortComponentBehaviorInstruction = BehaviorInstruction.dynamic(_this.element, viewModel, viewFactory);\r\n            viewPortInstruction.controller = metadata.create(childContainer, viewPortComponentBehaviorInstruction);\r\n            if (waitToSwap) {\r\n                return null;\r\n            }\r\n            _this.swap(viewPortInstruction);\r\n        });\r\n    };\r\n    RouterView.prototype.swap = function ($viewPortInstruction) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var viewPortController = viewPortInstruction.controller;\r\n        var layoutInstruction = viewPortInstruction.layoutInstruction;\r\n        var previousView = this.view;\r\n        var work = function () {\r\n            var swapStrategy = SwapStrategies[_this.swapOrder] || SwapStrategies.after;\r\n            var viewSlot = _this.viewSlot;\r\n            swapStrategy(viewSlot, previousView, function () { return Promise.resolve(viewSlot.add(_this.view)); }).then(function () {\r\n                _this._notify();\r\n            });\r\n        };\r\n        var ready = function (owningView_or_layoutView) {\r\n            viewPortController.automate(_this.overrideContext, owningView_or_layoutView);\r\n            var transactionOwnerShipToken = _this.compositionTransactionOwnershipToken;\r\n            if (transactionOwnerShipToken) {\r\n                return transactionOwnerShipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    _this.compositionTransactionOwnershipToken = null;\r\n                    return work();\r\n                });\r\n            }\r\n            return work();\r\n        };\r\n        if (layoutInstruction) {\r\n            if (!layoutInstruction.viewModel) {\r\n                layoutInstruction.viewModel = new EmptyLayoutViewModel();\r\n            }\r\n            return this.compositionEngine\r\n                .createController(layoutInstruction)\r\n                .then(function (layoutController) {\r\n                var layoutView = layoutController.view;\r\n                ShadowDOM.distributeView(viewPortController.view, layoutController.slots || layoutView.slots);\r\n                layoutController.automate(createOverrideContext(layoutInstruction.viewModel), _this.owningView);\r\n                layoutView.children.push(viewPortController.view);\r\n                return layoutView || layoutController;\r\n            })\r\n                .then(function (newView) {\r\n                _this.view = newView;\r\n                return ready(newView);\r\n            });\r\n        }\r\n        this.view = viewPortController.view;\r\n        return ready(this.owningView);\r\n    };\r\n    RouterView.prototype._notify = function () {\r\n        var notifier = this.compositionTransactionNotifier;\r\n        if (notifier) {\r\n            notifier.done();\r\n            this.compositionTransactionNotifier = null;\r\n        }\r\n    };\r\n    RouterView.$view = null;\r\n    RouterView.$resource = {\r\n        name: 'router-view',\r\n        bindables: ['swapOrder', 'layoutView', 'layoutViewModel', 'layoutModel', 'inherit-binding-context']\r\n    };\r\n    return RouterView;\r\n}());\r\nvar RouterViewLocator = (function () {\r\n    function RouterViewLocator() {\r\n        var _this = this;\r\n        this.promise = new Promise(function (resolve) { return _this.resolve = resolve; });\r\n    }\r\n    RouterViewLocator.prototype.findNearest = function () {\r\n        return this.promise;\r\n    };\r\n    RouterViewLocator.prototype._notify = function (routerView) {\r\n        this.resolve(routerView);\r\n    };\r\n    return RouterViewLocator;\r\n}());\n\nvar EmptyClass = (function () {\r\n    function EmptyClass() {\r\n    }\r\n    return EmptyClass;\r\n}());\r\ninlineView('<template></template>')(EmptyClass);\r\nvar TemplatingRouteLoader = (function (_super) {\r\n    __extends(TemplatingRouteLoader, _super);\r\n    function TemplatingRouteLoader(compositionEngine) {\r\n        var _this = _super.call(this) || this;\r\n        _this.compositionEngine = compositionEngine;\r\n        return _this;\r\n    }\r\n    TemplatingRouteLoader.prototype.resolveViewModel = function (router, config) {\r\n        return new Promise(function (resolve, reject) {\r\n            var viewModel;\r\n            if ('moduleId' in config) {\r\n                var moduleId = config.moduleId;\r\n                if (moduleId === null) {\r\n                    viewModel = EmptyClass;\r\n                }\r\n                else {\r\n                    moduleId = relativeToFile(moduleId, Origin.get(router.container.viewModel.constructor).moduleId);\r\n                    if (/\\.html/i.test(moduleId)) {\r\n                        viewModel = createDynamicClass(moduleId);\r\n                    }\r\n                    else {\r\n                        viewModel = moduleId;\r\n                    }\r\n                }\r\n                return resolve(viewModel);\r\n            }\r\n            reject(new Error('Invalid route config. No \"moduleId\" found.'));\r\n        });\r\n    };\r\n    TemplatingRouteLoader.prototype.createChildContainer = function (router) {\r\n        var childContainer = router.container.createChild();\r\n        childContainer.registerSingleton(RouterViewLocator);\r\n        childContainer.getChildRouter = function () {\r\n            var childRouter;\r\n            childContainer.registerHandler(Router, function () { return childRouter || (childRouter = router.createChild(childContainer)); });\r\n            return childContainer.get(Router);\r\n        };\r\n        return childContainer;\r\n    };\r\n    TemplatingRouteLoader.prototype.loadRoute = function (router, config, navInstruction) {\r\n        var _this = this;\r\n        return this\r\n            .resolveViewModel(router, config)\r\n            .then(function (viewModel) { return _this.compositionEngine.ensureViewModel({\r\n            viewModel: viewModel,\r\n            childContainer: _this.createChildContainer(router),\r\n            view: config.view || config.viewStrategy,\r\n            router: router\r\n        }); });\r\n    };\r\n    TemplatingRouteLoader.inject = [CompositionEngine];\r\n    return TemplatingRouteLoader;\r\n}(RouteLoader));\r\nfunction createDynamicClass(moduleId) {\r\n    var name = /([^\\/^\\?]+)\\.html/i.exec(moduleId)[1];\r\n    var DynamicClass = (function () {\r\n        function DynamicClass() {\r\n        }\r\n        DynamicClass.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        return DynamicClass;\r\n    }());\r\n    customElement(name)(DynamicClass);\r\n    useView(moduleId)(DynamicClass);\r\n    return DynamicClass;\r\n}\n\nvar logger = LogManager.getLogger('route-href');\r\nvar RouteHref = (function () {\r\n    function RouteHref(router, element) {\r\n        this.router = router;\r\n        this.element = element;\r\n        this.attribute = 'href';\r\n    }\r\n    RouteHref.inject = function () {\r\n        return [Router, DOM.Element];\r\n    };\r\n    RouteHref.prototype.bind = function () {\r\n        this.isActive = true;\r\n        this.processChange();\r\n    };\r\n    RouteHref.prototype.unbind = function () {\r\n        this.isActive = false;\r\n    };\r\n    RouteHref.prototype.attributeChanged = function (value, previous) {\r\n        if (previous) {\r\n            this.element.removeAttribute(previous);\r\n        }\r\n        return this.processChange();\r\n    };\r\n    RouteHref.prototype.processChange = function () {\r\n        var _this = this;\r\n        return this.router\r\n            .ensureConfigured()\r\n            .then(function () {\r\n            if (!_this.isActive) {\r\n                return null;\r\n            }\r\n            var element = _this.element;\r\n            var href = _this.router.generate(_this.route, _this.params);\r\n            if (element.au.controller) {\r\n                element.au.controller.viewModel[_this.attribute] = href;\r\n            }\r\n            else {\r\n                element.setAttribute(_this.attribute, href);\r\n            }\r\n            return null;\r\n        })\r\n            .catch(function (reason) {\r\n            logger.error(reason);\r\n        });\r\n    };\r\n    RouteHref.$resource = {\r\n        type: 'attribute',\r\n        name: 'route-href',\r\n        bindables: [\r\n            { name: 'route', changeHandler: 'processChange', primaryProperty: true },\r\n            { name: 'params', changeHandler: 'processChange' },\r\n            'attribute'\r\n        ]\r\n    };\r\n    return RouteHref;\r\n}());\n\nfunction configure(config) {\r\n    config\r\n        .singleton(RouteLoader, TemplatingRouteLoader)\r\n        .singleton(Router, AppRouter)\r\n        .globalResources(RouterView, RouteHref);\r\n    config.container.registerAlias(Router, AppRouter);\r\n}\n\nexport { RouteHref, RouterView, RouterViewLocator, TemplatingRouteLoader, configure };\n//# sourceMappingURL=aurelia-templating-router.js.map\n","import { DOM, FEATURE, PLATFORM } from 'aurelia-pal';\nimport { TemplateRegistryEntry, Loader } from 'aurelia-loader';\nimport { metadata, Origin, protocol } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport * as LogManager from 'aurelia-logging';\nimport { subscriberCollection, bindingMode, createOverrideContext, ValueConverterResource, BindingBehaviorResource, ObserverLocator, camelCase, EventManager } from 'aurelia-binding';\nimport { Container, resolver, inject } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\nvar ElementEvents = (function () {\r\n    function ElementEvents(element) {\r\n        this.element = element;\r\n        this.subscriptions = {};\r\n    }\r\n    ElementEvents.prototype._enqueueHandler = function (handler) {\r\n        this.subscriptions[handler.eventName] = this.subscriptions[handler.eventName] || [];\r\n        this.subscriptions[handler.eventName].push(handler);\r\n    };\r\n    ElementEvents.prototype._dequeueHandler = function (handler) {\r\n        var index;\r\n        var subscriptions = this.subscriptions[handler.eventName];\r\n        if (subscriptions) {\r\n            index = subscriptions.indexOf(handler);\r\n            if (index > -1) {\r\n                subscriptions.splice(index, 1);\r\n            }\r\n        }\r\n        return handler;\r\n    };\r\n    ElementEvents.prototype.publish = function (eventName, detail, bubbles, cancelable) {\r\n        if (detail === void 0) { detail = {}; }\r\n        if (bubbles === void 0) { bubbles = true; }\r\n        if (cancelable === void 0) { cancelable = true; }\r\n        var event = DOM.createCustomEvent(eventName, { cancelable: cancelable, bubbles: bubbles, detail: detail });\r\n        this.element.dispatchEvent(event);\r\n    };\r\n    ElementEvents.prototype.subscribe = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, false);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.subscribeOnce = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, true);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.dispose = function (eventName) {\r\n        if (eventName && typeof eventName === 'string') {\r\n            var subscriptions = this.subscriptions[eventName];\r\n            if (subscriptions) {\r\n                while (subscriptions.length) {\r\n                    var subscription = subscriptions.pop();\r\n                    if (subscription) {\r\n                        subscription.dispose();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            this.disposeAll();\r\n        }\r\n    };\r\n    ElementEvents.prototype.disposeAll = function () {\r\n        for (var key in this.subscriptions) {\r\n            this.dispose(key);\r\n        }\r\n    };\r\n    ElementEvents.defaultListenerOptions = true;\r\n    return ElementEvents;\r\n}());\r\nvar EventHandlerImpl = (function () {\r\n    function EventHandlerImpl(owner, eventName, handler, captureOrOptions, once) {\r\n        this.owner = owner;\r\n        this.eventName = eventName;\r\n        this.handler = handler;\r\n        this.capture = typeof captureOrOptions === 'boolean' ? captureOrOptions : captureOrOptions.capture;\r\n        this.bubbles = !this.capture;\r\n        this.captureOrOptions = captureOrOptions;\r\n        this.once = once;\r\n        owner.element.addEventListener(eventName, this, captureOrOptions);\r\n        owner._enqueueHandler(this);\r\n    }\r\n    EventHandlerImpl.prototype.handleEvent = function (e) {\r\n        var fn = this.handler;\r\n        fn(e);\r\n        if (this.once) {\r\n            this.dispose();\r\n        }\r\n    };\r\n    EventHandlerImpl.prototype.dispose = function () {\r\n        this.owner.element.removeEventListener(this.eventName, this, this.captureOrOptions);\r\n        this.owner._dequeueHandler(this);\r\n        this.owner = this.handler = null;\r\n    };\r\n    return EventHandlerImpl;\r\n}());\n\nvar ResourceLoadContext = (function () {\r\n    function ResourceLoadContext() {\r\n        this.dependencies = {};\r\n    }\r\n    ResourceLoadContext.prototype.addDependency = function (url) {\r\n        this.dependencies[url] = true;\r\n    };\r\n    ResourceLoadContext.prototype.hasDependency = function (url) {\r\n        return url in this.dependencies;\r\n    };\r\n    return ResourceLoadContext;\r\n}());\r\nvar ViewCompileInstruction = (function () {\r\n    function ViewCompileInstruction(targetShadowDOM, compileSurrogate) {\r\n        if (targetShadowDOM === void 0) { targetShadowDOM = false; }\r\n        if (compileSurrogate === void 0) { compileSurrogate = false; }\r\n        this.targetShadowDOM = targetShadowDOM;\r\n        this.compileSurrogate = compileSurrogate;\r\n        this.associatedModuleId = null;\r\n    }\r\n    ViewCompileInstruction.normal = new ViewCompileInstruction();\r\n    return ViewCompileInstruction;\r\n}());\r\nvar BehaviorInstruction = (function () {\r\n    function BehaviorInstruction() {\r\n    }\r\n    BehaviorInstruction.enhance = function () {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.enhance = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.unitTest = function (type, attributes) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = attributes || {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.element = function (node, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = {};\r\n        instruction.anchorIsContainer = !(node.hasAttribute('containerless') || type.containerless);\r\n        instruction.initiatedByBehavior = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.attribute = function (attrName, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.attrName = attrName;\r\n        instruction.type = type || null;\r\n        instruction.attributes = {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.dynamic = function (host, viewModel, viewFactory) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.host = host;\r\n        instruction.viewModel = viewModel;\r\n        instruction.viewFactory = viewFactory;\r\n        instruction.inheritBindingContext = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.normal = new BehaviorInstruction();\r\n    return BehaviorInstruction;\r\n}());\r\nvar biProto = BehaviorInstruction.prototype;\r\nbiProto.initiatedByBehavior = false;\r\nbiProto.enhance = false;\r\nbiProto.partReplacements = null;\r\nbiProto.viewFactory = null;\r\nbiProto.originalAttrName = null;\r\nbiProto.skipContentProcessing = false;\r\nbiProto.contentFactory = null;\r\nbiProto.viewModel = null;\r\nbiProto.anchorIsContainer = false;\r\nbiProto.host = null;\r\nbiProto.attributes = null;\r\nbiProto.type = null;\r\nbiProto.attrName = null;\r\nbiProto.inheritBindingContext = false;\r\nvar TargetInstruction = (function () {\r\n    function TargetInstruction() {\r\n    }\r\n    TargetInstruction.shadowSlot = function (parentInjectorId) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.shadowSlot = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.contentExpression = function (expression) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.contentExpression = expression;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.letElement = function (expressions) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.letElement = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.lifting = function (parentInjectorId, liftingInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.expressions = TargetInstruction.noExpressions;\r\n        instruction.behaviorInstructions = [liftingInstruction];\r\n        instruction.viewFactory = liftingInstruction.viewFactory;\r\n        instruction.providers = [liftingInstruction.type.target];\r\n        instruction.lifting = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.normal = function (injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.injectorId = injectorId;\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.providers = providers;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.expressions = expressions;\r\n        instruction.anchorIsContainer = elementInstruction ? elementInstruction.anchorIsContainer : true;\r\n        instruction.elementInstruction = elementInstruction;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.surrogate = function (providers, behaviorInstructions, expressions, values) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.providers = providers;\r\n        instruction.values = values;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.noExpressions = Object.freeze([]);\r\n    return TargetInstruction;\r\n}());\r\nvar tiProto = TargetInstruction.prototype;\r\ntiProto.injectorId = null;\r\ntiProto.parentInjectorId = null;\r\ntiProto.shadowSlot = false;\r\ntiProto.slotName = null;\r\ntiProto.slotFallbackFactory = null;\r\ntiProto.contentExpression = null;\r\ntiProto.letElement = false;\r\ntiProto.expressions = null;\r\ntiProto.expressions = null;\r\ntiProto.providers = null;\r\ntiProto.viewFactory = null;\r\ntiProto.anchorIsContainer = false;\r\ntiProto.elementInstruction = null;\r\ntiProto.lifting = false;\r\ntiProto.values = null;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar capitalMatcher = /([A-Z])/g;\r\nfunction addHyphenAndLower(char) {\r\n    return '-' + char.toLowerCase();\r\n}\r\nfunction _hyphenate(name) {\r\n    return (name.charAt(0).toLowerCase() + name.slice(1)).replace(capitalMatcher, addHyphenAndLower);\r\n}\r\nfunction _isAllWhitespace(node) {\r\n    return !(node.auInterpolationTarget || (/[^\\t\\n\\r ]/.test(node.textContent)));\r\n}\n\nvar BehaviorPropertyObserver = (function () {\r\n    function BehaviorPropertyObserver(taskQueue, obj, propertyName, selfSubscriber, initialValue) {\r\n        this.taskQueue = taskQueue;\r\n        this.obj = obj;\r\n        this.propertyName = propertyName;\r\n        this.notqueued = true;\r\n        this.publishing = false;\r\n        this.selfSubscriber = selfSubscriber;\r\n        this.currentValue = this.oldValue = initialValue;\r\n    }\r\n    BehaviorPropertyObserver.prototype.getValue = function () {\r\n        return this.currentValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.setValue = function (newValue) {\r\n        var oldValue = this.currentValue;\r\n        if (!Object.is(newValue, oldValue)) {\r\n            this.oldValue = oldValue;\r\n            this.currentValue = newValue;\r\n            if (this.publishing && this.notqueued) {\r\n                if (this.taskQueue.flushing) {\r\n                    this.call();\r\n                }\r\n                else {\r\n                    this.notqueued = false;\r\n                    this.taskQueue.queueMicroTask(this);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    BehaviorPropertyObserver.prototype.call = function () {\r\n        var oldValue = this.oldValue;\r\n        var newValue = this.currentValue;\r\n        this.notqueued = true;\r\n        if (Object.is(newValue, oldValue)) {\r\n            return;\r\n        }\r\n        if (this.selfSubscriber) {\r\n            this.selfSubscriber(newValue, oldValue);\r\n        }\r\n        this.callSubscribers(newValue, oldValue);\r\n        this.oldValue = newValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.callSubscribers = function (newValue, oldValue) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.subscribe = function (context, callable) {\r\n        this.addSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.addSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.unsubscribe = function (context, callable) {\r\n        this.removeSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.removeSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver = __decorate([\r\n        subscriberCollection()\r\n    ], BehaviorPropertyObserver);\r\n    return BehaviorPropertyObserver;\r\n}());\n\nfunction getObserver(instance, name) {\r\n    var lookup = instance.__observers__;\r\n    if (lookup === undefined) {\r\n        var ctor = Object.getPrototypeOf(instance).constructor;\r\n        var behavior = metadata.get(metadata.resource, ctor);\r\n        if (!behavior.isInitialized) {\r\n            behavior.initialize(Container.instance || new Container(), instance.constructor);\r\n        }\r\n        lookup = behavior.observerLocator.getOrCreateObserversLookup(instance);\r\n        behavior._ensurePropertiesDefined(instance, lookup);\r\n    }\r\n    return lookup[name];\r\n}\r\nvar BindableProperty = (function () {\r\n    function BindableProperty(nameOrConfig) {\r\n        if (typeof nameOrConfig === 'string') {\r\n            this.name = nameOrConfig;\r\n        }\r\n        else {\r\n            Object.assign(this, nameOrConfig);\r\n        }\r\n        this.attribute = this.attribute || _hyphenate(this.name);\r\n        var defaultBindingMode = this.defaultBindingMode;\r\n        if (defaultBindingMode === null || defaultBindingMode === undefined) {\r\n            this.defaultBindingMode = bindingMode.oneWay;\r\n        }\r\n        else if (typeof defaultBindingMode === 'string') {\r\n            this.defaultBindingMode = bindingMode[defaultBindingMode] || bindingMode.oneWay;\r\n        }\r\n        this.changeHandler = this.changeHandler || null;\r\n        this.owner = null;\r\n        this.descriptor = null;\r\n    }\r\n    BindableProperty.prototype.registerWith = function (target, behavior, descriptor) {\r\n        behavior.properties.push(this);\r\n        behavior.attributes[this.attribute] = this;\r\n        this.owner = behavior;\r\n        if (descriptor) {\r\n            this.descriptor = descriptor;\r\n            return this._configureDescriptor(descriptor);\r\n        }\r\n        return undefined;\r\n    };\r\n    BindableProperty.prototype._configureDescriptor = function (descriptor) {\r\n        var name = this.name;\r\n        descriptor.configurable = true;\r\n        descriptor.enumerable = true;\r\n        if ('initializer' in descriptor) {\r\n            this.defaultValue = descriptor.initializer;\r\n            delete descriptor.initializer;\r\n            delete descriptor.writable;\r\n        }\r\n        if ('value' in descriptor) {\r\n            this.defaultValue = descriptor.value;\r\n            delete descriptor.value;\r\n            delete descriptor.writable;\r\n        }\r\n        descriptor.get = function () {\r\n            return getObserver(this, name).getValue();\r\n        };\r\n        descriptor.set = function (value) {\r\n            getObserver(this, name).setValue(value);\r\n        };\r\n        descriptor.get.getObserver = function (obj) {\r\n            return getObserver(obj, name);\r\n        };\r\n        return descriptor;\r\n    };\r\n    BindableProperty.prototype.defineOn = function (target, behavior) {\r\n        var name = this.name;\r\n        var handlerName;\r\n        if (this.changeHandler === null) {\r\n            handlerName = name + 'Changed';\r\n            if (handlerName in target.prototype) {\r\n                this.changeHandler = handlerName;\r\n            }\r\n        }\r\n        if (this.descriptor === null) {\r\n            Object.defineProperty(target.prototype, name, this._configureDescriptor({}));\r\n        }\r\n    };\r\n    BindableProperty.prototype.createObserver = function (viewModel) {\r\n        var selfSubscriber = null;\r\n        var defaultValue = this.defaultValue;\r\n        var changeHandlerName = this.changeHandler;\r\n        var name = this.name;\r\n        var initialValue;\r\n        if (this.hasOptions) {\r\n            return undefined;\r\n        }\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        else if (changeHandlerName !== null) {\r\n            throw new Error(\"Change handler \".concat(changeHandlerName, \" was specified but not declared on the class.\"));\r\n        }\r\n        if (defaultValue !== undefined) {\r\n            initialValue = typeof defaultValue === 'function' ? defaultValue.call(viewModel) : defaultValue;\r\n        }\r\n        return new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, this.name, selfSubscriber, initialValue);\r\n    };\r\n    BindableProperty.prototype._initialize = function (viewModel, observerLookup, attributes, behaviorHandlesBind, boundProperties) {\r\n        var selfSubscriber;\r\n        var observer;\r\n        var attribute;\r\n        var defaultValue = this.defaultValue;\r\n        if (this.isDynamic) {\r\n            for (var key in attributes) {\r\n                this._createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, key, attributes[key], boundProperties);\r\n            }\r\n        }\r\n        else if (!this.hasOptions) {\r\n            observer = observerLookup[this.name];\r\n            if (attributes !== null) {\r\n                selfSubscriber = observer.selfSubscriber;\r\n                attribute = attributes[this.attribute];\r\n                if (behaviorHandlesBind) {\r\n                    observer.selfSubscriber = null;\r\n                }\r\n                if (typeof attribute === 'string') {\r\n                    viewModel[this.name] = attribute;\r\n                    observer.call();\r\n                }\r\n                else if (attribute) {\r\n                    boundProperties.push({ observer: observer, binding: attribute.createBinding(viewModel) });\r\n                }\r\n                else if (defaultValue !== undefined) {\r\n                    observer.call();\r\n                }\r\n                observer.selfSubscriber = selfSubscriber;\r\n            }\r\n            observer.publishing = true;\r\n        }\r\n    };\r\n    BindableProperty.prototype._createDynamicProperty = function (viewModel, observerLookup, behaviorHandlesBind, name, attribute, boundProperties) {\r\n        var changeHandlerName = name + 'Changed';\r\n        var selfSubscriber = null;\r\n        var observer;\r\n        var info;\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        observer = observerLookup[name] = new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, name, selfSubscriber);\r\n        Object.defineProperty(viewModel, name, {\r\n            configurable: true,\r\n            enumerable: true,\r\n            get: observer.getValue.bind(observer),\r\n            set: observer.setValue.bind(observer)\r\n        });\r\n        if (behaviorHandlesBind) {\r\n            observer.selfSubscriber = null;\r\n        }\r\n        if (typeof attribute === 'string') {\r\n            viewModel[name] = attribute;\r\n            observer.call();\r\n        }\r\n        else if (attribute) {\r\n            info = { observer: observer, binding: attribute.createBinding(viewModel) };\r\n            boundProperties.push(info);\r\n        }\r\n        observer.publishing = true;\r\n        observer.selfSubscriber = selfSubscriber;\r\n    };\r\n    return BindableProperty;\r\n}());\n\nvar ViewLocator = (function () {\r\n    function ViewLocator() {\r\n    }\r\n    ViewLocator.prototype.getViewStrategy = function (value) {\r\n        if (!value) {\r\n            return null;\r\n        }\r\n        if (typeof value === 'object' && 'getViewStrategy' in value) {\r\n            var origin_1 = Origin.get(value.constructor);\r\n            value = value.getViewStrategy();\r\n            if (typeof value === 'string') {\r\n                value = new RelativeViewStrategy(value);\r\n            }\r\n            viewStrategy.assert(value);\r\n            if (origin_1.moduleId) {\r\n                value.makeRelativeTo(origin_1.moduleId);\r\n            }\r\n            return value;\r\n        }\r\n        if (typeof value === 'string') {\r\n            value = new RelativeViewStrategy(value);\r\n        }\r\n        if (viewStrategy.validate(value)) {\r\n            return value;\r\n        }\r\n        if (typeof value !== 'function') {\r\n            value = value.constructor;\r\n        }\r\n        if ('$view' in value) {\r\n            var c = value.$view;\r\n            var view = void 0;\r\n            c = typeof c === 'function' ? c.call(value) : c;\r\n            if (c === null) {\r\n                view = new NoViewStrategy();\r\n            }\r\n            else {\r\n                view = c instanceof StaticViewStrategy ? c : new StaticViewStrategy(c);\r\n            }\r\n            metadata.define(ViewLocator.viewStrategyMetadataKey, view, value);\r\n            return view;\r\n        }\r\n        var origin = Origin.get(value);\r\n        var strategy = metadata.get(ViewLocator.viewStrategyMetadataKey, value);\r\n        if (!strategy) {\r\n            if (!origin.moduleId) {\r\n                throw new Error('Cannot determine default view strategy for object.\\n' + value);\r\n            }\r\n            strategy = this.createFallbackViewStrategy(origin);\r\n        }\r\n        else if (origin.moduleId) {\r\n            strategy.moduleId = origin.moduleId;\r\n        }\r\n        return strategy;\r\n    };\r\n    ViewLocator.prototype.createFallbackViewStrategy = function (origin) {\r\n        return new ConventionalViewStrategy(this, origin);\r\n    };\r\n    ViewLocator.prototype.convertOriginToViewUrl = function (origin) {\r\n        var moduleId = origin.moduleId;\r\n        var id = (moduleId.endsWith('.js') || moduleId.endsWith('.ts')) ? moduleId.substring(0, moduleId.length - 3) : moduleId;\r\n        return id + '.html';\r\n    };\r\n    ViewLocator.viewStrategyMetadataKey = 'aurelia:view-strategy';\r\n    return ViewLocator;\r\n}());\n\nfunction mi(name) {\r\n    throw new Error(\"BindingLanguage must implement \".concat(name, \"().\"));\r\n}\r\nvar BindingLanguage = (function () {\r\n    function BindingLanguage() {\r\n    }\r\n    BindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        mi('inspectAttribute');\r\n    };\r\n    BindingLanguage.prototype.createAttributeInstruction = function (resources, element, info, existingInstruction, context) {\r\n        mi('createAttributeInstruction');\r\n    };\r\n    BindingLanguage.prototype.createLetExpressions = function (resources, element) {\r\n        mi('createLetExpressions');\r\n    };\r\n    BindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        mi('inspectTextContent');\r\n    };\r\n    return BindingLanguage;\r\n}());\n\nvar noNodes = Object.freeze([]);\r\nvar SlotCustomAttribute = (function () {\r\n    function SlotCustomAttribute(element) {\r\n        this.element = element;\r\n        this.element.auSlotAttribute = this;\r\n    }\r\n    SlotCustomAttribute.inject = function () {\r\n        return [DOM.Element];\r\n    };\r\n    SlotCustomAttribute.prototype.valueChanged = function (newValue, oldValue) { };\r\n    return SlotCustomAttribute;\r\n}());\r\nvar PassThroughSlot = (function () {\r\n    function PassThroughSlot(anchor, name, destinationName, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.destinationName = destinationName;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.destinationSlot = null;\r\n        this.projections = 0;\r\n        this.contentView = null;\r\n        var attr = new SlotCustomAttribute(this.anchor);\r\n        attr.value = this.destinationName;\r\n    }\r\n    Object.defineProperty(PassThroughSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    PassThroughSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            var slots = Object.create(null);\r\n            slots[this.destinationSlot.name] = this.destinationSlot;\r\n            ShadowDOM.distributeView(this.contentView, slots, projectionSource, index, this.destinationSlot.name);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.passThroughTo = function (destinationSlot) {\r\n        this.destinationSlot = destinationSlot;\r\n    };\r\n    PassThroughSlot.prototype.addNode = function (view, node, projectionSource, index) {\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if (node.viewSlot instanceof PassThroughSlot) {\r\n            node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        this.projections++;\r\n        this.destinationSlot.addNode(view, node, projectionSource, index);\r\n    };\r\n    PassThroughSlot.prototype.removeView = function (view, projectionSource) {\r\n        this.projections--;\r\n        this.destinationSlot.removeView(view, projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.removeAll = function (projectionSource) {\r\n        this.projections = 0;\r\n        this.destinationSlot.removeAll(projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        this.destinationSlot.projectFrom(view, projectionSource);\r\n    };\r\n    PassThroughSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    PassThroughSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return PassThroughSlot;\r\n}());\r\nvar ShadowSlot = (function () {\r\n    function ShadowSlot(anchor, name, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.isContentProjectionSource = true;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.contentView = null;\r\n        this.projections = 0;\r\n        this.children = [];\r\n        this.projectFromAnchors = null;\r\n        this.destinationSlots = null;\r\n    }\r\n    Object.defineProperty(ShadowSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ShadowSlot.prototype.addNode = function (view, node, projectionSource, index, destination) {\r\n        var $node = node;\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if ($node.viewSlot instanceof PassThroughSlot) {\r\n            $node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.distributeNodes(view, [$node], this.destinationSlots, this, index);\r\n        }\r\n        else {\r\n            $node.auOwnerView = view;\r\n            $node.auProjectionSource = projectionSource;\r\n            $node.auAssignedSlot = this;\r\n            var anchor = this._findAnchor(view, $node, projectionSource, index);\r\n            var parent_1 = anchor.parentNode;\r\n            parent_1.insertBefore($node, anchor);\r\n            this.children.push($node);\r\n            this.projections++;\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeView = function (view, projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeView(view, this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeView(view, this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child.auOwnerView === view) {\r\n                        children.splice(i, 1);\r\n                        view.fragment.appendChild(child);\r\n                        i--;\r\n                        ii--;\r\n                        this.projections--;\r\n                        var idx = ownChildren.indexOf(child);\r\n                        if (idx > -1) {\r\n                            ownChildren.splice(idx, 1);\r\n                        }\r\n                    }\r\n                }\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(view, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeAll = function (projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeAll(this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeAll(this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    child.auOwnerView.fragment.appendChild(child);\r\n                    this.projections--;\r\n                    var idx = ownChildren.indexOf(child);\r\n                    if (idx > -1) {\r\n                        ownChildren.splice(idx, 1);\r\n                    }\r\n                }\r\n                found.auProjectionChildren = [];\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(null, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype._findAnchor = function (view, node, projectionSource, index) {\r\n        if (projectionSource) {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                if (index !== undefined) {\r\n                    var children = found.auProjectionChildren;\r\n                    var viewIndex = -1;\r\n                    var lastView = void 0;\r\n                    for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                        var current = children[i];\r\n                        if (current.auOwnerView !== lastView) {\r\n                            viewIndex++;\r\n                            lastView = current.auOwnerView;\r\n                            if (viewIndex >= index && lastView !== view) {\r\n                                children.splice(i, 0, node);\r\n                                return current;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                found.auProjectionChildren.push(node);\r\n                return found;\r\n            }\r\n        }\r\n        return this.anchor;\r\n    };\r\n    ShadowSlot.prototype.projectTo = function (slots) {\r\n        this.destinationSlots = slots;\r\n    };\r\n    ShadowSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        var anchor = DOM.createComment('anchor');\r\n        var parent = this.anchor.parentNode;\r\n        anchor.auSlotProjectFrom = projectionSource;\r\n        anchor.auOwnerView = view;\r\n        anchor.auProjectionChildren = [];\r\n        parent.insertBefore(anchor, this.anchor);\r\n        this.children.push(anchor);\r\n        if (this.projectFromAnchors === null) {\r\n            this.projectFromAnchors = [];\r\n        }\r\n        this.projectFromAnchors.push(anchor);\r\n    };\r\n    ShadowSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            this.contentView.insertNodesBefore(this.anchor);\r\n        }\r\n        if (this.contentView.hasSlots) {\r\n            var slots = this.contentView.slots;\r\n            var projectFromAnchors = this.projectFromAnchors;\r\n            if (projectFromAnchors !== null) {\r\n                for (var slotName in slots) {\r\n                    var slot = slots[slotName];\r\n                    for (var i = 0, ii = projectFromAnchors.length; i < ii; ++i) {\r\n                        var anchor = projectFromAnchors[i];\r\n                        slot.projectFrom(anchor.auOwnerView, anchor.auSlotProjectFrom);\r\n                    }\r\n                }\r\n            }\r\n            this.fallbackSlots = slots;\r\n            ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    ShadowSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return ShadowSlot;\r\n}());\r\nvar ShadowDOM = (function () {\r\n    function ShadowDOM() {\r\n    }\r\n    ShadowDOM.getSlotName = function (node) {\r\n        if (node.auSlotAttribute === undefined) {\r\n            return ShadowDOM.defaultSlotKey;\r\n        }\r\n        return node.auSlotAttribute.value;\r\n    };\r\n    ShadowDOM.distributeView = function (view, slots, projectionSource, index, destinationOverride) {\r\n        var nodes;\r\n        if (view === null) {\r\n            nodes = noNodes;\r\n        }\r\n        else {\r\n            var childNodes = view.fragment.childNodes;\r\n            var ii = childNodes.length;\r\n            nodes = new Array(ii);\r\n            for (var i = 0; i < ii; ++i) {\r\n                nodes[i] = childNodes[i];\r\n            }\r\n        }\r\n        ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride);\r\n    };\r\n    ShadowDOM.undistributeView = function (view, slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeView(view, projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.undistributeAll = function (slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeAll(projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.distributeNodes = function (view, nodes, slots, projectionSource, index, destinationOverride) {\r\n        for (var i = 0, ii = nodes.length; i < ii; ++i) {\r\n            var currentNode = nodes[i];\r\n            var nodeType = currentNode.nodeType;\r\n            if (currentNode.isContentProjectionSource) {\r\n                currentNode.viewSlot.projectTo(slots);\r\n                for (var slotName in slots) {\r\n                    slots[slotName].projectFrom(view, currentNode.viewSlot);\r\n                }\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n            else if (nodeType === 1 || nodeType === 3 || currentNode.viewSlot instanceof PassThroughSlot) {\r\n                if (nodeType === 3 && _isAllWhitespace(currentNode)) {\r\n                    nodes.splice(i, 1);\r\n                    ii--;\r\n                    i--;\r\n                }\r\n                else {\r\n                    var found = slots[destinationOverride || ShadowDOM.getSlotName(currentNode)];\r\n                    if (found) {\r\n                        found.addNode(view, currentNode, projectionSource, index);\r\n                        nodes.splice(i, 1);\r\n                        ii--;\r\n                        i--;\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n        }\r\n        for (var slotName in slots) {\r\n            var slot = slots[slotName];\r\n            if (slot.needsFallbackRendering) {\r\n                slot.renderFallbackContent(view, nodes, projectionSource, index);\r\n            }\r\n        }\r\n    };\r\n    ShadowDOM.defaultSlotKey = '__au-default-slot-key__';\r\n    return ShadowDOM;\r\n}());\n\nvar CompositionTransactionNotifier = (function () {\r\n    function CompositionTransactionNotifier(owner) {\r\n        this.owner = owner;\r\n        this.owner._compositionCount++;\r\n    }\r\n    CompositionTransactionNotifier.prototype.done = function () {\r\n        this.owner._compositionCount--;\r\n        this.owner._tryCompleteTransaction();\r\n    };\r\n    return CompositionTransactionNotifier;\r\n}());\r\nvar CompositionTransactionOwnershipToken = (function () {\r\n    function CompositionTransactionOwnershipToken(owner) {\r\n        this.owner = owner;\r\n        this.owner._ownershipToken = this;\r\n        this.thenable = this._createThenable();\r\n    }\r\n    CompositionTransactionOwnershipToken.prototype.waitForCompositionComplete = function () {\r\n        this.owner._tryCompleteTransaction();\r\n        return this.thenable;\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype.resolve = function () {\r\n        this._resolveCallback();\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._resolveCallback = function () {\r\n        throw new Error(\"Method not implemented.\");\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._createThenable = function () {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            _this._resolveCallback = resolve;\r\n        });\r\n    };\r\n    return CompositionTransactionOwnershipToken;\r\n}());\r\nvar CompositionTransaction = (function () {\r\n    function CompositionTransaction() {\r\n        this._ownershipToken = null;\r\n        this._compositionCount = 0;\r\n    }\r\n    CompositionTransaction.prototype.tryCapture = function () {\r\n        return this._ownershipToken === null\r\n            ? new CompositionTransactionOwnershipToken(this)\r\n            : null;\r\n    };\r\n    CompositionTransaction.prototype.enlist = function () {\r\n        return new CompositionTransactionNotifier(this);\r\n    };\r\n    CompositionTransaction.prototype._tryCompleteTransaction = function () {\r\n        if (this._compositionCount <= 0) {\r\n            this._compositionCount = 0;\r\n            if (this._ownershipToken !== null) {\r\n                var token = this._ownershipToken;\r\n                this._ownershipToken = null;\r\n                token.resolve();\r\n            }\r\n        }\r\n    };\r\n    return CompositionTransaction;\r\n}());\n\nvar View = (function () {\r\n    function View(container, viewFactory, fragment, controllers, bindings, children, slots) {\r\n        this.container = container;\r\n        this.viewFactory = viewFactory;\r\n        this.resources = viewFactory.resources;\r\n        this.fragment = fragment;\r\n        this.firstChild = fragment.firstChild;\r\n        this.lastChild = fragment.lastChild;\r\n        this.controllers = controllers;\r\n        this.bindings = bindings;\r\n        this.children = children;\r\n        this.slots = slots;\r\n        this.hasSlots = false;\r\n        this.fromCache = false;\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.controller = null;\r\n        this.viewModelScope = null;\r\n        this.animatableElement = undefined;\r\n        this._isUserControlled = false;\r\n        this.contentView = null;\r\n        for (var _ in slots) {\r\n            this.hasSlots = true;\r\n            break;\r\n        }\r\n    }\r\n    View.prototype.returnToCache = function () {\r\n        this.viewFactory.returnViewToCache(this);\r\n    };\r\n    View.prototype.created = function () {\r\n        var i;\r\n        var ii;\r\n        var controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].created(this);\r\n        }\r\n    };\r\n    View.prototype.bind = function (bindingContext, overrideContext, _systemUpdate) {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (_systemUpdate && this._isUserControlled) {\r\n            return;\r\n        }\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext || createOverrideContext(bindingContext);\r\n        this.resources._invokeHook('beforeBind', this);\r\n        bindings = this.bindings;\r\n        for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n            bindings[i].bind(this);\r\n        }\r\n        if (this.viewModelScope !== null) {\r\n            bindingContext.bind(this.viewModelScope.bindingContext, this.viewModelScope.overrideContext);\r\n            this.viewModelScope = null;\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].bind(this);\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n        if (this.hasSlots) {\r\n            ShadowDOM.distributeView(this.contentView, this.slots);\r\n        }\r\n    };\r\n    View.prototype.addBinding = function (binding) {\r\n        this.bindings.push(binding);\r\n        if (this.isBound) {\r\n            binding.bind(this);\r\n        }\r\n    };\r\n    View.prototype.unbind = function () {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isBound) {\r\n            this.isBound = false;\r\n            this.resources._invokeHook('beforeUnbind', this);\r\n            if (this.controller !== null) {\r\n                this.controller.unbind();\r\n            }\r\n            bindings = this.bindings;\r\n            for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n                bindings[i].unbind();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].unbind();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n        }\r\n    };\r\n    View.prototype.insertNodesBefore = function (refNode) {\r\n        refNode.parentNode.insertBefore(this.fragment, refNode);\r\n    };\r\n    View.prototype.appendNodesTo = function (parent) {\r\n        parent.appendChild(this.fragment);\r\n    };\r\n    View.prototype.removeNodes = function () {\r\n        var fragment = this.fragment;\r\n        var current = this.firstChild;\r\n        var end = this.lastChild;\r\n        var next;\r\n        while (current) {\r\n            next = current.nextSibling;\r\n            fragment.appendChild(current);\r\n            if (current === end) {\r\n                break;\r\n            }\r\n            current = next;\r\n        }\r\n    };\r\n    View.prototype.attached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.controller !== null) {\r\n            this.controller.attached();\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].attached();\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].attached();\r\n        }\r\n    };\r\n    View.prototype.detached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.controller !== null) {\r\n                this.controller.detached();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].detached();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    return View;\r\n}());\n\nvar Animator = (function () {\r\n    function Animator() {\r\n    }\r\n    Animator.prototype.enter = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.leave = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.removeClass = function (element, className) {\r\n        element.classList.remove(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.addClass = function (element, className) {\r\n        element.classList.add(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.animate = function (element, className) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.runSequence = function (animations) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.registerEffect = function (effectName, properties) { };\r\n    Animator.prototype.unregisterEffect = function (effectName) { };\r\n    return Animator;\r\n}());\n\nfunction getAnimatableElement(view) {\r\n    if (view.animatableElement !== undefined) {\r\n        return view.animatableElement;\r\n    }\r\n    var current = view.firstChild;\r\n    while (current && current.nodeType !== 1) {\r\n        current = current.nextSibling;\r\n    }\r\n    if (current && current.nodeType === 1) {\r\n        return (view.animatableElement = current.classList.contains('au-animate') ? current : null);\r\n    }\r\n    return (view.animatableElement = null);\r\n}\r\nvar ViewSlot = (function () {\r\n    function ViewSlot(anchor, anchorIsContainer, animator) {\r\n        if (animator === void 0) { animator = Animator.instance; }\r\n        this.anchor = anchor;\r\n        this.anchorIsContainer = anchorIsContainer;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.animator = animator;\r\n        this.children = [];\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.contentSelectors = null;\r\n        anchor.viewSlot = this;\r\n        anchor.isContentProjectionSource = false;\r\n    }\r\n    ViewSlot.prototype.animateView = function (view, direction) {\r\n        if (direction === void 0) { direction = 'enter'; }\r\n        var animatableElement = getAnimatableElement(view);\r\n        if (animatableElement !== null) {\r\n            switch (direction) {\r\n                case 'enter':\r\n                    return this.animator.enter(animatableElement);\r\n                case 'leave':\r\n                    return this.animator.leave(animatableElement);\r\n                default:\r\n                    throw new Error('Invalid animation direction: ' + direction);\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.transformChildNodesIntoView = function () {\r\n        var parent = this.anchor;\r\n        this.children.push({\r\n            fragment: parent,\r\n            firstChild: parent.firstChild,\r\n            lastChild: parent.lastChild,\r\n            returnToCache: function () { },\r\n            removeNodes: function () {\r\n                var last;\r\n                while (last = parent.lastChild) {\r\n                    parent.removeChild(last);\r\n                }\r\n            },\r\n            created: function () { },\r\n            bind: function () { },\r\n            unbind: function () { },\r\n            attached: function () { },\r\n            detached: function () { }\r\n        });\r\n    };\r\n    ViewSlot.prototype.bind = function (bindingContext, overrideContext) {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext = bindingContext || this.bindingContext;\r\n        this.overrideContext = overrideContext = overrideContext || this.overrideContext;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n    };\r\n    ViewSlot.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            var children = this.children;\r\n            this.isBound = false;\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.add = function (view) {\r\n        if (this.anchorIsContainer) {\r\n            view.appendNodesTo(this.anchor);\r\n        }\r\n        else {\r\n            view.insertNodesBefore(this.anchor);\r\n        }\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.insert = function (index, view) {\r\n        var children = this.children;\r\n        var length = children.length;\r\n        if ((index === 0 && length === 0) || index >= length) {\r\n            return this.add(view);\r\n        }\r\n        view.insertNodesBefore(children[index].firstChild);\r\n        children.splice(index, 0, view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.move = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        view.removeNodes();\r\n        view.insertNodesBefore(children[targetIndex].firstChild);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype.remove = function (view, returnToCache, skipAnimation) {\r\n        return this.removeAt(this.children.indexOf(view), returnToCache, skipAnimation);\r\n    };\r\n    ViewSlot.prototype.removeMany = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = viewsToRemove.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        viewsToRemove.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].returnToCache();\r\n                }\r\n            }\r\n            for (i = 0; i < ii; ++i) {\r\n                var index = children.indexOf(viewsToRemove[i]);\r\n                if (index >= 0) {\r\n                    children.splice(index, 1);\r\n                }\r\n            }\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAt = function (index, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var view = this.children[index];\r\n        var removeAction = function () {\r\n            index = _this.children.indexOf(view);\r\n            view.removeNodes();\r\n            _this.children.splice(index, 1);\r\n            if (_this.isAttached) {\r\n                view.detached();\r\n            }\r\n            if (returnToCache) {\r\n                view.returnToCache();\r\n            }\r\n            return view;\r\n        };\r\n        if (!skipAnimation) {\r\n            var animation = this.animateView(view, 'leave');\r\n            if (animation) {\r\n                return animation.then(function () { return removeAction(); });\r\n            }\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAll = function (returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        children.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    children[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child) {\r\n                        child.returnToCache();\r\n                    }\r\n                }\r\n            }\r\n            _this.children = [];\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.attached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        var child;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            child = children[i];\r\n            child.attached();\r\n            this.animateView(child, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.detached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.projectTo = function (slots) {\r\n        var _this = this;\r\n        this.projectToSlots = slots;\r\n        this.add = this._projectionAdd;\r\n        this.insert = this._projectionInsert;\r\n        this.move = this._projectionMove;\r\n        this.remove = this._projectionRemove;\r\n        this.removeAt = this._projectionRemoveAt;\r\n        this.removeMany = this._projectionRemoveMany;\r\n        this.removeAll = this._projectionRemoveAll;\r\n        this.children.forEach(function (view) { return ShadowDOM.distributeView(view, slots, _this); });\r\n    };\r\n    ViewSlot.prototype._projectionAdd = function (view) {\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this);\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionInsert = function (index, view) {\r\n        if ((index === 0 && !this.children.length) || index >= this.children.length) {\r\n            this.add(view);\r\n        }\r\n        else {\r\n            ShadowDOM.distributeView(view, this.projectToSlots, this, index);\r\n            this.children.splice(index, 0, view);\r\n            if (this.isAttached) {\r\n                view.attached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionMove = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this, targetIndex);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype._projectionRemove = function (view, returnToCache) {\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(this.children.indexOf(view), 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAt = function (index, returnToCache) {\r\n        var view = this.children[index];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(index, 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveMany = function (viewsToRemove, returnToCache) {\r\n        var _this = this;\r\n        viewsToRemove.forEach(function (view) { return _this.remove(view, returnToCache); });\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAll = function (returnToCache) {\r\n        ShadowDOM.undistributeAll(this.projectToSlots, this);\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        for (var i = 0; i < ii; ++i) {\r\n            if (returnToCache) {\r\n                children[i].returnToCache();\r\n            }\r\n            else if (this.isAttached) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n        this.children = [];\r\n    };\r\n    return ViewSlot;\r\n}());\n\nvar $resolver = resolver;\r\nvar ProviderResolver = (function () {\r\n    function ProviderResolver() {\r\n    }\r\n    ProviderResolver.prototype.get = function (container, key) {\r\n        var id = key.__providerId__;\r\n        return id in container ? container[id] : (container[id] = container.invoke(key));\r\n    };\r\n    ProviderResolver = __decorate([\r\n        $resolver\r\n    ], ProviderResolver);\r\n    return ProviderResolver;\r\n}());\r\nvar providerResolverInstance = new ProviderResolver();\r\nfunction elementContainerGet(key) {\r\n    if (key === DOM.Element) {\r\n        return this.element;\r\n    }\r\n    if (key === BoundViewFactory) {\r\n        if (this.boundViewFactory) {\r\n            return this.boundViewFactory;\r\n        }\r\n        var factory = this.instruction.viewFactory;\r\n        var partReplacements = this.partReplacements;\r\n        if (partReplacements) {\r\n            factory = partReplacements[factory.part] || factory;\r\n        }\r\n        this.boundViewFactory = new BoundViewFactory(this, factory, partReplacements);\r\n        return this.boundViewFactory;\r\n    }\r\n    if (key === ViewSlot) {\r\n        if (this.viewSlot === undefined) {\r\n            this.viewSlot = new ViewSlot(this.element, this.instruction.anchorIsContainer);\r\n            this.element.isContentProjectionSource = this.instruction.lifting;\r\n            this.children.push(this.viewSlot);\r\n        }\r\n        return this.viewSlot;\r\n    }\r\n    if (key === ElementEvents) {\r\n        return this.elementEvents || (this.elementEvents = new ElementEvents(this.element));\r\n    }\r\n    if (key === CompositionTransaction) {\r\n        return this.compositionTransaction || (this.compositionTransaction = this.parent.get(key));\r\n    }\r\n    if (key === ViewResources) {\r\n        return this.viewResources;\r\n    }\r\n    if (key === TargetInstruction) {\r\n        return this.instruction;\r\n    }\r\n    return this.superGet(key);\r\n}\r\nfunction createElementContainer(parent, element, instruction, children, partReplacements, resources) {\r\n    var container = parent.createChild();\r\n    var providers;\r\n    var i;\r\n    container.element = element;\r\n    container.instruction = instruction;\r\n    container.children = children;\r\n    container.viewResources = resources;\r\n    container.partReplacements = partReplacements;\r\n    providers = instruction.providers;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    container.superGet = container.get;\r\n    container.get = elementContainerGet;\r\n    return container;\r\n}\r\nfunction hasAttribute(name) {\r\n    return this._element.hasAttribute(name);\r\n}\r\nfunction getAttribute(name) {\r\n    return this._element.getAttribute(name);\r\n}\r\nfunction setAttribute(name, value) {\r\n    this._element.setAttribute(name, value);\r\n}\r\nfunction makeElementIntoAnchor(element, elementInstruction) {\r\n    var anchor = DOM.createComment('anchor');\r\n    if (elementInstruction) {\r\n        var firstChild = element.firstChild;\r\n        if (firstChild && firstChild.tagName === 'AU-CONTENT') {\r\n            anchor.contentElement = firstChild;\r\n        }\r\n        anchor._element = element;\r\n        anchor.hasAttribute = hasAttribute;\r\n        anchor.getAttribute = getAttribute;\r\n        anchor.setAttribute = setAttribute;\r\n    }\r\n    DOM.replaceNode(anchor, element);\r\n    return anchor;\r\n}\r\nfunction applyInstructions(containers, element, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var elementContainer;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    if (instruction.contentExpression) {\r\n        bindings.push(instruction.contentExpression.createBinding(element.nextSibling));\r\n        element.nextSibling.auInterpolationTarget = true;\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (instruction.shadowSlot) {\r\n        var commentAnchor = DOM.createComment('slot');\r\n        var slot = void 0;\r\n        if (instruction.slotDestination) {\r\n            slot = new PassThroughSlot(commentAnchor, instruction.slotName, instruction.slotDestination, instruction.slotFallbackFactory);\r\n        }\r\n        else {\r\n            slot = new ShadowSlot(commentAnchor, instruction.slotName, instruction.slotFallbackFactory);\r\n        }\r\n        DOM.replaceNode(commentAnchor, element);\r\n        shadowSlots[instruction.slotName] = slot;\r\n        controllers.push(slot);\r\n        return;\r\n    }\r\n    if (instruction.letElement) {\r\n        for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n            bindings.push(expressions[i].createBinding());\r\n        }\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        if (!instruction.anchorIsContainer) {\r\n            element = makeElementIntoAnchor(element, instruction.elementInstruction);\r\n        }\r\n        containers[instruction.injectorId] = elementContainer =\r\n            createElementContainer(containers[instruction.parentInjectorId], element, instruction, children, partReplacements, resources);\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(elementContainer, current, element, bindings);\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nfunction styleStringToObject(style, target) {\r\n    var attributes = style.split(';');\r\n    var firstIndexOfColon;\r\n    var i;\r\n    var current;\r\n    var key;\r\n    var value;\r\n    target = target || {};\r\n    for (i = 0; i < attributes.length; i++) {\r\n        current = attributes[i];\r\n        firstIndexOfColon = current.indexOf(':');\r\n        key = current.substring(0, firstIndexOfColon).trim();\r\n        value = current.substring(firstIndexOfColon + 1).trim();\r\n        target[key] = value;\r\n    }\r\n    return target;\r\n}\r\nfunction styleObjectToString(obj) {\r\n    var result = '';\r\n    for (var key in obj) {\r\n        result += key + ':' + obj[key] + ';';\r\n    }\r\n    return result;\r\n}\r\nfunction applySurrogateInstruction(container, element, instruction, controllers, bindings, children) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var providers = instruction.providers;\r\n    var values = instruction.values;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    var currentAttributeValue;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    for (var key in values) {\r\n        currentAttributeValue = element.getAttribute(key);\r\n        if (currentAttributeValue) {\r\n            if (key === 'class') {\r\n                element.setAttribute('class', currentAttributeValue + ' ' + values[key]);\r\n            }\r\n            else if (key === 'style') {\r\n                var styleObject = styleStringToObject(values[key]);\r\n                styleStringToObject(currentAttributeValue, styleObject);\r\n                element.setAttribute('style', styleObjectToString(styleObject));\r\n            }\r\n        }\r\n        else {\r\n            element.setAttribute(key, values[key]);\r\n        }\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(container, current, element, bindings);\r\n            if (instance.contentView) {\r\n                children.push(instance.contentView);\r\n            }\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nvar BoundViewFactory = (function () {\r\n    function BoundViewFactory(parentContainer, viewFactory, partReplacements) {\r\n        this.parentContainer = parentContainer;\r\n        this.viewFactory = viewFactory;\r\n        this.factoryCreateInstruction = { partReplacements: partReplacements };\r\n    }\r\n    BoundViewFactory.prototype.create = function () {\r\n        var view = this.viewFactory.create(this.parentContainer.createChild(), this.factoryCreateInstruction);\r\n        view._isUserControlled = true;\r\n        return view;\r\n    };\r\n    Object.defineProperty(BoundViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    BoundViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    BoundViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    BoundViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return BoundViewFactory;\r\n}());\r\nvar ViewFactory = (function () {\r\n    function ViewFactory(template, instructions, resources) {\r\n        this.isCaching = false;\r\n        this.template = template;\r\n        this.instructions = instructions;\r\n        this.resources = resources;\r\n        this.cacheSize = -1;\r\n        this.cache = null;\r\n    }\r\n    ViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        if (size) {\r\n            if (size === '*') {\r\n                size = Number.MAX_VALUE;\r\n            }\r\n            else if (typeof size === 'string') {\r\n                size = parseInt(size, 10);\r\n            }\r\n        }\r\n        if (this.cacheSize === -1 || !doNotOverrideIfAlreadySet) {\r\n            this.cacheSize = Number(size);\r\n        }\r\n        if (this.cacheSize > 0) {\r\n            this.cache = [];\r\n        }\r\n        else {\r\n            this.cache = null;\r\n        }\r\n        this.isCaching = this.cacheSize > 0;\r\n    };\r\n    ViewFactory.prototype.getCachedView = function () {\r\n        return this.cache !== null ? (this.cache.pop() || null) : null;\r\n    };\r\n    ViewFactory.prototype.returnViewToCache = function (view) {\r\n        if (view.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (view.isBound) {\r\n            view.unbind();\r\n        }\r\n        if (this.cache !== null && this.cache.length < this.cacheSize) {\r\n            view.fromCache = true;\r\n            this.cache.push(view);\r\n        }\r\n    };\r\n    ViewFactory.prototype.create = function (container, createInstruction, element) {\r\n        createInstruction = createInstruction || BehaviorInstruction.normal;\r\n        var cachedView = this.getCachedView();\r\n        if (cachedView !== null) {\r\n            return cachedView;\r\n        }\r\n        var fragment = createInstruction.enhance ? this.template : this.template.cloneNode(true);\r\n        var instructables = fragment.querySelectorAll('.au-target');\r\n        var instructions = this.instructions;\r\n        var resources = this.resources;\r\n        var controllers = [];\r\n        var bindings = [];\r\n        var children = [];\r\n        var shadowSlots = Object.create(null);\r\n        var containers = { root: container };\r\n        var partReplacements = createInstruction.partReplacements;\r\n        var i;\r\n        var ii;\r\n        var view;\r\n        var instructable;\r\n        var instruction;\r\n        this.resources._invokeHook('beforeCreate', this, container, fragment, createInstruction);\r\n        if (element && this.surrogateInstruction !== null) {\r\n            applySurrogateInstruction(container, element, this.surrogateInstruction, controllers, bindings, children);\r\n        }\r\n        if (createInstruction.enhance && fragment.hasAttribute('au-target-id')) {\r\n            instructable = fragment;\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        for (i = 0, ii = instructables.length; i < ii; ++i) {\r\n            instructable = instructables[i];\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        view = new View(container, this, fragment, controllers, bindings, children, shadowSlots);\r\n        if (!createInstruction.initiatedByBehavior) {\r\n            view.created();\r\n        }\r\n        this.resources._invokeHook('afterCreate', view);\r\n        return view;\r\n    };\r\n    return ViewFactory;\r\n}());\n\nvar nextInjectorId = 0;\r\nfunction getNextInjectorId() {\r\n    return ++nextInjectorId;\r\n}\r\nvar lastAUTargetID = 0;\r\nfunction getNextAUTargetID() {\r\n    return (++lastAUTargetID).toString();\r\n}\r\nfunction makeIntoInstructionTarget(element) {\r\n    var value = element.getAttribute('class');\r\n    var auTargetID = getNextAUTargetID();\r\n    element.setAttribute('class', (value ? value + ' au-target' : 'au-target'));\r\n    element.setAttribute('au-target-id', auTargetID);\r\n    return auTargetID;\r\n}\r\nfunction makeShadowSlot(compiler, resources, node, instructions, parentInjectorId) {\r\n    var auShadowSlot = DOM.createElement('au-shadow-slot');\r\n    DOM.replaceNode(auShadowSlot, node);\r\n    var auTargetID = makeIntoInstructionTarget(auShadowSlot);\r\n    var instruction = TargetInstruction.shadowSlot(parentInjectorId);\r\n    instruction.slotName = node.getAttribute('name') || ShadowDOM.defaultSlotKey;\r\n    instruction.slotDestination = node.getAttribute('slot');\r\n    if (node.innerHTML.trim()) {\r\n        var fragment = DOM.createDocumentFragment();\r\n        var child = void 0;\r\n        while (child = node.firstChild) {\r\n            fragment.appendChild(child);\r\n        }\r\n        instruction.slotFallbackFactory = compiler.compile(fragment, resources);\r\n    }\r\n    instructions[auTargetID] = instruction;\r\n    return auShadowSlot;\r\n}\r\nvar defaultLetHandler = BindingLanguage.prototype.createLetExpressions;\r\nvar ViewCompiler = (function () {\r\n    function ViewCompiler(bindingLanguage, resources) {\r\n        this.bindingLanguage = bindingLanguage;\r\n        this.resources = resources;\r\n    }\r\n    ViewCompiler.inject = function () {\r\n        return [BindingLanguage, ViewResources];\r\n    };\r\n    ViewCompiler.prototype.compile = function (source, resources, compileInstruction) {\r\n        resources = resources || this.resources;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        source = typeof source === 'string' ? DOM.createTemplateFromMarkup(source) : source;\r\n        var content;\r\n        var part;\r\n        var cacheSize;\r\n        if (source.content) {\r\n            part = source.getAttribute('part');\r\n            cacheSize = source.getAttribute('view-cache');\r\n            content = DOM.adoptNode(source.content);\r\n        }\r\n        else {\r\n            content = source;\r\n        }\r\n        compileInstruction.targetShadowDOM = compileInstruction.targetShadowDOM && FEATURE.shadowDOM;\r\n        resources._invokeHook('beforeCompile', content, resources, compileInstruction);\r\n        var instructions = {};\r\n        this._compileNode(content, resources, instructions, source, 'root', !compileInstruction.targetShadowDOM);\r\n        var firstChild = content.firstChild;\r\n        if (firstChild && firstChild.nodeType === 1) {\r\n            var targetId = firstChild.getAttribute('au-target-id');\r\n            if (targetId) {\r\n                var ins = instructions[targetId];\r\n                if (ins.shadowSlot || ins.lifting || (ins.elementInstruction && !ins.elementInstruction.anchorIsContainer)) {\r\n                    content.insertBefore(DOM.createComment('view'), firstChild);\r\n                }\r\n            }\r\n        }\r\n        var factory = new ViewFactory(content, instructions, resources);\r\n        factory.surrogateInstruction = compileInstruction.compileSurrogate ? this._compileSurrogate(source, resources) : null;\r\n        factory.part = part;\r\n        if (cacheSize) {\r\n            factory.setCacheSize(cacheSize);\r\n        }\r\n        resources._invokeHook('afterCompile', factory);\r\n        return factory;\r\n    };\r\n    ViewCompiler.prototype._compileNode = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        switch (node.nodeType) {\r\n            case 1:\r\n                return this._compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM);\r\n            case 3:\r\n                var expression = resources.getBindingLanguage(this.bindingLanguage).inspectTextContent(resources, node.wholeText);\r\n                if (expression) {\r\n                    var marker = DOM.createElement('au-marker');\r\n                    var auTargetID = makeIntoInstructionTarget(marker);\r\n                    (node.parentNode || parentNode).insertBefore(marker, node);\r\n                    node.textContent = ' ';\r\n                    instructions[auTargetID] = TargetInstruction.contentExpression(expression);\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        (node.parentNode || parentNode).removeChild(node.nextSibling);\r\n                    }\r\n                }\r\n                else {\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        node = node.nextSibling;\r\n                    }\r\n                }\r\n                return node.nextSibling;\r\n            case 11:\r\n                var currentChild = node.firstChild;\r\n                while (currentChild) {\r\n                    currentChild = this._compileNode(currentChild, resources, instructions, node, parentInjectorId, targetLightDOM);\r\n                }\r\n                break;\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._compileSurrogate = function (node, resources) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var knownAttribute;\r\n        var property;\r\n        var instruction;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var info;\r\n        var type;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var values = {};\r\n        var hasValues = false;\r\n        var providers = [];\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            type = resources.getAttribute(info.attrName);\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            throw new Error('You cannot place a template controller on a surrogate element.');\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        throw new Error('You cannot place a template controller on a surrogate element.');\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (attrName !== 'id' && attrName !== 'part' && attrName !== 'replace-part') {\r\n                    hasValues = true;\r\n                    values[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (expressions.length || behaviorInstructions.length || hasValues) {\r\n            for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                instruction = behaviorInstructions[i];\r\n                instruction.type.compile(this, resources, node, instruction);\r\n                providers.push(instruction.type.target);\r\n            }\r\n            for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                expression = expressions[i];\r\n                if (expression.attrToRemove !== undefined) {\r\n                    node.removeAttribute(expression.attrToRemove);\r\n                }\r\n            }\r\n            return TargetInstruction.surrogate(providers, behaviorInstructions, expressions, values);\r\n        }\r\n        return null;\r\n    };\r\n    ViewCompiler.prototype._compileElement = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var providers = [];\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var liftingInstruction;\r\n        var viewFactory;\r\n        var type;\r\n        var elementInstruction;\r\n        var elementProperty;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var originalAttrName;\r\n        var instruction;\r\n        var info;\r\n        var property;\r\n        var knownAttribute;\r\n        var auTargetID;\r\n        var injectorId;\r\n        if (tagName === 'slot') {\r\n            if (targetLightDOM) {\r\n                node = makeShadowSlot(this, resources, node, instructions, parentInjectorId);\r\n            }\r\n            return node.nextSibling;\r\n        }\r\n        else if (tagName === 'template') {\r\n            if (!('content' in node)) {\r\n                throw new Error('You cannot place a template element within ' + node.namespaceURI + ' namespace');\r\n            }\r\n            viewFactory = this.compile(node, resources);\r\n            viewFactory.part = node.getAttribute('part');\r\n        }\r\n        else {\r\n            type = resources.getElement(node.getAttribute('as-element') || tagName);\r\n            if (tagName === 'let' && !type && bindingLanguage.createLetExpressions !== defaultLetHandler) {\r\n                expressions = bindingLanguage.createLetExpressions(resources, node);\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.letElement(expressions);\r\n                return node.nextSibling;\r\n            }\r\n            if (type) {\r\n                elementInstruction = BehaviorInstruction.element(node, type);\r\n                type.processAttributes(this, resources, node, attributes, elementInstruction);\r\n                behaviorInstructions.push(elementInstruction);\r\n            }\r\n        }\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            originalAttrName = attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            if (targetLightDOM && info.attrName === 'slot') {\r\n                info.attrName = attrName = 'au-slot';\r\n            }\r\n            type = resources.getAttribute(info.attrName);\r\n            elementProperty = null;\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            else if (elementInstruction) {\r\n                elementProperty = elementInstruction.type.attributes[info.attrName];\r\n                if (elementProperty) {\r\n                    info.defaultBindingMode = elementProperty.defaultBindingMode;\r\n                }\r\n            }\r\n            if (elementProperty) {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, elementInstruction);\r\n            }\r\n            else {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            }\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            instruction.originalAttrName = originalAttrName;\r\n                            liftingInstruction = instruction;\r\n                            break;\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else if (elementProperty) {\r\n                        elementInstruction.attributes[info.attrName].targetProperty = elementProperty.name;\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        instruction.originalAttrName = originalAttrName;\r\n                        liftingInstruction = instruction;\r\n                        break;\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (elementProperty) {\r\n                    elementInstruction.attributes[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (liftingInstruction) {\r\n            liftingInstruction.viewFactory = viewFactory;\r\n            node = liftingInstruction.type.compile(this, resources, node, liftingInstruction, parentNode);\r\n            auTargetID = makeIntoInstructionTarget(node);\r\n            instructions[auTargetID] = TargetInstruction.lifting(parentInjectorId, liftingInstruction);\r\n        }\r\n        else {\r\n            var skipContentProcessing = false;\r\n            if (expressions.length || behaviorInstructions.length) {\r\n                injectorId = behaviorInstructions.length ? getNextInjectorId() : false;\r\n                for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                    instruction = behaviorInstructions[i];\r\n                    instruction.type.compile(this, resources, node, instruction, parentNode);\r\n                    providers.push(instruction.type.target);\r\n                    skipContentProcessing = skipContentProcessing || instruction.skipContentProcessing;\r\n                }\r\n                for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                    expression = expressions[i];\r\n                    if (expression.attrToRemove !== undefined) {\r\n                        node.removeAttribute(expression.attrToRemove);\r\n                    }\r\n                }\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction);\r\n            }\r\n            if (skipContentProcessing) {\r\n                return node.nextSibling;\r\n            }\r\n            var currentChild = node.firstChild;\r\n            while (currentChild) {\r\n                currentChild = this._compileNode(currentChild, resources, instructions, node, injectorId || parentInjectorId, targetLightDOM);\r\n            }\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._configureProperties = function (instruction, resources) {\r\n        var type = instruction.type;\r\n        var attrName = instruction.attrName;\r\n        var attributes = instruction.attributes;\r\n        var property;\r\n        var key;\r\n        var value;\r\n        var knownAttribute = resources.mapAttribute(attrName);\r\n        if (knownAttribute && attrName in attributes && knownAttribute !== attrName) {\r\n            attributes[knownAttribute] = attributes[attrName];\r\n            delete attributes[attrName];\r\n        }\r\n        for (key in attributes) {\r\n            value = attributes[key];\r\n            if (value !== null && typeof value === 'object') {\r\n                property = type.attributes[key];\r\n                if (property !== undefined) {\r\n                    value.targetProperty = property.name;\r\n                }\r\n                else {\r\n                    value.targetProperty = key;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    return ViewCompiler;\r\n}());\n\nvar ViewEngineHooksResource = (function () {\r\n    function ViewEngineHooksResource() {\r\n    }\r\n    ViewEngineHooksResource.prototype.initialize = function (container, target) {\r\n        this.instance = container.get(target);\r\n    };\r\n    ViewEngineHooksResource.prototype.register = function (registry, name) {\r\n        registry.registerViewEngineHooks(this.instance);\r\n    };\r\n    ViewEngineHooksResource.prototype.load = function (container, target) { };\r\n    ViewEngineHooksResource.convention = function (name) {\r\n        if (name.endsWith('ViewEngineHooks')) {\r\n            return new ViewEngineHooksResource();\r\n        }\r\n    };\r\n    return ViewEngineHooksResource;\r\n}());\r\nfunction viewEngineHooks(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ViewEngineHooksResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\n\nvar ResourceModule = (function () {\r\n    function ResourceModule(moduleId) {\r\n        this.id = moduleId;\r\n        this.moduleInstance = null;\r\n        this.mainResource = null;\r\n        this.resources = null;\r\n        this.viewStrategy = null;\r\n        this.isInitialized = false;\r\n        this.onLoaded = null;\r\n        this.loadContext = null;\r\n    }\r\n    ResourceModule.prototype.initialize = function (container) {\r\n        var current = this.mainResource;\r\n        var resources = this.resources;\r\n        var vs = this.viewStrategy;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        if (current !== undefined) {\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            current = resources[i];\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n    };\r\n    ResourceModule.prototype.register = function (registry, name) {\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        if (main !== undefined) {\r\n            main.register(registry, name);\r\n            name = null;\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            resources[i].register(registry, name);\r\n            name = null;\r\n        }\r\n    };\r\n    ResourceModule.prototype.load = function (container, loadContext) {\r\n        if (this.onLoaded !== null) {\r\n            return this.loadContext === loadContext ? Promise.resolve() : this.onLoaded;\r\n        }\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        var loads;\r\n        if (main !== undefined) {\r\n            loads = new Array(resources.length + 1);\r\n            loads[0] = main.load(container, loadContext);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i + 1] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        else {\r\n            loads = new Array(resources.length);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        this.loadContext = loadContext;\r\n        this.onLoaded = Promise.all(loads);\r\n        return this.onLoaded;\r\n    };\r\n    return ResourceModule;\r\n}());\r\nvar ResourceDescription = (function () {\r\n    function ResourceDescription(key, exportedValue, resourceTypeMeta) {\r\n        if (!resourceTypeMeta) {\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n                metadata.define(metadata.resource, resourceTypeMeta, exportedValue);\r\n            }\r\n        }\r\n        if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n            if (resourceTypeMeta.elementName === undefined) {\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === undefined) {\r\n                resourceTypeMeta.attributeName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n            }\r\n        }\r\n        else if (!resourceTypeMeta.name) {\r\n            resourceTypeMeta.name = _hyphenate(key);\r\n        }\r\n        this.metadata = resourceTypeMeta;\r\n        this.value = exportedValue;\r\n    }\r\n    ResourceDescription.prototype.initialize = function (container) {\r\n        this.metadata.initialize(container, this.value);\r\n    };\r\n    ResourceDescription.prototype.register = function (registry, name) {\r\n        this.metadata.register(registry, name);\r\n    };\r\n    ResourceDescription.prototype.load = function (container, loadContext) {\r\n        return this.metadata.load(container, this.value, loadContext);\r\n    };\r\n    return ResourceDescription;\r\n}());\r\nvar ModuleAnalyzer = (function () {\r\n    function ModuleAnalyzer() {\r\n        this.cache = Object.create(null);\r\n    }\r\n    ModuleAnalyzer.prototype.getAnalysis = function (moduleId) {\r\n        return this.cache[moduleId];\r\n    };\r\n    ModuleAnalyzer.prototype.analyze = function (moduleId, moduleInstance, mainResourceKey) {\r\n        var mainResource;\r\n        var fallbackValue;\r\n        var fallbackKey;\r\n        var resourceTypeMeta;\r\n        var key;\r\n        var exportedValue;\r\n        var resources = [];\r\n        var conventional;\r\n        var vs;\r\n        var resourceModule;\r\n        resourceModule = this.cache[moduleId];\r\n        if (resourceModule) {\r\n            return resourceModule;\r\n        }\r\n        resourceModule = new ResourceModule(moduleId);\r\n        this.cache[moduleId] = resourceModule;\r\n        if (typeof moduleInstance === 'function') {\r\n            moduleInstance = { 'default': moduleInstance };\r\n        }\r\n        if (mainResourceKey) {\r\n            mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]);\r\n        }\r\n        for (key in moduleInstance) {\r\n            exportedValue = moduleInstance[key];\r\n            if (key === mainResourceKey || typeof exportedValue !== 'function') {\r\n                continue;\r\n            }\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (resourceTypeMeta) {\r\n                if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                    ViewResources.convention(exportedValue, resourceTypeMeta);\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n                    }\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        resourceTypeMeta.elementName = _hyphenate(key);\r\n                    }\r\n                }\r\n                if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) {\r\n                    mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta);\r\n                }\r\n                else {\r\n                    resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta));\r\n                }\r\n            }\r\n            else if (viewStrategy.decorates(exportedValue)) {\r\n                vs = exportedValue;\r\n            }\r\n            else if (exportedValue instanceof TemplateRegistryEntry) {\r\n                vs = new TemplateRegistryViewStrategy(moduleId, exportedValue);\r\n            }\r\n            else {\r\n                if (conventional = ViewResources.convention(exportedValue)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = HtmlBehaviorResource.convention(key)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = ValueConverterResource.convention(key)\r\n                    || BindingBehaviorResource.convention(key)\r\n                    || ViewEngineHooksResource.convention(key)) {\r\n                    resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (!fallbackValue) {\r\n                    fallbackValue = exportedValue;\r\n                    fallbackKey = key;\r\n                }\r\n            }\r\n        }\r\n        if (!mainResource && fallbackValue) {\r\n            mainResource = new ResourceDescription(fallbackKey, fallbackValue);\r\n        }\r\n        resourceModule.moduleInstance = moduleInstance;\r\n        resourceModule.mainResource = mainResource;\r\n        resourceModule.resources = resources;\r\n        resourceModule.viewStrategy = vs;\r\n        return resourceModule;\r\n    };\r\n    return ModuleAnalyzer;\r\n}());\n\nvar logger = LogManager.getLogger('templating');\r\nfunction ensureRegistryEntry(loader, urlOrRegistryEntry) {\r\n    if (urlOrRegistryEntry instanceof TemplateRegistryEntry) {\r\n        return Promise.resolve(urlOrRegistryEntry);\r\n    }\r\n    return loader.loadTemplate(urlOrRegistryEntry);\r\n}\r\nvar ProxyViewFactory = (function () {\r\n    function ProxyViewFactory(promise) {\r\n        var _this = this;\r\n        promise.then(function (x) { return _this.viewFactory = x; });\r\n    }\r\n    ProxyViewFactory.prototype.create = function (container, bindingContext, createInstruction, element) {\r\n        return this.viewFactory.create(container, bindingContext, createInstruction, element);\r\n    };\r\n    Object.defineProperty(ProxyViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ProxyViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    ProxyViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    ProxyViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return ProxyViewFactory;\r\n}());\r\nvar auSlotBehavior = null;\r\nvar ViewEngine = (function () {\r\n    function ViewEngine(loader, container, viewCompiler, moduleAnalyzer, appResources) {\r\n        this.loader = loader;\r\n        this.container = container;\r\n        this.viewCompiler = viewCompiler;\r\n        this.moduleAnalyzer = moduleAnalyzer;\r\n        this.appResources = appResources;\r\n        this._pluginMap = {};\r\n        if (auSlotBehavior === null) {\r\n            auSlotBehavior = new HtmlBehaviorResource();\r\n            auSlotBehavior.attributeName = 'au-slot';\r\n            metadata.define(metadata.resource, auSlotBehavior, SlotCustomAttribute);\r\n        }\r\n        auSlotBehavior.initialize(container, SlotCustomAttribute);\r\n        auSlotBehavior.register(appResources);\r\n    }\r\n    ViewEngine.inject = function () {\r\n        return [Loader, Container, ViewCompiler, ModuleAnalyzer, ViewResources];\r\n    };\r\n    ViewEngine.prototype.addResourcePlugin = function (extension, implementation) {\r\n        var name = extension.replace('.', '') + '-resource-plugin';\r\n        this._pluginMap[extension] = name;\r\n        this.loader.addPlugin(name, implementation);\r\n    };\r\n    ViewEngine.prototype.loadViewFactory = function (urlOrRegistryEntry, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        return ensureRegistryEntry(this.loader, urlOrRegistryEntry).then(function (registryEntry) {\r\n            var url = registryEntry.address;\r\n            if (registryEntry.onReady) {\r\n                if (!loadContext.hasDependency(url)) {\r\n                    loadContext.addDependency(url);\r\n                    return registryEntry.onReady;\r\n                }\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.onReady;\r\n                }\r\n                return Promise.resolve(new ProxyViewFactory(registryEntry.onReady));\r\n            }\r\n            loadContext.addDependency(url);\r\n            registryEntry.onReady = _this.loadTemplateResources(registryEntry, compileInstruction, loadContext, target).then(function (resources) {\r\n                registryEntry.resources = resources;\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.factory = null;\r\n                }\r\n                var viewFactory = _this.viewCompiler.compile(registryEntry.template, resources, compileInstruction);\r\n                return registryEntry.factory = viewFactory;\r\n            });\r\n            return registryEntry.onReady;\r\n        });\r\n    };\r\n    ViewEngine.prototype.loadTemplateResources = function (registryEntry, compileInstruction, loadContext, target) {\r\n        var resources = new ViewResources(this.appResources, registryEntry.address);\r\n        var dependencies = registryEntry.dependencies;\r\n        var importIds;\r\n        var names;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        if (dependencies.length === 0 && !compileInstruction.associatedModuleId) {\r\n            return Promise.resolve(resources);\r\n        }\r\n        importIds = dependencies.map(function (x) { return x.src; });\r\n        names = dependencies.map(function (x) { return x.name; });\r\n        logger.debug(\"importing resources for \".concat(registryEntry.address), importIds);\r\n        if (target) {\r\n            var viewModelRequires = metadata.get(ViewEngine.viewModelRequireMetadataKey, target);\r\n            if (viewModelRequires) {\r\n                var templateImportCount = importIds.length;\r\n                for (var i = 0, ii = viewModelRequires.length; i < ii; ++i) {\r\n                    var req = viewModelRequires[i];\r\n                    var importId = typeof req === 'function'\r\n                        ? Origin.get(req).moduleId\r\n                        : relativeToFile(req.src || req, registryEntry.address);\r\n                    if (importIds.indexOf(importId) === -1) {\r\n                        importIds.push(importId);\r\n                        names.push(req.as);\r\n                    }\r\n                }\r\n                logger.debug(\"importing ViewModel resources for \".concat(compileInstruction.associatedModuleId), importIds.slice(templateImportCount));\r\n            }\r\n        }\r\n        return this.importViewResources(importIds, names, resources, compileInstruction, loadContext);\r\n    };\r\n    ViewEngine.prototype.importViewModelResource = function (moduleImport, moduleMember) {\r\n        var _this = this;\r\n        return this.loader.loadModule(moduleImport).then(function (viewModelModule) {\r\n            var normalizedId = Origin.get(viewModelModule).moduleId;\r\n            var resourceModule = _this.moduleAnalyzer.analyze(normalizedId, viewModelModule, moduleMember);\r\n            if (!resourceModule.mainResource) {\r\n                throw new Error(\"No view model found in module \\\"\".concat(moduleImport, \"\\\".\"));\r\n            }\r\n            resourceModule.initialize(_this.container);\r\n            return resourceModule.mainResource;\r\n        });\r\n    };\r\n    ViewEngine.prototype.importViewResources = function (moduleIds, names, resources, compileInstruction, loadContext) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        moduleIds = moduleIds.map(function (x) { return _this._applyLoaderPlugin(x); });\r\n        return this.loader.loadAllModules(moduleIds).then(function (imports) {\r\n            var i;\r\n            var ii;\r\n            var analysis;\r\n            var normalizedId;\r\n            var current;\r\n            var associatedModule;\r\n            var container = _this.container;\r\n            var moduleAnalyzer = _this.moduleAnalyzer;\r\n            var allAnalysis = new Array(imports.length);\r\n            for (i = 0, ii = imports.length; i < ii; ++i) {\r\n                current = imports[i];\r\n                normalizedId = Origin.get(current).moduleId;\r\n                analysis = moduleAnalyzer.analyze(normalizedId, current);\r\n                analysis.initialize(container);\r\n                analysis.register(resources, names[i]);\r\n                allAnalysis[i] = analysis;\r\n            }\r\n            if (compileInstruction.associatedModuleId) {\r\n                associatedModule = moduleAnalyzer.getAnalysis(compileInstruction.associatedModuleId);\r\n                if (associatedModule) {\r\n                    associatedModule.register(resources);\r\n                }\r\n            }\r\n            for (i = 0, ii = allAnalysis.length; i < ii; ++i) {\r\n                allAnalysis[i] = allAnalysis[i].load(container, loadContext);\r\n            }\r\n            return Promise.all(allAnalysis).then(function () { return resources; });\r\n        });\r\n    };\r\n    ViewEngine.prototype._applyLoaderPlugin = function (id) {\r\n        var index = id.lastIndexOf('.');\r\n        if (index !== -1) {\r\n            var ext = id.substring(index);\r\n            var pluginName = this._pluginMap[ext];\r\n            if (pluginName === undefined) {\r\n                return id;\r\n            }\r\n            return this.loader.applyPluginToUrl(id, pluginName);\r\n        }\r\n        return id;\r\n    };\r\n    ViewEngine.viewModelRequireMetadataKey = 'aurelia:view-model-require';\r\n    return ViewEngine;\r\n}());\n\nvar Controller = (function () {\r\n    function Controller(behavior, instruction, viewModel, container) {\r\n        this.behavior = behavior;\r\n        this.instruction = instruction;\r\n        this.viewModel = viewModel;\r\n        this.isAttached = false;\r\n        this.view = null;\r\n        this.isBound = false;\r\n        this.scope = null;\r\n        this.container = container;\r\n        this.elementEvents = container.elementEvents || null;\r\n        var observerLookup = behavior.observerLocator.getOrCreateObserversLookup(viewModel);\r\n        var handlesBind = behavior.handlesBind;\r\n        var attributes = instruction.attributes;\r\n        var boundProperties = this.boundProperties = [];\r\n        var properties = behavior.properties;\r\n        var i;\r\n        var ii;\r\n        behavior._ensurePropertiesDefined(viewModel, observerLookup);\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            properties[i]._initialize(viewModel, observerLookup, attributes, handlesBind, boundProperties);\r\n        }\r\n    }\r\n    Controller.prototype.created = function (owningView) {\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView, this.view);\r\n        }\r\n    };\r\n    Controller.prototype.automate = function (overrideContext, owningView) {\r\n        this.view.bindingContext = this.viewModel;\r\n        this.view.overrideContext = overrideContext || createOverrideContext(this.viewModel);\r\n        this.view._isUserControlled = true;\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView || null, this.view);\r\n        }\r\n        this.bind(this.view);\r\n    };\r\n    Controller.prototype.bind = function (scope) {\r\n        var skipSelfSubscriber = this.behavior.handlesBind;\r\n        var boundProperties = this.boundProperties;\r\n        var i;\r\n        var ii;\r\n        var x;\r\n        var observer;\r\n        var selfSubscriber;\r\n        if (this.isBound) {\r\n            if (this.scope === scope) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.scope = scope;\r\n        for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n            x = boundProperties[i];\r\n            observer = x.observer;\r\n            selfSubscriber = observer.selfSubscriber;\r\n            observer.publishing = false;\r\n            if (skipSelfSubscriber) {\r\n                observer.selfSubscriber = null;\r\n            }\r\n            x.binding.bind(scope);\r\n            observer.call();\r\n            observer.publishing = true;\r\n            observer.selfSubscriber = selfSubscriber;\r\n        }\r\n        var overrideContext;\r\n        if (this.view !== null) {\r\n            if (skipSelfSubscriber) {\r\n                this.view.viewModelScope = scope;\r\n            }\r\n            if (this.viewModel === scope.overrideContext.bindingContext) {\r\n                overrideContext = scope.overrideContext;\r\n            }\r\n            else if (this.instruction.inheritBindingContext) {\r\n                overrideContext = createOverrideContext(this.viewModel, scope.overrideContext);\r\n            }\r\n            else {\r\n                overrideContext = createOverrideContext(this.viewModel);\r\n                overrideContext.__parentOverrideContext = scope.overrideContext;\r\n            }\r\n            this.view.bind(this.viewModel, overrideContext);\r\n        }\r\n        else if (skipSelfSubscriber) {\r\n            overrideContext = scope.overrideContext;\r\n            if (scope.overrideContext.__parentOverrideContext !== undefined\r\n                && this.viewModel.viewFactory && this.viewModel.viewFactory.factoryCreateInstruction.partReplacements) {\r\n                overrideContext = Object.assign({}, scope.overrideContext);\r\n                overrideContext.parentOverrideContext = scope.overrideContext.__parentOverrideContext;\r\n            }\r\n            this.viewModel.bind(scope.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    Controller.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var boundProperties = this.boundProperties;\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            this.isBound = false;\r\n            this.scope = null;\r\n            if (this.view !== null) {\r\n                this.view.unbind();\r\n            }\r\n            if (this.behavior.handlesUnbind) {\r\n                this.viewModel.unbind();\r\n            }\r\n            if (this.elementEvents !== null) {\r\n                this.elementEvents.disposeAll();\r\n            }\r\n            for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n                boundProperties[i].binding.unbind();\r\n            }\r\n        }\r\n    };\r\n    Controller.prototype.attached = function () {\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.behavior.handlesAttached) {\r\n            this.viewModel.attached();\r\n        }\r\n        if (this.view !== null) {\r\n            this.view.attached();\r\n        }\r\n    };\r\n    Controller.prototype.detached = function () {\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.view !== null) {\r\n                this.view.detached();\r\n            }\r\n            if (this.behavior.handlesDetached) {\r\n                this.viewModel.detached();\r\n            }\r\n        }\r\n    };\r\n    return Controller;\r\n}());\n\nvar lastProviderId = 0;\r\nfunction nextProviderId() {\r\n    return ++lastProviderId;\r\n}\r\nfunction doProcessContent() { return true; }\r\nfunction doProcessAttributes() { }\r\nvar HtmlBehaviorResource = (function () {\r\n    function HtmlBehaviorResource() {\r\n        this.elementName = null;\r\n        this.attributeName = null;\r\n        this.attributeDefaultBindingMode = undefined;\r\n        this.liftsContent = false;\r\n        this.targetShadowDOM = false;\r\n        this.shadowDOMOptions = null;\r\n        this.processAttributes = doProcessAttributes;\r\n        this.processContent = doProcessContent;\r\n        this.usesShadowDOM = false;\r\n        this.childBindings = null;\r\n        this.hasDynamicOptions = false;\r\n        this.containerless = false;\r\n        this.properties = [];\r\n        this.attributes = {};\r\n        this.isInitialized = false;\r\n        this.primaryProperty = null;\r\n    }\r\n    HtmlBehaviorResource.convention = function (name, existing) {\r\n        var behavior;\r\n        if (name.endsWith('CustomAttribute')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.attributeName = _hyphenate(name.substring(0, name.length - 15));\r\n        }\r\n        if (name.endsWith('CustomElement')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.elementName = _hyphenate(name.substring(0, name.length - 13));\r\n        }\r\n        return behavior;\r\n    };\r\n    HtmlBehaviorResource.prototype.addChildBinding = function (behavior) {\r\n        if (this.childBindings === null) {\r\n            this.childBindings = [];\r\n        }\r\n        this.childBindings.push(behavior);\r\n    };\r\n    HtmlBehaviorResource.prototype.initialize = function (container, target) {\r\n        var proto = target.prototype;\r\n        var properties = this.properties;\r\n        var attributeName = this.attributeName;\r\n        var attributeDefaultBindingMode = this.attributeDefaultBindingMode;\r\n        var i;\r\n        var ii;\r\n        var current;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        target.__providerId__ = nextProviderId();\r\n        this.observerLocator = container.get(ObserverLocator);\r\n        this.taskQueue = container.get(TaskQueue);\r\n        this.target = target;\r\n        this.usesShadowDOM = this.targetShadowDOM && FEATURE.shadowDOM;\r\n        this.handlesCreated = ('created' in proto);\r\n        this.handlesBind = ('bind' in proto);\r\n        this.handlesUnbind = ('unbind' in proto);\r\n        this.handlesAttached = ('attached' in proto);\r\n        this.handlesDetached = ('detached' in proto);\r\n        this.htmlName = this.elementName || this.attributeName;\r\n        if (attributeName !== null) {\r\n            if (properties.length === 0) {\r\n                new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                }).registerWith(target, this);\r\n            }\r\n            current = properties[0];\r\n            if (properties.length === 1 && current.name === 'value') {\r\n                current.isDynamic = current.hasOptions = this.hasDynamicOptions;\r\n                current.defineOn(target, this);\r\n            }\r\n            else {\r\n                for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                    properties[i].defineOn(target, this);\r\n                    if (properties[i].primaryProperty) {\r\n                        if (this.primaryProperty) {\r\n                            throw new Error('Only one bindable property on a custom element can be defined as the default');\r\n                        }\r\n                        this.primaryProperty = properties[i];\r\n                    }\r\n                }\r\n                current = new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                });\r\n                current.hasOptions = true;\r\n                current.registerWith(target, this);\r\n            }\r\n        }\r\n        else {\r\n            for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                properties[i].defineOn(target, this);\r\n            }\r\n            this._copyInheritedProperties(container, target);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.register = function (registry, name) {\r\n        var _this = this;\r\n        if (this.attributeName !== null) {\r\n            registry.registerAttribute(name || this.attributeName, this, this.attributeName);\r\n            if (Array.isArray(this.aliases)) {\r\n                this.aliases\r\n                    .forEach(function (alias) {\r\n                    registry.registerAttribute(alias, _this, _this.attributeName);\r\n                });\r\n            }\r\n        }\r\n        if (this.elementName !== null) {\r\n            registry.registerElement(name || this.elementName, this);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.aliases = function (aliases) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    HtmlBehaviorResource.prototype.load = function (container, target, loadContext, viewStrategy, transientView) {\r\n        var _this = this;\r\n        var options;\r\n        if (this.elementName !== null) {\r\n            viewStrategy = container.get(ViewLocator).getViewStrategy(viewStrategy || this.viewStrategy || target);\r\n            options = new ViewCompileInstruction(this.targetShadowDOM, true);\r\n            if (!viewStrategy.moduleId) {\r\n                viewStrategy.moduleId = Origin.get(target).moduleId;\r\n            }\r\n            return viewStrategy\r\n                .loadViewFactory(container.get(ViewEngine), options, loadContext, target)\r\n                .then(function (viewFactory) {\r\n                if (!transientView || !_this.viewFactory) {\r\n                    _this.viewFactory = viewFactory;\r\n                }\r\n                return viewFactory;\r\n            });\r\n        }\r\n        return Promise.resolve(this);\r\n    };\r\n    HtmlBehaviorResource.prototype.compile = function (compiler, resources, node, instruction, parentNode) {\r\n        if (this.liftsContent) {\r\n            if (!instruction.viewFactory) {\r\n                var template = DOM.createElement('template');\r\n                var fragment = DOM.createDocumentFragment();\r\n                var cacheSize = node.getAttribute('view-cache');\r\n                var part = node.getAttribute('part');\r\n                node.removeAttribute(instruction.originalAttrName);\r\n                DOM.replaceNode(template, node, parentNode);\r\n                fragment.appendChild(node);\r\n                instruction.viewFactory = compiler.compile(fragment, resources);\r\n                if (part) {\r\n                    instruction.viewFactory.part = part;\r\n                    node.removeAttribute('part');\r\n                }\r\n                if (cacheSize) {\r\n                    instruction.viewFactory.setCacheSize(cacheSize);\r\n                    node.removeAttribute('view-cache');\r\n                }\r\n                node = template;\r\n            }\r\n        }\r\n        else if (this.elementName !== null) {\r\n            var partReplacements = {};\r\n            if (this.processContent(compiler, resources, node, instruction) && node.hasChildNodes()) {\r\n                var currentChild = node.firstChild;\r\n                var contentElement = this.usesShadowDOM ? null : DOM.createElement('au-content');\r\n                var nextSibling = void 0;\r\n                var toReplace = void 0;\r\n                while (currentChild) {\r\n                    nextSibling = currentChild.nextSibling;\r\n                    if (currentChild.tagName === 'TEMPLATE' && (toReplace = currentChild.getAttribute('replace-part'))) {\r\n                        partReplacements[toReplace] = compiler.compile(currentChild, resources);\r\n                        DOM.removeNode(currentChild, parentNode);\r\n                        instruction.partReplacements = partReplacements;\r\n                    }\r\n                    else if (contentElement !== null) {\r\n                        if (currentChild.nodeType === 3 && _isAllWhitespace(currentChild)) {\r\n                            DOM.removeNode(currentChild, parentNode);\r\n                        }\r\n                        else {\r\n                            contentElement.appendChild(currentChild);\r\n                        }\r\n                    }\r\n                    currentChild = nextSibling;\r\n                }\r\n                if (contentElement !== null && contentElement.hasChildNodes()) {\r\n                    node.appendChild(contentElement);\r\n                }\r\n                instruction.skipContentProcessing = false;\r\n            }\r\n            else {\r\n                instruction.skipContentProcessing = true;\r\n            }\r\n        }\r\n        else if (!this.processContent(compiler, resources, node, instruction)) {\r\n            instruction.skipContentProcessing = true;\r\n        }\r\n        return node;\r\n    };\r\n    HtmlBehaviorResource.prototype.create = function (container, instruction, element, bindings) {\r\n        var viewHost;\r\n        var au = null;\r\n        instruction = instruction || BehaviorInstruction.normal;\r\n        element = element || null;\r\n        bindings = bindings || null;\r\n        if (this.elementName !== null && element) {\r\n            if (this.usesShadowDOM) {\r\n                viewHost = element.attachShadow(this.shadowDOMOptions);\r\n                container.registerInstance(DOM.boundary, viewHost);\r\n            }\r\n            else {\r\n                viewHost = element;\r\n                if (this.targetShadowDOM) {\r\n                    container.registerInstance(DOM.boundary, viewHost);\r\n                }\r\n            }\r\n        }\r\n        if (element !== null) {\r\n            element.au = au = element.au || {};\r\n        }\r\n        var viewModel = instruction.viewModel || container.get(this.target);\r\n        var controller = new Controller(this, instruction, viewModel, container);\r\n        var childBindings = this.childBindings;\r\n        var viewFactory;\r\n        if (this.liftsContent) {\r\n            au.controller = controller;\r\n        }\r\n        else if (this.elementName !== null) {\r\n            viewFactory = instruction.viewFactory || this.viewFactory;\r\n            container.viewModel = viewModel;\r\n            if (viewFactory) {\r\n                controller.view = viewFactory.create(container, instruction, element);\r\n            }\r\n            if (element !== null) {\r\n                au.controller = controller;\r\n                if (controller.view) {\r\n                    if (!this.usesShadowDOM && (element.childNodes.length === 1 || element.contentElement)) {\r\n                        var contentElement = element.childNodes[0] || element.contentElement;\r\n                        controller.view.contentView = { fragment: contentElement };\r\n                        contentElement.parentNode && DOM.removeNode(contentElement);\r\n                    }\r\n                    if (instruction.anchorIsContainer) {\r\n                        if (childBindings !== null) {\r\n                            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                                controller.view.addBinding(childBindings[i].create(element, viewModel, controller));\r\n                            }\r\n                        }\r\n                        controller.view.appendNodesTo(viewHost);\r\n                    }\r\n                    else {\r\n                        controller.view.insertNodesBefore(viewHost);\r\n                    }\r\n                }\r\n                else if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        bindings.push(childBindings[i].create(element, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (controller.view) {\r\n                controller.view.controller = controller;\r\n                if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        controller.view.addBinding(childBindings[i].create(instruction.host, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (childBindings !== null) {\r\n                for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                    bindings.push(childBindings[i].create(instruction.host, viewModel, controller));\r\n                }\r\n            }\r\n        }\r\n        else if (childBindings !== null) {\r\n            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                bindings.push(childBindings[i].create(element, viewModel, controller));\r\n            }\r\n        }\r\n        if (au !== null) {\r\n            au[this.htmlName] = controller;\r\n        }\r\n        if (instruction.initiatedByBehavior && viewFactory) {\r\n            controller.view.created();\r\n        }\r\n        return controller;\r\n    };\r\n    HtmlBehaviorResource.prototype._ensurePropertiesDefined = function (instance, lookup) {\r\n        var properties;\r\n        var i;\r\n        var ii;\r\n        var observer;\r\n        if ('__propertiesDefined__' in lookup) {\r\n            return;\r\n        }\r\n        lookup.__propertiesDefined__ = true;\r\n        properties = this.properties;\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            observer = properties[i].createObserver(instance);\r\n            if (observer !== undefined) {\r\n                lookup[observer.propertyName] = observer;\r\n            }\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype._copyInheritedProperties = function (container, target) {\r\n        var behavior;\r\n        var derived = target;\r\n        while (true) {\r\n            var proto = Object.getPrototypeOf(target.prototype);\r\n            target = proto && proto.constructor;\r\n            if (!target) {\r\n                return;\r\n            }\r\n            behavior = metadata.getOwn(metadata.resource, target);\r\n            if (behavior) {\r\n                break;\r\n            }\r\n        }\r\n        behavior.initialize(container, target);\r\n        var _loop_1 = function (i, ii) {\r\n            var prop = behavior.properties[i];\r\n            if (this_1.properties.some(function (p) { return p.name === prop.name; })) {\r\n                return \"continue\";\r\n            }\r\n            new BindableProperty(prop).registerWith(derived, this_1);\r\n        };\r\n        var this_1 = this;\r\n        for (var i = 0, ii = behavior.properties.length; i < ii; ++i) {\r\n            _loop_1(i);\r\n        }\r\n    };\r\n    return HtmlBehaviorResource;\r\n}());\n\nfunction register(lookup, name, resource, type) {\r\n    if (!name) {\r\n        return;\r\n    }\r\n    var existing = lookup[name];\r\n    if (existing) {\r\n        if (existing !== resource) {\r\n            throw new Error(\"Attempted to register \".concat(type, \" when one with the same name already exists. Name: \").concat(name, \".\"));\r\n        }\r\n        return;\r\n    }\r\n    lookup[name] = resource;\r\n}\r\nfunction validateBehaviorName(name, type) {\r\n    if (/[A-Z]/.test(name)) {\r\n        var newName = _hyphenate(name);\r\n        LogManager\r\n            .getLogger('templating')\r\n            .warn(\"'\".concat(name, \"' is not a valid \").concat(type, \" name and has been converted to '\").concat(newName, \"'. Upper-case letters are not allowed because the DOM is not case-sensitive.\"));\r\n        return newName;\r\n    }\r\n    return name;\r\n}\r\nvar conventionMark = '__au_resource__';\r\nvar ViewResources = (function () {\r\n    function ViewResources(parent, viewUrl) {\r\n        this.bindingLanguage = null;\r\n        this.parent = parent || null;\r\n        this.hasParent = this.parent !== null;\r\n        this.viewUrl = viewUrl || '';\r\n        this.lookupFunctions = {\r\n            valueConverters: this.getValueConverter.bind(this),\r\n            bindingBehaviors: this.getBindingBehavior.bind(this)\r\n        };\r\n        this.attributes = Object.create(null);\r\n        this.elements = Object.create(null);\r\n        this.valueConverters = Object.create(null);\r\n        this.bindingBehaviors = Object.create(null);\r\n        this.attributeMap = Object.create(null);\r\n        this.values = Object.create(null);\r\n        this.beforeCompile = this.afterCompile = this.beforeCreate = this.afterCreate = this.beforeBind = this.beforeUnbind = false;\r\n    }\r\n    ViewResources.convention = function (target, existing) {\r\n        var resource;\r\n        if (existing && conventionMark in existing) {\r\n            return existing;\r\n        }\r\n        if ('$resource' in target) {\r\n            var config = target.$resource;\r\n            if (typeof config === 'string') {\r\n                resource = existing || new HtmlBehaviorResource();\r\n                resource[conventionMark] = true;\r\n                if (!resource.elementName) {\r\n                    resource.elementName = validateBehaviorName(config, 'custom element');\r\n                }\r\n            }\r\n            else {\r\n                if (typeof config === 'function') {\r\n                    config = config.call(target);\r\n                }\r\n                if (typeof config === 'string') {\r\n                    config = { name: config };\r\n                }\r\n                config = Object.assign({}, config);\r\n                var resourceType = config.type || 'element';\r\n                var name_1 = config.name;\r\n                switch (resourceType) {\r\n                    case 'element':\r\n                    case 'attribute':\r\n                        resource = existing || new HtmlBehaviorResource();\r\n                        resource[conventionMark] = true;\r\n                        if (resourceType === 'element') {\r\n                            if (!resource.elementName) {\r\n                                resource.elementName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom element')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        else {\r\n                            if (!resource.attributeName) {\r\n                                resource.attributeName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom attribute')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        if ('templateController' in config) {\r\n                            config.liftsContent = config.templateController;\r\n                            delete config.templateController;\r\n                        }\r\n                        if ('defaultBindingMode' in config && resource.attributeDefaultBindingMode !== undefined) {\r\n                            config.attributeDefaultBindingMode = config.defaultBindingMode;\r\n                            delete config.defaultBindingMode;\r\n                        }\r\n                        delete config.name;\r\n                        Object.assign(resource, config);\r\n                        break;\r\n                    case 'valueConverter':\r\n                        resource = new ValueConverterResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'bindingBehavior':\r\n                        resource = new BindingBehaviorResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'viewEngineHooks':\r\n                        resource = new ViewEngineHooksResource();\r\n                        break;\r\n                }\r\n            }\r\n            if (resource instanceof HtmlBehaviorResource) {\r\n                var bindables = typeof config === 'string' ? undefined : config.bindables;\r\n                var currentProps = resource.properties;\r\n                if (Array.isArray(bindables)) {\r\n                    for (var i = 0, ii = bindables.length; ii > i; ++i) {\r\n                        var prop = bindables[i];\r\n                        if (!prop || (typeof prop !== 'string' && !prop.name)) {\r\n                            throw new Error(\"Invalid bindable property at \\\"\".concat(i, \"\\\" for class \\\"\").concat(target.name, \"\\\". Expected either a string or an object with \\\"name\\\" property.\"));\r\n                        }\r\n                        var newProp = new BindableProperty(prop);\r\n                        var existed = false;\r\n                        for (var j = 0, jj = currentProps.length; jj > j; ++j) {\r\n                            if (currentProps[j].name === newProp.name) {\r\n                                existed = true;\r\n                                break;\r\n                            }\r\n                        }\r\n                        if (existed) {\r\n                            continue;\r\n                        }\r\n                        newProp.registerWith(target, resource);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        return resource;\r\n    };\r\n    ViewResources.prototype._tryAddHook = function (obj, name) {\r\n        if (typeof obj[name] === 'function') {\r\n            var func = obj[name].bind(obj);\r\n            var counter = 1;\r\n            var callbackName = void 0;\r\n            while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                counter++;\r\n            }\r\n            this[name] = true;\r\n            this[callbackName] = func;\r\n        }\r\n    };\r\n    ViewResources.prototype._invokeHook = function (name, one, two, three, four) {\r\n        if (this.hasParent) {\r\n            this.parent._invokeHook(name, one, two, three, four);\r\n        }\r\n        if (this[name]) {\r\n            this[name + '1'](one, two, three, four);\r\n            var callbackName = name + '2';\r\n            if (this[callbackName]) {\r\n                this[callbackName](one, two, three, four);\r\n                callbackName = name + '3';\r\n                if (this[callbackName]) {\r\n                    this[callbackName](one, two, three, four);\r\n                    var counter = 4;\r\n                    while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                        this[callbackName](one, two, three, four);\r\n                        counter++;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ViewResources.prototype.registerViewEngineHooks = function (hooks) {\r\n        this._tryAddHook(hooks, 'beforeCompile');\r\n        this._tryAddHook(hooks, 'afterCompile');\r\n        this._tryAddHook(hooks, 'beforeCreate');\r\n        this._tryAddHook(hooks, 'afterCreate');\r\n        this._tryAddHook(hooks, 'beforeBind');\r\n        this._tryAddHook(hooks, 'beforeUnbind');\r\n    };\r\n    ViewResources.prototype.getBindingLanguage = function (bindingLanguageFallback) {\r\n        return this.bindingLanguage || (this.bindingLanguage = bindingLanguageFallback);\r\n    };\r\n    ViewResources.prototype.patchInParent = function (newParent) {\r\n        var originalParent = this.parent;\r\n        this.parent = newParent || null;\r\n        this.hasParent = this.parent !== null;\r\n        if (newParent.parent === null) {\r\n            newParent.parent = originalParent;\r\n            newParent.hasParent = originalParent !== null;\r\n        }\r\n    };\r\n    ViewResources.prototype.relativeToView = function (path) {\r\n        return relativeToFile(path, this.viewUrl);\r\n    };\r\n    ViewResources.prototype.registerElement = function (tagName, behavior) {\r\n        register(this.elements, tagName, behavior, 'an Element');\r\n    };\r\n    ViewResources.prototype.getElement = function (tagName) {\r\n        return this.elements[tagName] || (this.hasParent ? this.parent.getElement(tagName) : null);\r\n    };\r\n    ViewResources.prototype.mapAttribute = function (attribute) {\r\n        return this.attributeMap[attribute] || (this.hasParent ? this.parent.mapAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerAttribute = function (attribute, behavior, knownAttribute) {\r\n        this.attributeMap[attribute] = knownAttribute;\r\n        register(this.attributes, attribute, behavior, 'an Attribute');\r\n    };\r\n    ViewResources.prototype.getAttribute = function (attribute) {\r\n        return this.attributes[attribute] || (this.hasParent ? this.parent.getAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerValueConverter = function (name, valueConverter) {\r\n        register(this.valueConverters, name, valueConverter, 'a ValueConverter');\r\n    };\r\n    ViewResources.prototype.getValueConverter = function (name) {\r\n        return this.valueConverters[name] || (this.hasParent ? this.parent.getValueConverter(name) : null);\r\n    };\r\n    ViewResources.prototype.registerBindingBehavior = function (name, bindingBehavior) {\r\n        register(this.bindingBehaviors, name, bindingBehavior, 'a BindingBehavior');\r\n    };\r\n    ViewResources.prototype.getBindingBehavior = function (name) {\r\n        return this.bindingBehaviors[name] || (this.hasParent ? this.parent.getBindingBehavior(name) : null);\r\n    };\r\n    ViewResources.prototype.registerValue = function (name, value) {\r\n        register(this.values, name, value, 'a value');\r\n    };\r\n    ViewResources.prototype.getValue = function (name) {\r\n        return this.values[name] || (this.hasParent ? this.parent.getValue(name) : null);\r\n    };\r\n    ViewResources.prototype.autoRegister = function (container, impl) {\r\n        var resourceTypeMeta = metadata.getOwn(metadata.resource, impl);\r\n        if (resourceTypeMeta) {\r\n            if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                ViewResources.convention(impl, resourceTypeMeta);\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    HtmlBehaviorResource.convention(impl.name, resourceTypeMeta);\r\n                }\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            resourceTypeMeta = ViewResources.convention(impl)\r\n                || HtmlBehaviorResource.convention(impl.name)\r\n                || ValueConverterResource.convention(impl.name)\r\n                || BindingBehaviorResource.convention(impl.name)\r\n                || ViewEngineHooksResource.convention(impl.name);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n            }\r\n            metadata.define(metadata.resource, resourceTypeMeta, impl);\r\n        }\r\n        resourceTypeMeta.initialize(container, impl);\r\n        resourceTypeMeta.register(this, undefined);\r\n        return resourceTypeMeta;\r\n    };\r\n    return ViewResources;\r\n}());\n\nvar viewStrategy = protocol.create('aurelia:view-strategy', {\r\n    validate: function (target) {\r\n        if (!(typeof target.loadViewFactory === 'function')) {\r\n            return 'View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise<ViewFactory>';\r\n        }\r\n        return true;\r\n    },\r\n    compose: function (target) {\r\n        if (!(typeof target.makeRelativeTo === 'function')) {\r\n            target.makeRelativeTo = PLATFORM.noop;\r\n        }\r\n    }\r\n});\r\nvar RelativeViewStrategy = (function () {\r\n    function RelativeViewStrategy(path) {\r\n        this.path = path;\r\n        this.absolutePath = null;\r\n    }\r\n    RelativeViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        if (this.absolutePath === null && this.moduleId) {\r\n            this.absolutePath = relativeToFile(this.path, this.moduleId);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.absolutePath || this.path, compileInstruction, loadContext, target);\r\n    };\r\n    RelativeViewStrategy.prototype.makeRelativeTo = function (file) {\r\n        if (this.absolutePath === null) {\r\n            this.absolutePath = relativeToFile(this.path, file);\r\n        }\r\n    };\r\n    RelativeViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], RelativeViewStrategy);\r\n    return RelativeViewStrategy;\r\n}());\r\nvar ConventionalViewStrategy = (function () {\r\n    function ConventionalViewStrategy(viewLocator, origin) {\r\n        this.moduleId = origin.moduleId;\r\n        this.viewUrl = viewLocator.convertOriginToViewUrl(origin);\r\n    }\r\n    ConventionalViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.viewUrl, compileInstruction, loadContext, target);\r\n    };\r\n    ConventionalViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], ConventionalViewStrategy);\r\n    return ConventionalViewStrategy;\r\n}());\r\nvar NoViewStrategy = (function () {\r\n    function NoViewStrategy(dependencies, dependencyBaseUrl) {\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    NoViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(null);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.dependencies = [];\r\n        entry.templateIsLoaded = true;\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    NoViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], NoViewStrategy);\r\n    return NoViewStrategy;\r\n}());\r\nvar TemplateRegistryViewStrategy = (function () {\r\n    function TemplateRegistryViewStrategy(moduleId, entry) {\r\n        this.moduleId = moduleId;\r\n        this.entry = entry;\r\n    }\r\n    TemplateRegistryViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        if (entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    TemplateRegistryViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], TemplateRegistryViewStrategy);\r\n    return TemplateRegistryViewStrategy;\r\n}());\r\nvar InlineViewStrategy = (function () {\r\n    function InlineViewStrategy(markup, dependencies, dependencyBaseUrl) {\r\n        this.markup = markup;\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    InlineViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.template = DOM.createTemplateFromMarkup(this.markup);\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    InlineViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], InlineViewStrategy);\r\n    return InlineViewStrategy;\r\n}());\r\nvar StaticViewStrategy = (function () {\r\n    function StaticViewStrategy(config) {\r\n        if (typeof config === 'string' || (config instanceof DOM.Element && config.tagName === 'TEMPLATE')) {\r\n            config = {\r\n                template: config\r\n            };\r\n        }\r\n        this.template = config.template;\r\n        this.dependencies = config.dependencies || [];\r\n        this.factoryIsReady = false;\r\n        this.onReady = null;\r\n        this.moduleId = 'undefined';\r\n    }\r\n    StaticViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        if (this.factoryIsReady) {\r\n            return Promise.resolve(this.factory);\r\n        }\r\n        var $deps = this.dependencies;\r\n        var deps = typeof $deps === 'function' ? $deps() : $deps;\r\n        deps = deps ? deps : [];\r\n        deps = Array.isArray(deps) ? deps : [deps];\r\n        return Promise.all(deps).then(function (dependencies) {\r\n            var container = viewEngine.container;\r\n            var appResources = viewEngine.appResources;\r\n            var viewCompiler = viewEngine.viewCompiler;\r\n            var viewResources = new ViewResources(appResources);\r\n            var resource;\r\n            var elDeps = [];\r\n            if (target) {\r\n                viewResources.autoRegister(container, target);\r\n            }\r\n            for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {\r\n                var dep = dependencies_1[_i];\r\n                if (typeof dep === 'function') {\r\n                    resource = viewResources.autoRegister(container, dep);\r\n                    if (resource.elementName !== null) {\r\n                        elDeps.push(resource);\r\n                    }\r\n                }\r\n                else if (dep && typeof dep === 'object') {\r\n                    for (var key in dep) {\r\n                        var exported = dep[key];\r\n                        if (typeof exported === 'function') {\r\n                            resource = viewResources.autoRegister(container, exported);\r\n                            if (resource.elementName !== null) {\r\n                                elDeps.push(resource);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                else {\r\n                    throw new Error(\"dependency neither function nor object. Received: \\\"\".concat(typeof dep, \"\\\"\"));\r\n                }\r\n            }\r\n            return Promise.all(elDeps.map(function (el) { return el.load(container, el.target); })).then(function () {\r\n                var factory = _this.template !== null\r\n                    ? viewCompiler.compile(_this.template, viewResources, compileInstruction)\r\n                    : null;\r\n                _this.factoryIsReady = true;\r\n                _this.factory = factory;\r\n                return factory;\r\n            });\r\n        });\r\n    };\r\n    StaticViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], StaticViewStrategy);\r\n    return StaticViewStrategy;\r\n}());\n\nfunction remove(viewSlot, previous) {\r\n    return Array.isArray(previous)\r\n        ? viewSlot.removeMany(previous, true)\r\n        : viewSlot.remove(previous, true);\r\n}\r\nvar SwapStrategies = {\r\n    before: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : callback().then(function () { return remove(viewSlot, previous); });\r\n    },\r\n    with: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : Promise.all([remove(viewSlot, previous), callback()]);\r\n    },\r\n    after: function (viewSlot, previous, callback) {\r\n        return Promise.resolve(viewSlot.removeAll(true)).then(callback);\r\n    }\r\n};\n\nfunction tryActivateViewModel(context) {\r\n    if (context.skipActivation || typeof context.viewModel.activate !== 'function') {\r\n        return Promise.resolve();\r\n    }\r\n    return context.viewModel.activate(context.model) || Promise.resolve();\r\n}\r\nvar CompositionEngine = (function () {\r\n    function CompositionEngine(viewEngine, viewLocator) {\r\n        this.viewEngine = viewEngine;\r\n        this.viewLocator = viewLocator;\r\n    }\r\n    CompositionEngine.prototype._swap = function (context, view) {\r\n        var swapStrategy = SwapStrategies[context.swapOrder] || SwapStrategies.after;\r\n        var previousViews = context.viewSlot.children.slice();\r\n        return swapStrategy(context.viewSlot, previousViews, function () {\r\n            return Promise.resolve(context.viewSlot.add(view)).then(function () {\r\n                if (context.currentController) {\r\n                    context.currentController.unbind();\r\n                }\r\n            });\r\n        }).then(function () {\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n        });\r\n    };\r\n    CompositionEngine.prototype._createControllerAndSwap = function (context) {\r\n        var _this = this;\r\n        return this.createController(context).then(function (controller) {\r\n            if (context.compositionTransactionOwnershipToken) {\r\n                return context.compositionTransactionOwnershipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    controller.automate(context.overrideContext, context.owningView);\r\n                    return _this._swap(context, controller.view);\r\n                })\r\n                    .then(function () { return controller; });\r\n            }\r\n            controller.automate(context.overrideContext, context.owningView);\r\n            return _this._swap(context, controller.view).then(function () { return controller; });\r\n        });\r\n    };\r\n    CompositionEngine.prototype.createController = function (context) {\r\n        var _this = this;\r\n        var childContainer;\r\n        var viewModel;\r\n        var viewModelResource;\r\n        var m;\r\n        return this\r\n            .ensureViewModel(context)\r\n            .then(tryActivateViewModel)\r\n            .then(function () {\r\n            childContainer = context.childContainer;\r\n            viewModel = context.viewModel;\r\n            viewModelResource = context.viewModelResource;\r\n            m = viewModelResource.metadata;\r\n            var viewStrategy = _this.viewLocator.getViewStrategy(context.view || viewModel);\r\n            if (context.viewResources) {\r\n                viewStrategy.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return m.load(childContainer, viewModelResource.value, null, viewStrategy, true);\r\n        }).then(function (viewFactory) { return m.create(childContainer, BehaviorInstruction.dynamic(context.host, viewModel, viewFactory)); });\r\n    };\r\n    CompositionEngine.prototype.ensureViewModel = function (context) {\r\n        var childContainer = context.childContainer = (context.childContainer || context.container.createChild());\r\n        if (typeof context.viewModel === 'string') {\r\n            context.viewModel = context.viewResources\r\n                ? context.viewResources.relativeToView(context.viewModel)\r\n                : context.viewModel;\r\n            return this.viewEngine.importViewModelResource(context.viewModel).then(function (viewModelResource) {\r\n                childContainer.autoRegister(viewModelResource.value);\r\n                if (context.host) {\r\n                    childContainer.registerInstance(DOM.Element, context.host);\r\n                }\r\n                context.viewModel = childContainer.viewModel = childContainer.get(viewModelResource.value);\r\n                context.viewModelResource = viewModelResource;\r\n                return context;\r\n            });\r\n        }\r\n        var ctor = context.viewModel.constructor;\r\n        var isClass = typeof context.viewModel === 'function';\r\n        if (isClass) {\r\n            ctor = context.viewModel;\r\n            childContainer.autoRegister(ctor);\r\n        }\r\n        var m = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, ctor);\r\n        m.elementName = m.elementName || 'dynamic-element';\r\n        m.initialize(isClass ? childContainer : (context.container || childContainer), ctor);\r\n        context.viewModelResource = { metadata: m, value: ctor };\r\n        if (context.host) {\r\n            childContainer.registerInstance(DOM.Element, context.host);\r\n        }\r\n        childContainer.viewModel = context.viewModel = isClass ? childContainer.get(ctor) : context.viewModel;\r\n        return Promise.resolve(context);\r\n    };\r\n    CompositionEngine.prototype.compose = function (context) {\r\n        var _this = this;\r\n        context.childContainer = context.childContainer || context.container.createChild();\r\n        context.view = this.viewLocator.getViewStrategy(context.view);\r\n        var transaction = context.childContainer.get(CompositionTransaction);\r\n        var compositionTransactionOwnershipToken = transaction.tryCapture();\r\n        if (compositionTransactionOwnershipToken) {\r\n            context.compositionTransactionOwnershipToken = compositionTransactionOwnershipToken;\r\n        }\r\n        else {\r\n            context.compositionTransactionNotifier = transaction.enlist();\r\n        }\r\n        if (context.viewModel) {\r\n            return this._createControllerAndSwap(context);\r\n        }\r\n        else if (context.view) {\r\n            if (context.viewResources) {\r\n                context.view.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return context.view.loadViewFactory(this.viewEngine, new ViewCompileInstruction()).then(function (viewFactory) {\r\n                var result = viewFactory.create(context.childContainer);\r\n                result.bind(context.bindingContext, context.overrideContext);\r\n                if (context.compositionTransactionOwnershipToken) {\r\n                    return context.compositionTransactionOwnershipToken.waitForCompositionComplete()\r\n                        .then(function () { return _this._swap(context, result); })\r\n                        .then(function () { return result; });\r\n                }\r\n                return _this._swap(context, result).then(function () { return result; });\r\n            });\r\n        }\r\n        else if (context.viewSlot) {\r\n            context.viewSlot.removeAll();\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n            return Promise.resolve(null);\r\n        }\r\n        return Promise.resolve(null);\r\n    };\r\n    CompositionEngine = __decorate([\r\n        inject(ViewEngine, ViewLocator)\r\n    ], CompositionEngine);\r\n    return CompositionEngine;\r\n}());\n\nvar animationEvent = {\r\n    enterBegin: 'animation:enter:begin',\r\n    enterActive: 'animation:enter:active',\r\n    enterDone: 'animation:enter:done',\r\n    enterTimeout: 'animation:enter:timeout',\r\n    leaveBegin: 'animation:leave:begin',\r\n    leaveActive: 'animation:leave:active',\r\n    leaveDone: 'animation:leave:done',\r\n    leaveTimeout: 'animation:leave:timeout',\r\n    staggerNext: 'animation:stagger:next',\r\n    removeClassBegin: 'animation:remove-class:begin',\r\n    removeClassActive: 'animation:remove-class:active',\r\n    removeClassDone: 'animation:remove-class:done',\r\n    removeClassTimeout: 'animation:remove-class:timeout',\r\n    addClassBegin: 'animation:add-class:begin',\r\n    addClassActive: 'animation:add-class:active',\r\n    addClassDone: 'animation:add-class:done',\r\n    addClassTimeout: 'animation:add-class:timeout',\r\n    animateBegin: 'animation:animate:begin',\r\n    animateActive: 'animation:animate:active',\r\n    animateDone: 'animation:animate:done',\r\n    animateTimeout: 'animation:animate:timeout',\r\n    sequenceBegin: 'animation:sequence:begin',\r\n    sequenceDone: 'animation:sequence:done'\r\n};\n\nfunction createChildObserverDecorator(selectorOrConfig, all) {\r\n    return function (target, key, descriptor) {\r\n        var actualTarget = typeof key === 'string' ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        if (typeof selectorOrConfig === 'string') {\r\n            selectorOrConfig = {\r\n                selector: selectorOrConfig,\r\n                name: key\r\n            };\r\n        }\r\n        if (descriptor) {\r\n            descriptor.writable = true;\r\n            descriptor.configurable = true;\r\n        }\r\n        selectorOrConfig.all = all;\r\n        r.addChildBinding(new ChildObserver(selectorOrConfig));\r\n    };\r\n}\r\nfunction children(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, true);\r\n}\r\nfunction child(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, false);\r\n}\r\nvar ChildObserver = (function () {\r\n    function ChildObserver(config) {\r\n        this.name = config.name;\r\n        this.changeHandler = config.changeHandler || this.name + 'Changed';\r\n        this.selector = config.selector;\r\n        this.all = config.all;\r\n    }\r\n    ChildObserver.prototype.create = function (viewHost, viewModel, controller) {\r\n        return new ChildObserverBinder(this.selector, viewHost, this.name, viewModel, controller, this.changeHandler, this.all);\r\n    };\r\n    return ChildObserver;\r\n}());\r\nvar noMutations = [];\r\nfunction trackMutation(groupedMutations, binder, record) {\r\n    var mutations = groupedMutations.get(binder);\r\n    if (!mutations) {\r\n        mutations = [];\r\n        groupedMutations.set(binder, mutations);\r\n    }\r\n    mutations.push(record);\r\n}\r\nfunction onChildChange(mutations, observer) {\r\n    var binders = observer.binders;\r\n    var bindersLength = binders.length;\r\n    var groupedMutations = new Map();\r\n    for (var i = 0, ii = mutations.length; i < ii; ++i) {\r\n        var record = mutations[i];\r\n        var added = record.addedNodes;\r\n        var removed = record.removedNodes;\r\n        for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n            var node = removed[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onRemove(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        for (var j = 0, jj = added.length; j < jj; ++j) {\r\n            var node = added[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onAdd(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    groupedMutations.forEach(function (mutationRecords, binder) {\r\n        if (binder.isBound && binder.changeHandler !== null) {\r\n            binder.viewModel[binder.changeHandler](mutationRecords);\r\n        }\r\n    });\r\n}\r\nvar ChildObserverBinder = (function () {\r\n    function ChildObserverBinder(selector, viewHost, property, viewModel, controller, changeHandler, all) {\r\n        this.selector = selector;\r\n        this.viewHost = viewHost;\r\n        this.property = property;\r\n        this.viewModel = viewModel;\r\n        this.controller = controller;\r\n        this.changeHandler = changeHandler in viewModel ? changeHandler : null;\r\n        this.usesShadowDOM = controller.behavior.usesShadowDOM;\r\n        this.all = all;\r\n        if (!this.usesShadowDOM && controller.view && controller.view.contentView) {\r\n            this.contentView = controller.view.contentView;\r\n        }\r\n        else {\r\n            this.contentView = null;\r\n        }\r\n        this.source = null;\r\n        this.isBound = false;\r\n    }\r\n    ChildObserverBinder.prototype.matches = function (element) {\r\n        if (element.matches(this.selector)) {\r\n            if (this.contentView === null) {\r\n                return true;\r\n            }\r\n            var contentView = this.contentView;\r\n            var assignedSlot = element.auAssignedSlot;\r\n            if (assignedSlot && assignedSlot.projectFromAnchors) {\r\n                var anchors = assignedSlot.projectFromAnchors;\r\n                for (var i = 0, ii = anchors.length; i < ii; ++i) {\r\n                    if (anchors[i].auOwnerView === contentView) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n            return element.auOwnerView === contentView;\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.source = source;\r\n        }\r\n        this.isBound = true;\r\n        var viewHost = this.viewHost;\r\n        var viewModel = this.viewModel;\r\n        var observer = viewHost.__childObserver__;\r\n        if (!observer) {\r\n            observer = viewHost.__childObserver__ = DOM.createMutationObserver(onChildChange);\r\n            var options = {\r\n                childList: true,\r\n                subtree: !this.usesShadowDOM\r\n            };\r\n            observer.observe(viewHost, options);\r\n            observer.binders = [];\r\n        }\r\n        observer.binders.push(this);\r\n        if (this.usesShadowDOM) {\r\n            var current = viewHost.firstElementChild;\r\n            if (this.all) {\r\n                var items = viewModel[this.property];\r\n                if (!items) {\r\n                    items = viewModel[this.property] = [];\r\n                }\r\n                else {\r\n                    items.splice(0);\r\n                }\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        items.push(current.au && current.au.controller ? current.au.controller.viewModel : current);\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n                if (this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](noMutations);\r\n                }\r\n            }\r\n            else {\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        var value = current.au && current.au.controller ? current.au.controller.viewModel : current;\r\n                        this.viewModel[this.property] = value;\r\n                        if (this.changeHandler !== null) {\r\n                            this.viewModel[this.changeHandler](value);\r\n                        }\r\n                        break;\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ChildObserverBinder.prototype.onRemove = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                var index = items.indexOf(value);\r\n                if (index !== -1) {\r\n                    items.splice(index, 1);\r\n                }\r\n                return true;\r\n            }\r\n            var currentValue = this.viewModel[this.property];\r\n            if (currentValue === value) {\r\n                this.viewModel[this.property] = null;\r\n                if (this.isBound && this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](value);\r\n                }\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.onAdd = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                if (this.selector === '*') {\r\n                    items.push(value);\r\n                    return true;\r\n                }\r\n                var index = 0;\r\n                var prev = element.previousElementSibling;\r\n                while (prev) {\r\n                    if (this.matches(prev)) {\r\n                        index++;\r\n                    }\r\n                    prev = prev.previousElementSibling;\r\n                }\r\n                items.splice(index, 0, value);\r\n                return true;\r\n            }\r\n            this.viewModel[this.property] = value;\r\n            if (this.isBound && this.changeHandler !== null) {\r\n                this.viewModel[this.changeHandler](value);\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var childObserver = this.viewHost.__childObserver__;\r\n        if (childObserver) {\r\n            var binders = childObserver.binders;\r\n            if (binders && binders.length) {\r\n                var idx = binders.indexOf(this);\r\n                if (idx !== -1) {\r\n                    binders.splice(idx, 1);\r\n                }\r\n                if (binders.length === 0) {\r\n                    childObserver.disconnect();\r\n                    this.viewHost.__childObserver__ = null;\r\n                }\r\n            }\r\n            if (this.usesShadowDOM) {\r\n                this.viewModel[this.property] = null;\r\n            }\r\n        }\r\n    };\r\n    return ChildObserverBinder;\r\n}());\n\nvar ElementConfigResource = (function () {\r\n    function ElementConfigResource() {\r\n    }\r\n    ElementConfigResource.prototype.initialize = function (container, target) { };\r\n    ElementConfigResource.prototype.register = function (registry, name) { };\r\n    ElementConfigResource.prototype.load = function (container, target) {\r\n        var config = new target();\r\n        var eventManager = container.get(EventManager);\r\n        eventManager.registerElementConfig(config);\r\n    };\r\n    return ElementConfigResource;\r\n}());\n\nfunction resource(instanceOrConfig) {\r\n    return function (target) {\r\n        var isConfig = typeof instanceOrConfig === 'string' || Object.getPrototypeOf(instanceOrConfig) === Object.prototype;\r\n        if (isConfig) {\r\n            target.$resource = instanceOrConfig;\r\n        }\r\n        else {\r\n            metadata.define(metadata.resource, instanceOrConfig, target);\r\n        }\r\n    };\r\n}\r\nfunction behavior(override) {\r\n    return function (target) {\r\n        if (override instanceof HtmlBehaviorResource) {\r\n            metadata.define(metadata.resource, override, target);\r\n        }\r\n        else {\r\n            var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n            Object.assign(r, override);\r\n        }\r\n    };\r\n}\r\nfunction customElement(name) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.elementName = validateBehaviorName(name, 'custom element');\r\n    };\r\n}\r\nfunction customAttribute(name, defaultBindingMode, aliases) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.attributeName = validateBehaviorName(name, 'custom attribute');\r\n        r.attributeDefaultBindingMode = defaultBindingMode;\r\n        r.aliases = aliases;\r\n    };\r\n}\r\nfunction templateController(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.liftsContent = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction bindable(nameOrConfigOrTarget, key, descriptor) {\r\n    var deco = function (target, key2, descriptor2) {\r\n        var actualTarget = key2 ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        var prop;\r\n        if (key2) {\r\n            nameOrConfigOrTarget = nameOrConfigOrTarget || {};\r\n            nameOrConfigOrTarget.name = key2;\r\n        }\r\n        prop = new BindableProperty(nameOrConfigOrTarget);\r\n        return prop.registerWith(actualTarget, r, descriptor2);\r\n    };\r\n    if (!nameOrConfigOrTarget) {\r\n        return deco;\r\n    }\r\n    if (key) {\r\n        var target = nameOrConfigOrTarget;\r\n        nameOrConfigOrTarget = null;\r\n        return deco(target, key, descriptor);\r\n    }\r\n    return deco;\r\n}\r\nfunction dynamicOptions(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.hasDynamicOptions = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nvar defaultShadowDOMOptions = { mode: 'open' };\r\nfunction useShadowDOM(targetOrOptions) {\r\n    var options = typeof targetOrOptions === 'function' || !targetOrOptions\r\n        ? defaultShadowDOMOptions\r\n        : targetOrOptions;\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.targetShadowDOM = true;\r\n        r.shadowDOMOptions = options;\r\n    };\r\n    return typeof targetOrOptions === 'function' ? deco(targetOrOptions) : deco;\r\n}\r\nfunction processAttributes(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processAttributes = function (compiler, resources, node, attributes, elementInstruction) {\r\n            try {\r\n                processor(compiler, resources, node, attributes, elementInstruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n            }\r\n        };\r\n    };\r\n}\r\nfunction doNotProcessContent() { return false; }\r\nfunction processContent(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processContent = processor ? function (compiler, resources, node, instruction) {\r\n            try {\r\n                return processor(compiler, resources, node, instruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n                return false;\r\n            }\r\n        } : doNotProcessContent;\r\n    };\r\n}\r\nfunction containerless(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.containerless = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction useViewStrategy(strategy) {\r\n    return function (target) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, strategy, target);\r\n    };\r\n}\r\nfunction useView(path) {\r\n    return useViewStrategy(new RelativeViewStrategy(path));\r\n}\r\nfunction inlineView(markup, dependencies, dependencyBaseUrl) {\r\n    return useViewStrategy(new InlineViewStrategy(markup, dependencies, dependencyBaseUrl));\r\n}\r\nfunction noView(targetOrDependencies, dependencyBaseUrl) {\r\n    var target;\r\n    var dependencies;\r\n    if (typeof targetOrDependencies === 'function') {\r\n        target = targetOrDependencies;\r\n    }\r\n    else {\r\n        dependencies = targetOrDependencies;\r\n        target = undefined;\r\n    }\r\n    var deco = function (t) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, new NoViewStrategy(dependencies, dependencyBaseUrl), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction view(templateOrConfig) {\r\n    return function (target) {\r\n        target.$view = templateOrConfig;\r\n    };\r\n}\r\nfunction elementConfig(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ElementConfigResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction viewResources() {\r\n    var resources = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        resources[_i] = arguments[_i];\r\n    }\r\n    return function (target) {\r\n        metadata.define(ViewEngine.viewModelRequireMetadataKey, resources, target);\r\n    };\r\n}\n\nvar TemplatingEngine = (function () {\r\n    function TemplatingEngine(container, moduleAnalyzer, viewCompiler, compositionEngine) {\r\n        this._container = container;\r\n        this._moduleAnalyzer = moduleAnalyzer;\r\n        this._viewCompiler = viewCompiler;\r\n        this._compositionEngine = compositionEngine;\r\n        container.registerInstance(Animator, Animator.instance = new Animator());\r\n    }\r\n    TemplatingEngine.prototype.configureAnimator = function (animator) {\r\n        this._container.unregister(Animator);\r\n        this._container.registerInstance(Animator, Animator.instance = animator);\r\n    };\r\n    TemplatingEngine.prototype.compose = function (context) {\r\n        return this._compositionEngine.compose(context);\r\n    };\r\n    TemplatingEngine.prototype.enhance = function (instruction) {\r\n        if (instruction instanceof DOM.Element) {\r\n            instruction = { element: instruction };\r\n        }\r\n        var compilerInstructions = { letExpressions: [] };\r\n        var resources = instruction.resources || this._container.get(ViewResources);\r\n        this._viewCompiler._compileNode(instruction.element, resources, compilerInstructions, instruction.element.parentNode, 'root', true);\r\n        var factory = new ViewFactory(instruction.element, compilerInstructions, resources);\r\n        var container = instruction.container || this._container.createChild();\r\n        var view = factory.create(container, BehaviorInstruction.enhance());\r\n        view.bind(instruction.bindingContext || {}, instruction.overrideContext);\r\n        view.firstChild = view.lastChild = view.fragment;\r\n        view.fragment = DOM.createDocumentFragment();\r\n        view.attached();\r\n        return view;\r\n    };\r\n    TemplatingEngine.inject = [Container, ModuleAnalyzer, ViewCompiler, CompositionEngine];\r\n    return TemplatingEngine;\r\n}());\n\nexport { Animator, BehaviorInstruction, BehaviorPropertyObserver, BindableProperty, BindingLanguage, BoundViewFactory, CompositionEngine, CompositionTransaction, CompositionTransactionNotifier, CompositionTransactionOwnershipToken, Controller, ConventionalViewStrategy, ElementConfigResource, ElementEvents, HtmlBehaviorResource, InlineViewStrategy, ModuleAnalyzer, NoViewStrategy, PassThroughSlot, RelativeViewStrategy, ResourceDescription, ResourceLoadContext, ResourceModule, ShadowDOM, ShadowSlot, SlotCustomAttribute, StaticViewStrategy, SwapStrategies, TargetInstruction, TemplateRegistryViewStrategy, TemplatingEngine, View, ViewCompileInstruction, ViewCompiler, ViewEngine, ViewEngineHooksResource, ViewFactory, ViewLocator, ViewResources, ViewSlot, _hyphenate, _isAllWhitespace, animationEvent, behavior, bindable, child, children, containerless, customAttribute, customElement, dynamicOptions, elementConfig, inlineView, noView, processAttributes, processContent, resource, templateController, useShadowDOM, useView, useViewStrategy, validateBehaviorName, view, viewEngineHooks, viewResources, viewStrategy };\n//# sourceMappingURL=aurelia-templating.js.map\n","import { LiteralString, Binary, Conditional, LiteralPrimitive, CallMember, AccessMember, AccessScope, AccessKeyed, BindingBehavior, ValueConverter, getContextFor, Parser, bindingBehavior, bindingMode } from 'aurelia-binding';\nimport { BindingLanguage, ViewResources, customAttribute, bindable } from 'aurelia-templating';\nimport { getLogger } from 'aurelia-logging';\nimport { DOM } from 'aurelia-pal';\nimport { Optional, Lazy } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\n/**\r\n * Validates objects and properties.\r\n */\r\nvar Validator = /** @class */ (function () {\r\n    function Validator() {\r\n    }\r\n    return Validator;\r\n}());\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\n\n/**\r\n * The result of validating an individual validation rule.\r\n */\r\nvar ValidateResult = /** @class */ (function () {\r\n    /**\r\n     * @param rule The rule associated with the result. Validator implementation specific.\r\n     * @param object The object that was validated.\r\n     * @param propertyName The name of the property that was validated.\r\n     * @param error The error, if the result is a validation error.\r\n     */\r\n    function ValidateResult(rule, object, propertyName, valid, message) {\r\n        if (message === void 0) { message = null; }\r\n        this.rule = rule;\r\n        this.object = object;\r\n        this.propertyName = propertyName;\r\n        this.valid = valid;\r\n        this.message = message;\r\n        this.id = ValidateResult.nextId++;\r\n    }\r\n    ValidateResult.prototype.toString = function () {\r\n        return this.valid ? 'Valid.' : this.message;\r\n    };\r\n    ValidateResult.nextId = 0;\r\n    return ValidateResult;\r\n}());\n\n/**\r\n * Sets, unsets and retrieves rules on an object or constructor function.\r\n */\r\nvar Rules = /** @class */ (function () {\r\n    function Rules() {\r\n    }\r\n    /**\r\n     * Applies the rules to a target.\r\n     */\r\n    Rules.set = function (target, rules) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        Object.defineProperty(target, Rules.key, { enumerable: false, configurable: false, writable: true, value: rules });\r\n    };\r\n    /**\r\n     * Removes rules from a target.\r\n     */\r\n    Rules.unset = function (target) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        target[Rules.key] = null;\r\n    };\r\n    /**\r\n     * Retrieves the target's rules.\r\n     */\r\n    Rules.get = function (target) {\r\n        return target[Rules.key] || null;\r\n    };\r\n    /**\r\n     * The name of the property that stores the rules.\r\n     */\r\n    Rules.key = '__rules__';\r\n    return Rules;\r\n}());\n\n// tslint:disable:no-empty\r\nvar ExpressionVisitor = /** @class */ (function () {\r\n    function ExpressionVisitor() {\r\n    }\r\n    ExpressionVisitor.prototype.visitChain = function (chain) {\r\n        this.visitArgs(chain.expressions);\r\n    };\r\n    ExpressionVisitor.prototype.visitBindingBehavior = function (behavior) {\r\n        behavior.expression.accept(this);\r\n        this.visitArgs(behavior.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitValueConverter = function (converter) {\r\n        converter.expression.accept(this);\r\n        this.visitArgs(converter.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitAssign = function (assign) {\r\n        assign.target.accept(this);\r\n        assign.value.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitConditional = function (conditional) {\r\n        conditional.condition.accept(this);\r\n        conditional.yes.accept(this);\r\n        conditional.no.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessThis = function (access) {\r\n        access.ancestor = access.ancestor;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessScope = function (access) {\r\n        access.name = access.name;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessMember = function (access) {\r\n        access.object.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessKeyed = function (access) {\r\n        access.object.accept(this);\r\n        access.key.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallScope = function (call) {\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallFunction = function (call) {\r\n        call.func.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallMember = function (call) {\r\n        call.object.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitPrefix = function (prefix) {\r\n        prefix.expression.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitBinary = function (binary) {\r\n        binary.left.accept(this);\r\n        binary.right.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralPrimitive = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralArray = function (literal) {\r\n        this.visitArgs(literal.elements);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralObject = function (literal) {\r\n        this.visitArgs(literal.values);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralString = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitArgs = function (args) {\r\n        for (var i = 0; i < args.length; i++) {\r\n            args[i].accept(this);\r\n        }\r\n    };\r\n    return ExpressionVisitor;\r\n}());\n\nvar ValidationMessageParser = /** @class */ (function () {\r\n    function ValidationMessageParser(bindinqLanguage) {\r\n        this.bindinqLanguage = bindinqLanguage;\r\n        this.emptyStringExpression = new LiteralString('');\r\n        this.nullExpression = new LiteralPrimitive(null);\r\n        this.undefinedExpression = new LiteralPrimitive(undefined);\r\n        this.cache = {};\r\n    }\r\n    ValidationMessageParser.prototype.parse = function (message) {\r\n        if (this.cache[message] !== undefined) {\r\n            return this.cache[message];\r\n        }\r\n        var parts = this.bindinqLanguage.parseInterpolation(null, message);\r\n        if (parts === null) {\r\n            return new LiteralString(message);\r\n        }\r\n        var expression = new LiteralString(parts[0]);\r\n        for (var i = 1; i < parts.length; i += 2) {\r\n            expression = new Binary('+', expression, new Binary('+', this.coalesce(parts[i]), new LiteralString(parts[i + 1])));\r\n        }\r\n        MessageExpressionValidator.validate(expression, message);\r\n        this.cache[message] = expression;\r\n        return expression;\r\n    };\r\n    ValidationMessageParser.prototype.coalesce = function (part) {\r\n        // part === null || part === undefined ? '' : part\r\n        return new Conditional(new Binary('||', new Binary('===', part, this.nullExpression), new Binary('===', part, this.undefinedExpression)), this.emptyStringExpression, new CallMember(part, 'toString', []));\r\n    };\r\n    ValidationMessageParser.inject = [BindingLanguage];\r\n    return ValidationMessageParser;\r\n}());\r\nvar MessageExpressionValidator = /** @class */ (function (_super) {\r\n    __extends(MessageExpressionValidator, _super);\r\n    function MessageExpressionValidator(originalMessage) {\r\n        var _this = _super.call(this) || this;\r\n        _this.originalMessage = originalMessage;\r\n        return _this;\r\n    }\r\n    MessageExpressionValidator.validate = function (expression, originalMessage) {\r\n        var visitor = new MessageExpressionValidator(originalMessage);\r\n        expression.accept(visitor);\r\n    };\r\n    MessageExpressionValidator.prototype.visitAccessScope = function (access) {\r\n        if (access.ancestor !== 0) {\r\n            throw new Error('$parent is not permitted in validation message expressions.');\r\n        }\r\n        if (['displayName', 'propertyName', 'value', 'object', 'config', 'getDisplayName'].indexOf(access.name) !== -1) {\r\n            getLogger('aurelia-validation')\r\n                // tslint:disable-next-line:max-line-length\r\n                .warn(\"Did you mean to use \\\"$\" + access.name + \"\\\" instead of \\\"\" + access.name + \"\\\" in this validation message template: \\\"\" + this.originalMessage + \"\\\"?\");\r\n        }\r\n    };\r\n    return MessageExpressionValidator;\r\n}(ExpressionVisitor));\n\n/**\r\n * Dictionary of validation messages. [messageKey]: messageExpression\r\n */\r\nvar validationMessages = {\r\n    /**\r\n     * The default validation message. Used with rules that have no standard message.\r\n     */\r\n    default: \"${$displayName} is invalid.\",\r\n    required: \"${$displayName} is required.\",\r\n    matches: \"${$displayName} is not correctly formatted.\",\r\n    email: \"${$displayName} is not a valid email.\",\r\n    minLength: \"${$displayName} must be at least ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    maxLength: \"${$displayName} cannot be longer than ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    minItems: \"${$displayName} must contain at least ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    maxItems: \"${$displayName} cannot contain more than ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    min: \"${$displayName} must be at least ${$config.constraint}.\",\r\n    max: \"${$displayName} must be at most ${$config.constraint}.\",\r\n    range: \"${$displayName} must be between or equal to ${$config.min} and ${$config.max}.\",\r\n    between: \"${$displayName} must be between but not equal to ${$config.min} and ${$config.max}.\",\r\n    equals: \"${$displayName} must be ${$config.expectedValue}.\",\r\n};\r\n/**\r\n * Retrieves validation messages and property display names.\r\n */\r\nvar ValidationMessageProvider = /** @class */ (function () {\r\n    function ValidationMessageProvider(parser) {\r\n        this.parser = parser;\r\n    }\r\n    /**\r\n     * Returns a message binding expression that corresponds to the key.\r\n     * @param key The message key.\r\n     */\r\n    ValidationMessageProvider.prototype.getMessage = function (key) {\r\n        var message;\r\n        if (key in validationMessages) {\r\n            message = validationMessages[key];\r\n        }\r\n        else {\r\n            message = validationMessages['default'];\r\n        }\r\n        return this.parser.parse(message);\r\n    };\r\n    /**\r\n     * Formulates a property display name using the property name and the configured\r\n     * displayName (if provided).\r\n     * Override this with your own custom logic.\r\n     * @param propertyName The property name.\r\n     */\r\n    ValidationMessageProvider.prototype.getDisplayName = function (propertyName, displayName) {\r\n        if (displayName !== null && displayName !== undefined) {\r\n            return (displayName instanceof Function) ? displayName() : displayName;\r\n        }\r\n        // split on upper-case letters.\r\n        var words = propertyName.toString().split(/(?=[A-Z])/).join(' ');\r\n        // capitalize first letter.\r\n        return words.charAt(0).toUpperCase() + words.slice(1);\r\n    };\r\n    ValidationMessageProvider.inject = [ValidationMessageParser];\r\n    return ValidationMessageProvider;\r\n}());\n\n/**\r\n * Validates.\r\n * Responsible for validating objects and properties.\r\n */\r\nvar StandardValidator = /** @class */ (function (_super) {\r\n    __extends(StandardValidator, _super);\r\n    function StandardValidator(messageProvider, resources) {\r\n        var _this = _super.call(this) || this;\r\n        _this.messageProvider = messageProvider;\r\n        _this.lookupFunctions = resources.lookupFunctions;\r\n        _this.getDisplayName = messageProvider.getDisplayName.bind(messageProvider);\r\n        return _this;\r\n    }\r\n    /**\r\n     * Validates the specified property.\r\n     * @param object The object to validate.\r\n     * @param propertyName The name of the property to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateProperty = function (object, propertyName, rules) {\r\n        return this.validate(object, propertyName, rules || null);\r\n    };\r\n    /**\r\n     * Validates all rules for specified object and it's properties.\r\n     * @param object The object to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateObject = function (object, rules) {\r\n        return this.validate(object, null, rules || null);\r\n    };\r\n    /**\r\n     * Determines whether a rule exists in a set of rules.\r\n     * @param rules The rules to search.\r\n     * @parem rule The rule to find.\r\n     */\r\n    StandardValidator.prototype.ruleExists = function (rules, rule) {\r\n        var i = rules.length;\r\n        while (i--) {\r\n            if (rules[i].indexOf(rule) !== -1) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    StandardValidator.prototype.getMessage = function (rule, object, value) {\r\n        var expression = rule.message || this.messageProvider.getMessage(rule.messageKey);\r\n        // tslint:disable-next-line:prefer-const\r\n        var _a = rule.property, propertyName = _a.name, displayName = _a.displayName;\r\n        if (propertyName !== null) {\r\n            displayName = this.messageProvider.getDisplayName(propertyName, displayName);\r\n        }\r\n        var overrideContext = {\r\n            $displayName: displayName,\r\n            $propertyName: propertyName,\r\n            $value: value,\r\n            $object: object,\r\n            $config: rule.config,\r\n            // returns the name of a given property, given just the property name (irrespective of the property's displayName)\r\n            // split on capital letters, first letter ensured to be capitalized\r\n            $getDisplayName: this.getDisplayName\r\n        };\r\n        return expression.evaluate({ bindingContext: object, overrideContext: overrideContext }, this.lookupFunctions);\r\n    };\r\n    StandardValidator.prototype.validateRuleSequence = function (object, propertyName, ruleSequence, sequence, results) {\r\n        var _this = this;\r\n        // are we validating all properties or a single property?\r\n        var validateAllProperties = propertyName === null || propertyName === undefined;\r\n        var rules = ruleSequence[sequence];\r\n        var allValid = true;\r\n        // validate each rule.\r\n        var promises = [];\r\n        var _loop_1 = function (i) {\r\n            var rule = rules[i];\r\n            // is the rule related to the property we're validating.\r\n            // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n            if (!validateAllProperties && rule.property.name != propertyName) {\r\n                return \"continue\";\r\n            }\r\n            // is this a conditional rule? is the condition met?\r\n            if (rule.when && !rule.when(object)) {\r\n                return \"continue\";\r\n            }\r\n            // validate.\r\n            var value = rule.property.name === null ? object : object[rule.property.name];\r\n            var promiseOrBoolean = rule.condition(value, object);\r\n            if (!(promiseOrBoolean instanceof Promise)) {\r\n                promiseOrBoolean = Promise.resolve(promiseOrBoolean);\r\n            }\r\n            promises.push(promiseOrBoolean.then(function (valid) {\r\n                var message = valid ? null : _this.getMessage(rule, object, value);\r\n                results.push(new ValidateResult(rule, object, rule.property.name, valid, message));\r\n                allValid = allValid && valid;\r\n                return valid;\r\n            }));\r\n        };\r\n        for (var i = 0; i < rules.length; i++) {\r\n            _loop_1(i);\r\n        }\r\n        return Promise.all(promises)\r\n            .then(function () {\r\n            sequence++;\r\n            if (allValid && sequence < ruleSequence.length) {\r\n                return _this.validateRuleSequence(object, propertyName, ruleSequence, sequence, results);\r\n            }\r\n            return results;\r\n        });\r\n    };\r\n    StandardValidator.prototype.validate = function (object, propertyName, rules) {\r\n        // rules specified?\r\n        if (!rules) {\r\n            // no. attempt to locate the rules.\r\n            rules = Rules.get(object);\r\n        }\r\n        // any rules?\r\n        if (!rules || rules.length === 0) {\r\n            return Promise.resolve([]);\r\n        }\r\n        return this.validateRuleSequence(object, propertyName, rules, 0, []);\r\n    };\r\n    StandardValidator.inject = [ValidationMessageProvider, ViewResources];\r\n    return StandardValidator;\r\n}(Validator));\n\n/**\r\n * Validation triggers.\r\n */\r\nvar validateTrigger;\r\n(function (validateTrigger) {\r\n    /**\r\n     * Manual validation.  Use the controller's `validate()` and  `reset()` methods\r\n     * to validate all bindings.\r\n     */\r\n    validateTrigger[validateTrigger[\"manual\"] = 0] = \"manual\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event.\r\n     */\r\n    validateTrigger[validateTrigger[\"blur\"] = 1] = \"blur\";\r\n    /**\r\n     * Validate the binding when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"change\"] = 2] = \"change\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event and\r\n     * when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"changeOrBlur\"] = 3] = \"changeOrBlur\";\r\n})(validateTrigger || (validateTrigger = {}));\n\n/**\r\n * Aurelia Validation Configuration API\r\n */\r\nvar GlobalValidationConfiguration = /** @class */ (function () {\r\n    function GlobalValidationConfiguration() {\r\n        this.validatorType = StandardValidator;\r\n        this.validationTrigger = GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Use a custom Validator implementation.\r\n     */\r\n    GlobalValidationConfiguration.prototype.customValidator = function (type) {\r\n        this.validatorType = type;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.defaultValidationTrigger = function (trigger) {\r\n        this.validationTrigger = trigger;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.getDefaultValidationTrigger = function () {\r\n        return this.validationTrigger;\r\n    };\r\n    /**\r\n     * Applies the configuration.\r\n     */\r\n    GlobalValidationConfiguration.prototype.apply = function (container) {\r\n        var validator = container.get(this.validatorType);\r\n        container.registerInstance(Validator, validator);\r\n        container.registerInstance(GlobalValidationConfiguration, this);\r\n    };\r\n    GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER = validateTrigger.blur;\r\n    return GlobalValidationConfiguration;\r\n}());\n\n/**\r\n * Gets the DOM element associated with the data-binding. Most of the time it's\r\n * the binding.target but sometimes binding.target is an aurelia custom element,\r\n * or custom attribute which is a javascript \"class\" instance, so we need to use\r\n * the controller's container to retrieve the actual DOM element.\r\n */\r\nfunction getTargetDOMElement(binding, view) {\r\n    var target = binding.target;\r\n    // DOM element\r\n    if (target instanceof Element) {\r\n        return target;\r\n    }\r\n    // custom element or custom attribute\r\n    // tslint:disable-next-line:prefer-const\r\n    for (var i = 0, ii = view.controllers.length; i < ii; i++) {\r\n        var controller = view.controllers[i];\r\n        if (controller.viewModel === target) {\r\n            var element = controller.container.get(DOM.Element);\r\n            if (element) {\r\n                return element;\r\n            }\r\n            throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n        }\r\n    }\r\n    throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n}\n\nfunction getObject(expression, objectExpression, source) {\r\n    var value = objectExpression.evaluate(source, null);\r\n    if (value === null || value === undefined || value instanceof Object) {\r\n        return value;\r\n    }\r\n    // tslint:disable-next-line:max-line-length\r\n    throw new Error(\"The '\" + objectExpression + \"' part of '\" + expression + \"' evaluates to \" + value + \" instead of an object, null or undefined.\");\r\n}\r\n/**\r\n * Retrieves the object and property name for the specified expression.\r\n * @param expression The expression\r\n * @param source The scope\r\n */\r\nfunction getPropertyInfo(expression, source) {\r\n    var originalExpression = expression;\r\n    while (expression instanceof BindingBehavior || expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n    }\r\n    var object;\r\n    var propertyName;\r\n    if (expression instanceof AccessScope) {\r\n        object = getContextFor(expression.name, source, expression.ancestor);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessMember) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessKeyed) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.key.evaluate(source);\r\n    }\r\n    else {\r\n        throw new Error(\"Expression '\" + originalExpression + \"' is not compatible with the validate binding-behavior.\");\r\n    }\r\n    if (object === null || object === undefined) {\r\n        return null;\r\n    }\r\n    return { object: object, propertyName: propertyName };\r\n}\n\nfunction isString(value) {\r\n    return Object.prototype.toString.call(value) === '[object String]';\r\n}\r\nfunction isNumber(value) {\r\n    return Object.prototype.toString.call(value) === '[object Number]';\r\n}\n\nvar PropertyAccessorParser = /** @class */ (function () {\r\n    function PropertyAccessorParser(parser) {\r\n        this.parser = parser;\r\n    }\r\n    PropertyAccessorParser.prototype.parse = function (property) {\r\n        if (isString(property) || isNumber(property)) {\r\n            return property;\r\n        }\r\n        var accessorText = getAccessorExpression(property.toString());\r\n        var accessor = this.parser.parse(accessorText);\r\n        if (accessor instanceof AccessScope\r\n            || accessor instanceof AccessMember && accessor.object instanceof AccessScope) {\r\n            return accessor.name;\r\n        }\r\n        throw new Error(\"Invalid property expression: \\\"\" + accessor + \"\\\"\");\r\n    };\r\n    PropertyAccessorParser.inject = [Parser];\r\n    return PropertyAccessorParser;\r\n}());\r\nfunction getAccessorExpression(fn) {\r\n    /* tslint:disable:max-line-length */\r\n    var classic = /^function\\s*\\([$_\\w\\d]+\\)\\s*\\{(?:\\s*\"use strict\";)?\\s*(?:[$_\\w\\d.['\"\\]+;]+)?\\s*return\\s+[$_\\w\\d]+\\.([$_\\w\\d]+)\\s*;?\\s*\\}$/;\r\n    /* tslint:enable:max-line-length */\r\n    var arrow = /^\\(?[$_\\w\\d]+\\)?\\s*=>\\s*[$_\\w\\d]+\\.([$_\\w\\d]+)$/;\r\n    var match = classic.exec(fn) || arrow.exec(fn);\r\n    if (match === null) {\r\n        throw new Error(\"Unable to parse accessor function:\\n\" + fn);\r\n    }\r\n    return match[1];\r\n}\n\nvar ValidateEvent = /** @class */ (function () {\r\n    function ValidateEvent(\r\n    /**\r\n     * The type of validate event. Either \"validate\" or \"reset\".\r\n     */\r\n    type, \r\n    /**\r\n     * The controller's current array of errors. For an array containing both\r\n     * failed rules and passed rules, use the \"results\" property.\r\n     */\r\n    errors, \r\n    /**\r\n     * The controller's current array of validate results. This\r\n     * includes both passed rules and failed rules. For an array of only failed rules,\r\n     * use the \"errors\" property.\r\n     */\r\n    results, \r\n    /**\r\n     * The instruction passed to the \"validate\" or \"reset\" event. Will be null when\r\n     * the controller's validate/reset method was called with no instruction argument.\r\n     */\r\n    instruction, \r\n    /**\r\n     * In events with type === \"validate\", this property will contain the result\r\n     * of validating the instruction (see \"instruction\" property). Use the controllerValidateResult\r\n     * to access the validate results specific to the call to \"validate\"\r\n     * (as opposed to using the \"results\" and \"errors\" properties to access the controller's entire\r\n     * set of results/errors).\r\n     */\r\n    controllerValidateResult) {\r\n        this.type = type;\r\n        this.errors = errors;\r\n        this.results = results;\r\n        this.instruction = instruction;\r\n        this.controllerValidateResult = controllerValidateResult;\r\n    }\r\n    return ValidateEvent;\r\n}());\n\n/**\r\n * Orchestrates validation.\r\n * Manages a set of bindings, renderers and objects.\r\n * Exposes the current list of validation results for binding purposes.\r\n */\r\nvar ValidationController = /** @class */ (function () {\r\n    function ValidationController(validator, propertyParser, config) {\r\n        this.validator = validator;\r\n        this.propertyParser = propertyParser;\r\n        // Registered bindings (via the validate binding behavior)\r\n        this.bindings = new Map();\r\n        // Renderers that have been added to the controller instance.\r\n        this.renderers = [];\r\n        /**\r\n         * Validation results that have been rendered by the controller.\r\n         */\r\n        this.results = [];\r\n        /**\r\n         * Validation errors that have been rendered by the controller.\r\n         */\r\n        this.errors = [];\r\n        /**\r\n         *  Whether the controller is currently validating.\r\n         */\r\n        this.validating = false;\r\n        // Elements related to validation results that have been rendered.\r\n        this.elements = new Map();\r\n        // Objects that have been added to the controller instance (entity-style validation).\r\n        this.objects = new Map();\r\n        // Promise that resolves when validation has completed.\r\n        this.finishValidating = Promise.resolve();\r\n        this.eventCallbacks = [];\r\n        this.validateTrigger = config instanceof GlobalValidationConfiguration\r\n            ? config.getDefaultValidationTrigger()\r\n            : GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Subscribe to controller validate and reset events. These events occur when the\r\n     * controller's \"validate\"\" and \"reset\" methods are called.\r\n     * @param callback The callback to be invoked when the controller validates or resets.\r\n     */\r\n    ValidationController.prototype.subscribe = function (callback) {\r\n        var _this = this;\r\n        this.eventCallbacks.push(callback);\r\n        return {\r\n            dispose: function () {\r\n                var index = _this.eventCallbacks.indexOf(callback);\r\n                if (index === -1) {\r\n                    return;\r\n                }\r\n                _this.eventCallbacks.splice(index, 1);\r\n            }\r\n        };\r\n    };\r\n    /**\r\n     * Adds an object to the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     * @param rules Optional. The rules. If rules aren't supplied the Validator implementation will lookup the rules.\r\n     */\r\n    ValidationController.prototype.addObject = function (object, rules) {\r\n        this.objects.set(object, rules);\r\n    };\r\n    /**\r\n     * Removes an object from the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     */\r\n    ValidationController.prototype.removeObject = function (object) {\r\n        this.objects.delete(object);\r\n        this.processResultDelta('reset', this.results.filter(function (result) { return result.object === object; }), []);\r\n    };\r\n    /**\r\n     * Adds and renders an error.\r\n     */\r\n    ValidationController.prototype.addError = function (message, object, propertyName) {\r\n        if (propertyName === void 0) { propertyName = null; }\r\n        var resolvedPropertyName;\r\n        if (propertyName === null) {\r\n            resolvedPropertyName = propertyName;\r\n        }\r\n        else {\r\n            resolvedPropertyName = this.propertyParser.parse(propertyName);\r\n        }\r\n        var result = new ValidateResult({ __manuallyAdded__: true }, object, resolvedPropertyName, false, message);\r\n        this.processResultDelta('validate', [], [result]);\r\n        return result;\r\n    };\r\n    /**\r\n     * Removes and unrenders an error.\r\n     */\r\n    ValidationController.prototype.removeError = function (result) {\r\n        if (this.results.indexOf(result) !== -1) {\r\n            this.processResultDelta('reset', [result], []);\r\n        }\r\n    };\r\n    /**\r\n     * Adds a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.addRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.push(renderer);\r\n        renderer.render({\r\n            kind: 'validate',\r\n            render: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); }),\r\n            unrender: []\r\n        });\r\n    };\r\n    /**\r\n     * Removes a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.removeRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.splice(this.renderers.indexOf(renderer), 1);\r\n        renderer.render({\r\n            kind: 'reset',\r\n            render: [],\r\n            unrender: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); })\r\n        });\r\n    };\r\n    /**\r\n     * Registers a binding with the controller.\r\n     * @param binding The binding instance.\r\n     * @param target The DOM element.\r\n     * @param rules (optional) rules associated with the binding. Validator implementation specific.\r\n     */\r\n    ValidationController.prototype.registerBinding = function (binding, target, rules) {\r\n        this.bindings.set(binding, { target: target, rules: rules, propertyInfo: null });\r\n    };\r\n    /**\r\n     * Unregisters a binding with the controller.\r\n     * @param binding The binding instance.\r\n     */\r\n    ValidationController.prototype.unregisterBinding = function (binding) {\r\n        this.resetBinding(binding);\r\n        this.bindings.delete(binding);\r\n    };\r\n    /**\r\n     * Interprets the instruction and returns a predicate that will identify\r\n     * relevant results in the list of rendered validation results.\r\n     */\r\n    ValidationController.prototype.getInstructionPredicate = function (instruction) {\r\n        var _this = this;\r\n        if (instruction) {\r\n            var object_1 = instruction.object, propertyName_1 = instruction.propertyName, rules_1 = instruction.rules;\r\n            var predicate_1;\r\n            if (instruction.propertyName) {\r\n                predicate_1 = function (x) { return x.object === object_1 && x.propertyName === propertyName_1; };\r\n            }\r\n            else {\r\n                predicate_1 = function (x) { return x.object === object_1; };\r\n            }\r\n            if (rules_1) {\r\n                return function (x) { return predicate_1(x) && _this.validator.ruleExists(rules_1, x.rule); };\r\n            }\r\n            return predicate_1;\r\n        }\r\n        else {\r\n            return function () { return true; };\r\n        }\r\n    };\r\n    /**\r\n     * Validates and renders results.\r\n     * @param instruction Optional. Instructions on what to validate. If undefined, all\r\n     * objects and bindings will be validated.\r\n     */\r\n    ValidationController.prototype.validate = function (instruction) {\r\n        var _this = this;\r\n        // Get a function that will process the validation instruction.\r\n        var execute;\r\n        if (instruction) {\r\n            // tslint:disable-next-line:prefer-const\r\n            var object_2 = instruction.object, propertyName_2 = instruction.propertyName, rules_2 = instruction.rules;\r\n            // if rules were not specified, check the object map.\r\n            rules_2 = rules_2 || this.objects.get(object_2);\r\n            // property specified?\r\n            if (instruction.propertyName === undefined) {\r\n                // validate the specified object.\r\n                execute = function () { return _this.validator.validateObject(object_2, rules_2); };\r\n            }\r\n            else {\r\n                // validate the specified property.\r\n                execute = function () { return _this.validator.validateProperty(object_2, propertyName_2, rules_2); };\r\n            }\r\n        }\r\n        else {\r\n            // validate all objects and bindings.\r\n            execute = function () {\r\n                var promises = [];\r\n                for (var _i = 0, _a = Array.from(_this.objects); _i < _a.length; _i++) {\r\n                    var _b = _a[_i], object = _b[0], rules = _b[1];\r\n                    promises.push(_this.validator.validateObject(object, rules));\r\n                }\r\n                for (var _c = 0, _d = Array.from(_this.bindings); _c < _d.length; _c++) {\r\n                    var _e = _d[_c], binding = _e[0], rules = _e[1].rules;\r\n                    var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n                    if (!propertyInfo || _this.objects.has(propertyInfo.object)) {\r\n                        continue;\r\n                    }\r\n                    promises.push(_this.validator.validateProperty(propertyInfo.object, propertyInfo.propertyName, rules));\r\n                }\r\n                return Promise.all(promises).then(function (resultSets) { return resultSets.reduce(function (a, b) { return a.concat(b); }, []); });\r\n            };\r\n        }\r\n        // Wait for any existing validation to finish, execute the instruction, render the results.\r\n        this.validating = true;\r\n        var returnPromise = this.finishValidating\r\n            .then(execute)\r\n            .then(function (newResults) {\r\n            var predicate = _this.getInstructionPredicate(instruction);\r\n            var oldResults = _this.results.filter(predicate);\r\n            _this.processResultDelta('validate', oldResults, newResults);\r\n            if (returnPromise === _this.finishValidating) {\r\n                _this.validating = false;\r\n            }\r\n            var result = {\r\n                instruction: instruction,\r\n                valid: newResults.find(function (x) { return !x.valid; }) === undefined,\r\n                results: newResults\r\n            };\r\n            _this.invokeCallbacks(instruction, result);\r\n            return result;\r\n        })\r\n            .catch(function (exception) {\r\n            // recover, to enable subsequent calls to validate()\r\n            _this.validating = false;\r\n            _this.finishValidating = Promise.resolve();\r\n            return Promise.reject(exception);\r\n        });\r\n        this.finishValidating = returnPromise;\r\n        return returnPromise;\r\n    };\r\n    /**\r\n     * Resets any rendered validation results (unrenders).\r\n     * @param instruction Optional. Instructions on what to reset. If unspecified all rendered results\r\n     * will be unrendered.\r\n     */\r\n    ValidationController.prototype.reset = function (instruction) {\r\n        var predicate = this.getInstructionPredicate(instruction);\r\n        var oldResults = this.results.filter(predicate);\r\n        this.processResultDelta('reset', oldResults, []);\r\n        this.invokeCallbacks(instruction, null);\r\n    };\r\n    /**\r\n     * Gets the elements associated with an object and propertyName (if any).\r\n     */\r\n    ValidationController.prototype.getAssociatedElements = function (_a) {\r\n        var object = _a.object, propertyName = _a.propertyName;\r\n        var elements = [];\r\n        for (var _i = 0, _b = Array.from(this.bindings); _i < _b.length; _i++) {\r\n            var _c = _b[_i], binding = _c[0], target = _c[1].target;\r\n            var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n            if (propertyInfo && propertyInfo.object === object && propertyInfo.propertyName === propertyName) {\r\n                elements.push(target);\r\n            }\r\n        }\r\n        return elements;\r\n    };\r\n    ValidationController.prototype.processResultDelta = function (kind, oldResults, newResults) {\r\n        // prepare the instruction.\r\n        var instruction = {\r\n            kind: kind,\r\n            render: [],\r\n            unrender: []\r\n        };\r\n        // create a shallow copy of newResults so we can mutate it without causing side-effects.\r\n        newResults = newResults.slice(0);\r\n        var _loop_1 = function (oldResult) {\r\n            // get the elements associated with the old result.\r\n            var elements = this_1.elements.get(oldResult);\r\n            // remove the old result from the element map.\r\n            this_1.elements.delete(oldResult);\r\n            // create the unrender instruction.\r\n            instruction.unrender.push({ result: oldResult, elements: elements });\r\n            // determine if there's a corresponding new result for the old result we are unrendering.\r\n            var newResultIndex = newResults.findIndex(function (x) { return x.rule === oldResult.rule && x.object === oldResult.object && x.propertyName === oldResult.propertyName; });\r\n            if (newResultIndex === -1) {\r\n                // no corresponding new result... simple remove.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1);\r\n                if (!oldResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n            }\r\n            else {\r\n                // there is a corresponding new result...\r\n                var newResult = newResults.splice(newResultIndex, 1)[0];\r\n                // get the elements that are associated with the new result.\r\n                var elements_1 = this_1.getAssociatedElements(newResult);\r\n                this_1.elements.set(newResult, elements_1);\r\n                // create a render instruction for the new result.\r\n                instruction.render.push({ result: newResult, elements: elements_1 });\r\n                // do an in-place replacement of the old result with the new result.\r\n                // this ensures any repeats bound to this.results will not thrash.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1, newResult);\r\n                if (!oldResult.valid && newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n                else if (!oldResult.valid && !newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1, newResult);\r\n                }\r\n                else if (!newResult.valid) {\r\n                    this_1.errors.push(newResult);\r\n                }\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        // create unrender instructions from the old results.\r\n        for (var _i = 0, oldResults_1 = oldResults; _i < oldResults_1.length; _i++) {\r\n            var oldResult = oldResults_1[_i];\r\n            _loop_1(oldResult);\r\n        }\r\n        // create render instructions from the remaining new results.\r\n        for (var _a = 0, newResults_1 = newResults; _a < newResults_1.length; _a++) {\r\n            var result = newResults_1[_a];\r\n            var elements = this.getAssociatedElements(result);\r\n            instruction.render.push({ result: result, elements: elements });\r\n            this.elements.set(result, elements);\r\n            this.results.push(result);\r\n            if (!result.valid) {\r\n                this.errors.push(result);\r\n            }\r\n        }\r\n        // render.\r\n        for (var _b = 0, _c = this.renderers; _b < _c.length; _b++) {\r\n            var renderer = _c[_b];\r\n            renderer.render(instruction);\r\n        }\r\n    };\r\n    /**\r\n     * Validates the property associated with a binding.\r\n     */\r\n    ValidationController.prototype.validateBinding = function (binding) {\r\n        if (!binding.isBound) {\r\n            return;\r\n        }\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        var rules;\r\n        var registeredBinding = this.bindings.get(binding);\r\n        if (registeredBinding) {\r\n            rules = registeredBinding.rules;\r\n            registeredBinding.propertyInfo = propertyInfo;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n    };\r\n    /**\r\n     * Resets the results for a property associated with a binding.\r\n     */\r\n    ValidationController.prototype.resetBinding = function (binding) {\r\n        var registeredBinding = this.bindings.get(binding);\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        if (!propertyInfo && registeredBinding) {\r\n            propertyInfo = registeredBinding.propertyInfo;\r\n        }\r\n        if (registeredBinding) {\r\n            registeredBinding.propertyInfo = null;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.reset({ object: object, propertyName: propertyName });\r\n    };\r\n    /**\r\n     * Changes the controller's validateTrigger.\r\n     * @param newTrigger The new validateTrigger\r\n     */\r\n    ValidationController.prototype.changeTrigger = function (newTrigger) {\r\n        this.validateTrigger = newTrigger;\r\n        var bindings = Array.from(this.bindings.keys());\r\n        for (var _i = 0, bindings_1 = bindings; _i < bindings_1.length; _i++) {\r\n            var binding = bindings_1[_i];\r\n            var source = binding.source;\r\n            binding.unbind();\r\n            binding.bind(source);\r\n        }\r\n    };\r\n    /**\r\n     * Revalidates the controller's current set of errors.\r\n     */\r\n    ValidationController.prototype.revalidateErrors = function () {\r\n        for (var _i = 0, _a = this.errors; _i < _a.length; _i++) {\r\n            var _b = _a[_i], object = _b.object, propertyName = _b.propertyName, rule = _b.rule;\r\n            if (rule.__manuallyAdded__) {\r\n                continue;\r\n            }\r\n            var rules = [[rule]];\r\n            this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n        }\r\n    };\r\n    ValidationController.prototype.invokeCallbacks = function (instruction, result) {\r\n        if (this.eventCallbacks.length === 0) {\r\n            return;\r\n        }\r\n        var event = new ValidateEvent(result ? 'validate' : 'reset', this.errors, this.results, instruction || null, result);\r\n        for (var i = 0; i < this.eventCallbacks.length; i++) {\r\n            this.eventCallbacks[i](event);\r\n        }\r\n    };\r\n    ValidationController.inject = [Validator, PropertyAccessorParser, GlobalValidationConfiguration];\r\n    return ValidationController;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated.\r\n */\r\nvar ValidateBindingBehaviorBase = /** @class */ (function () {\r\n    function ValidateBindingBehaviorBase(taskQueue) {\r\n        this.taskQueue = taskQueue;\r\n    }\r\n    ValidateBindingBehaviorBase.prototype.bind = function (binding, source, rulesOrController, rules) {\r\n        var _this = this;\r\n        // identify the target element.\r\n        var target = getTargetDOMElement(binding, source);\r\n        // locate the controller.\r\n        var controller;\r\n        if (rulesOrController instanceof ValidationController) {\r\n            controller = rulesOrController;\r\n        }\r\n        else {\r\n            controller = source.container.get(Optional.of(ValidationController));\r\n            rules = rulesOrController;\r\n        }\r\n        if (controller === null) {\r\n            throw new Error(\"A ValidationController has not been registered.\");\r\n        }\r\n        controller.registerBinding(binding, target, rules);\r\n        binding.validationController = controller;\r\n        var trigger = this.getValidateTrigger(controller);\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.change) {\r\n            binding.vbbUpdateSource = binding.updateSource;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateSource = function (value) {\r\n                this.vbbUpdateSource(value);\r\n                this.validationController.validateBinding(this);\r\n            };\r\n        }\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.blur) {\r\n            binding.validateBlurHandler = function () {\r\n                _this.taskQueue.queueMicroTask(function () { return controller.validateBinding(binding); });\r\n            };\r\n            binding.validateTarget = target;\r\n            target.addEventListener('blur', binding.validateBlurHandler);\r\n        }\r\n        if (trigger !== validateTrigger.manual) {\r\n            binding.standardUpdateTarget = binding.updateTarget;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateTarget = function (value) {\r\n                this.standardUpdateTarget(value);\r\n                this.validationController.resetBinding(this);\r\n            };\r\n        }\r\n    };\r\n    ValidateBindingBehaviorBase.prototype.unbind = function (binding) {\r\n        // reset the binding to it's original state.\r\n        if (binding.vbbUpdateSource) {\r\n            binding.updateSource = binding.vbbUpdateSource;\r\n            binding.vbbUpdateSource = null;\r\n        }\r\n        if (binding.standardUpdateTarget) {\r\n            binding.updateTarget = binding.standardUpdateTarget;\r\n            binding.standardUpdateTarget = null;\r\n        }\r\n        if (binding.validateBlurHandler) {\r\n            binding.validateTarget.removeEventListener('blur', binding.validateBlurHandler);\r\n            binding.validateBlurHandler = null;\r\n            binding.validateTarget = null;\r\n        }\r\n        binding.validationController.unregisterBinding(binding);\r\n        binding.validationController = null;\r\n    };\r\n    return ValidateBindingBehaviorBase;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the validate trigger specified by the associated controller's\r\n * validateTrigger property occurs.\r\n */\r\nvar ValidateBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateBindingBehavior, _super);\r\n    function ValidateBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateBindingBehavior.prototype.getValidateTrigger = function (controller) {\r\n        return controller.validateTrigger;\r\n    };\r\n    ValidateBindingBehavior.inject = [TaskQueue];\r\n    ValidateBindingBehavior = __decorate([\r\n        bindingBehavior('validate')\r\n    ], ValidateBindingBehavior);\r\n    return ValidateBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property will be validated\r\n * manually, by calling controller.validate(). No automatic validation\r\n * triggered by data-entry or blur will occur.\r\n */\r\nvar ValidateManuallyBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateManuallyBindingBehavior, _super);\r\n    function ValidateManuallyBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateManuallyBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.manual;\r\n    };\r\n    ValidateManuallyBindingBehavior.inject = [TaskQueue];\r\n    ValidateManuallyBindingBehavior = __decorate([\r\n        bindingBehavior('validateManually')\r\n    ], ValidateManuallyBindingBehavior);\r\n    return ValidateManuallyBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs.\r\n */\r\nvar ValidateOnBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnBlurBindingBehavior, _super);\r\n    function ValidateOnBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.blur;\r\n    };\r\n    ValidateOnBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnBlur')\r\n    ], ValidateOnBlurBindingBehavior);\r\n    return ValidateOnBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element is changed by the user, causing a change\r\n * to the model.\r\n */\r\nvar ValidateOnChangeBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeBindingBehavior, _super);\r\n    function ValidateOnChangeBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.change;\r\n    };\r\n    ValidateOnChangeBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChange')\r\n    ], ValidateOnChangeBindingBehavior);\r\n    return ValidateOnChangeBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs or is changed by the user, causing\r\n * a change to the model.\r\n */\r\nvar ValidateOnChangeOrBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeOrBlurBindingBehavior, _super);\r\n    function ValidateOnChangeOrBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeOrBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.changeOrBlur;\r\n    };\r\n    ValidateOnChangeOrBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeOrBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChangeOrBlur')\r\n    ], ValidateOnChangeOrBlurBindingBehavior);\r\n    return ValidateOnChangeOrBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\n\n/**\r\n * Creates ValidationController instances.\r\n */\r\nvar ValidationControllerFactory = /** @class */ (function () {\r\n    function ValidationControllerFactory(container) {\r\n        this.container = container;\r\n    }\r\n    ValidationControllerFactory.get = function (container) {\r\n        return new ValidationControllerFactory(container);\r\n    };\r\n    /**\r\n     * Creates a new controller instance.\r\n     */\r\n    ValidationControllerFactory.prototype.create = function (validator) {\r\n        if (!validator) {\r\n            validator = this.container.get(Validator);\r\n        }\r\n        var propertyParser = this.container.get(PropertyAccessorParser);\r\n        var config = this.container.get(GlobalValidationConfiguration);\r\n        return new ValidationController(validator, propertyParser, config);\r\n    };\r\n    /**\r\n     * Creates a new controller and registers it in the current element's container so that it's\r\n     * available to the validate binding behavior and renderers.\r\n     */\r\n    ValidationControllerFactory.prototype.createForCurrentScope = function (validator) {\r\n        var controller = this.create(validator);\r\n        this.container.registerInstance(ValidationController, controller);\r\n        return controller;\r\n    };\r\n    return ValidationControllerFactory;\r\n}());\r\nValidationControllerFactory['protocol:aurelia:resolver'] = true;\n\nvar ValidationErrorsCustomAttribute = /** @class */ (function () {\r\n    function ValidationErrorsCustomAttribute(boundaryElement, controllerAccessor) {\r\n        this.boundaryElement = boundaryElement;\r\n        this.controllerAccessor = controllerAccessor;\r\n        this.controller = null;\r\n        this.errors = [];\r\n        this.errorsInternal = [];\r\n    }\r\n    ValidationErrorsCustomAttribute.inject = function () {\r\n        return [DOM.Element, Lazy.of(ValidationController)];\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.sort = function () {\r\n        this.errorsInternal.sort(function (a, b) {\r\n            if (a.targets[0] === b.targets[0]) {\r\n                return 0;\r\n            }\r\n            // tslint:disable-next-line:no-bitwise\r\n            return a.targets[0].compareDocumentPosition(b.targets[0]) & 2 ? 1 : -1;\r\n        });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.interestingElements = function (elements) {\r\n        var _this = this;\r\n        return elements.filter(function (e) { return _this.boundaryElement.contains(e); });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.render = function (instruction) {\r\n        var _loop_1 = function (result) {\r\n            var index = this_1.errorsInternal.findIndex(function (x) { return x.error === result; });\r\n            if (index !== -1) {\r\n                this_1.errorsInternal.splice(index, 1);\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        for (var _i = 0, _a = instruction.unrender; _i < _a.length; _i++) {\r\n            var result = _a[_i].result;\r\n            _loop_1(result);\r\n        }\r\n        for (var _b = 0, _c = instruction.render; _b < _c.length; _b++) {\r\n            var _d = _c[_b], result = _d.result, elements = _d.elements;\r\n            if (result.valid) {\r\n                continue;\r\n            }\r\n            var targets = this.interestingElements(elements);\r\n            if (targets.length) {\r\n                this.errorsInternal.push({ error: result, targets: targets });\r\n            }\r\n        }\r\n        this.sort();\r\n        this.errors = this.errorsInternal;\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.bind = function () {\r\n        if (!this.controller) {\r\n            this.controller = this.controllerAccessor();\r\n        }\r\n        // this will call render() with the side-effect of updating this.errors\r\n        this.controller.addRenderer(this);\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.unbind = function () {\r\n        if (this.controller) {\r\n            this.controller.removeRenderer(this);\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ defaultBindingMode: bindingMode.oneWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"controller\", void 0);\r\n    __decorate([\r\n        bindable({ primaryProperty: true, defaultBindingMode: bindingMode.twoWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"errors\", void 0);\r\n    ValidationErrorsCustomAttribute = __decorate([\r\n        customAttribute('validation-errors')\r\n    ], ValidationErrorsCustomAttribute);\r\n    return ValidationErrorsCustomAttribute;\r\n}());\n\nvar ValidationRendererCustomAttribute = /** @class */ (function () {\r\n    function ValidationRendererCustomAttribute() {\r\n    }\r\n    ValidationRendererCustomAttribute.prototype.created = function (view) {\r\n        this.container = view.container;\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.bind = function () {\r\n        this.controller = this.container.get(ValidationController);\r\n        this.renderer = this.container.get(this.value);\r\n        this.controller.addRenderer(this.renderer);\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.unbind = function () {\r\n        this.controller.removeRenderer(this.renderer);\r\n        this.controller = null;\r\n        this.renderer = null;\r\n    };\r\n    ValidationRendererCustomAttribute = __decorate([\r\n        customAttribute('validation-renderer')\r\n    ], ValidationRendererCustomAttribute);\r\n    return ValidationRendererCustomAttribute;\r\n}());\n\n/**\r\n * Part of the fluent rule API. Enables customizing property rules.\r\n */\r\nvar FluentRuleCustomizer = /** @class */ (function () {\r\n    function FluentRuleCustomizer(property, condition, config, fluentEnsure, fluentRules, parsers) {\r\n        if (config === void 0) { config = {}; }\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.fluentRules = fluentRules;\r\n        this.parsers = parsers;\r\n        this.rule = {\r\n            property: property,\r\n            condition: condition,\r\n            config: config,\r\n            when: null,\r\n            messageKey: 'default',\r\n            message: null,\r\n            sequence: fluentRules.sequence\r\n        };\r\n        this.fluentEnsure._addRule(this.rule);\r\n    }\r\n    /**\r\n     * Validate subsequent rules after previously declared rules have\r\n     * been validated successfully. Use to postpone validation of costly\r\n     * rules until less expensive rules pass validation.\r\n     */\r\n    FluentRuleCustomizer.prototype.then = function () {\r\n        this.fluentRules.sequence++;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies the key to use when looking up the rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessageKey = function (key) {\r\n        this.rule.messageKey = key;\r\n        this.rule.message = null;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessage = function (message) {\r\n        this.rule.messageKey = 'custom';\r\n        this.rule.message = this.parsers.message.parse(message);\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies a condition that must be met before attempting to validate the rule.\r\n     * @param condition A function that accepts the object as a parameter and returns true\r\n     * or false whether the rule should be evaluated.\r\n     */\r\n    FluentRuleCustomizer.prototype.when = function (condition) {\r\n        this.rule.when = condition;\r\n        return this;\r\n    };\r\n    /**\r\n     * Tags the rule instance, enabling the rule to be found easily\r\n     * using ValidationRules.taggedRules(rules, tag)\r\n     */\r\n    FluentRuleCustomizer.prototype.tag = function (tag) {\r\n        this.rule.tag = tag;\r\n        return this;\r\n    };\r\n    ///// FluentEnsure APIs /////\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensure = function (subject) {\r\n        return this.fluentEnsure.ensure(subject);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensureObject = function () {\r\n        return this.fluentEnsure.ensureObject();\r\n    };\r\n    Object.defineProperty(FluentRuleCustomizer.prototype, \"rules\", {\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        get: function () {\r\n            return this.fluentEnsure.rules;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentRuleCustomizer.prototype.on = function (target) {\r\n        return this.fluentEnsure.on(target);\r\n    };\r\n    ///////// FluentRules APIs /////////\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfies = function (condition, config) {\r\n        return this.fluentRules.satisfies(condition, config);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfiesRule = function (name) {\r\n        var _a;\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        return (_a = this.fluentRules).satisfiesRule.apply(_a, __spreadArrays([name], args));\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRuleCustomizer.prototype.required = function () {\r\n        return this.fluentRules.required();\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.matches = function (regex) {\r\n        return this.fluentRules.matches(regex);\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.email = function () {\r\n        return this.fluentRules.email();\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minLength = function (length) {\r\n        return this.fluentRules.minLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxLength = function (length) {\r\n        return this.fluentRules.maxLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minItems = function (count) {\r\n        return this.fluentRules.minItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxItems = function (count) {\r\n        return this.fluentRules.maxItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.min = function (value) {\r\n        return this.fluentRules.min(value);\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.max = function (value) {\r\n        return this.fluentRules.max(value);\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.range = function (min, max) {\r\n        return this.fluentRules.range(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.between = function (min, max) {\r\n        return this.fluentRules.between(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.equals = function (expectedValue) {\r\n        return this.fluentRules.equals(expectedValue);\r\n    };\r\n    return FluentRuleCustomizer;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables applying rules to properties and objects.\r\n */\r\nvar FluentRules = /** @class */ (function () {\r\n    function FluentRules(fluentEnsure, parsers, property) {\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.parsers = parsers;\r\n        this.property = property;\r\n        /**\r\n         * Current rule sequence number. Used to postpone evaluation of rules until rules\r\n         * with lower sequence number have successfully validated. The \"then\" fluent API method\r\n         * manages this property, there's usually no need to set it directly.\r\n         */\r\n        this.sequence = 0;\r\n    }\r\n    /**\r\n     * Sets the display name of the ensured property.\r\n     */\r\n    FluentRules.prototype.displayName = function (name) {\r\n        this.property.displayName = name;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRules.prototype.satisfies = function (condition, config) {\r\n        return new FluentRuleCustomizer(this.property, condition, config, this.fluentEnsure, this, this.parsers);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRules.prototype.satisfiesRule = function (name) {\r\n        var _this = this;\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        var rule = FluentRules.customRules[name];\r\n        if (!rule) {\r\n            // standard rule?\r\n            rule = this[name];\r\n            if (rule instanceof Function) {\r\n                return rule.call.apply(rule, __spreadArrays([this], args));\r\n            }\r\n            throw new Error(\"Rule with name \\\"\" + name + \"\\\" does not exist.\");\r\n        }\r\n        var config = rule.argsToConfig ? rule.argsToConfig.apply(rule, args) : undefined;\r\n        return this.satisfies(function (value, obj) {\r\n            var _a;\r\n            return (_a = rule.condition).call.apply(_a, __spreadArrays([_this, value, obj], args));\r\n        }, config)\r\n            .withMessageKey(name);\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRules.prototype.required = function () {\r\n        return this.satisfies(function (value) {\r\n            return value !== null\r\n                && value !== undefined\r\n                && !(isString(value) && !/\\S/.test(value));\r\n        }).withMessageKey('required');\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.matches = function (regex) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || regex.test(value); })\r\n            .withMessageKey('matches');\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.email = function () {\r\n        // regex from https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\r\n        /* tslint:disable:max-line-length */\r\n        return this.matches(/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/)\r\n            /* tslint:enable:max-line-length */\r\n            .withMessageKey('email');\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.minLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length >= length; }, { length: length })\r\n            .withMessageKey('minLength');\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length <= length; }, { length: length })\r\n            .withMessageKey('maxLength');\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.minItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length >= count; }, { count: count })\r\n            .withMessageKey('minItems');\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length <= count; }, { count: count })\r\n            .withMessageKey('maxItems');\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.min = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value >= constraint; }, { constraint: constraint })\r\n            .withMessageKey('min');\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.max = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value <= constraint; }, { constraint: constraint })\r\n            .withMessageKey('max');\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.range = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value >= min && value <= max); }, { min: min, max: max })\r\n            .withMessageKey('range');\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.between = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value > min && value < max); }, { min: min, max: max })\r\n            .withMessageKey('between');\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.equals = function (expectedValue) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value === '' || value === expectedValue; }, { expectedValue: expectedValue })\r\n            .withMessageKey('equals');\r\n    };\r\n    FluentRules.customRules = {};\r\n    return FluentRules;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables targeting properties and objects with rules.\r\n */\r\nvar FluentEnsure = /** @class */ (function () {\r\n    function FluentEnsure(parsers) {\r\n        this.parsers = parsers;\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        this.rules = [];\r\n    }\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor\r\n     * function.\r\n     */\r\n    FluentEnsure.prototype.ensure = function (property) {\r\n        this.assertInitialized();\r\n        var name = this.parsers.property.parse(property);\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: name, displayName: null });\r\n        return this.mergeRules(fluentRules, name);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentEnsure.prototype.ensureObject = function () {\r\n        this.assertInitialized();\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: null, displayName: null });\r\n        return this.mergeRules(fluentRules, null);\r\n    };\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentEnsure.prototype.on = function (target) {\r\n        Rules.set(target, this.rules);\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a rule definition to the sequenced ruleset.\r\n     * @internal\r\n     */\r\n    FluentEnsure.prototype._addRule = function (rule) {\r\n        while (this.rules.length < rule.sequence + 1) {\r\n            this.rules.push([]);\r\n        }\r\n        this.rules[rule.sequence].push(rule);\r\n    };\r\n    FluentEnsure.prototype.assertInitialized = function () {\r\n        if (this.parsers) {\r\n            return;\r\n        }\r\n        throw new Error(\"Did you forget to add \\\".plugin('aurelia-validation')\\\" to your main.js?\");\r\n    };\r\n    FluentEnsure.prototype.mergeRules = function (fluentRules, propertyName) {\r\n        // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n        var existingRules = this.rules.find(function (r) { return r.length > 0 && r[0].property.name == propertyName; });\r\n        if (existingRules) {\r\n            var rule = existingRules[existingRules.length - 1];\r\n            fluentRules.sequence = rule.sequence;\r\n            if (rule.property.displayName !== null) {\r\n                fluentRules = fluentRules.displayName(rule.property.displayName);\r\n            }\r\n        }\r\n        return fluentRules;\r\n    };\r\n    return FluentEnsure;\r\n}());\r\n/**\r\n * Fluent rule definition API.\r\n */\r\nvar ValidationRules = /** @class */ (function () {\r\n    function ValidationRules() {\r\n    }\r\n    ValidationRules.initialize = function (messageParser, propertyParser) {\r\n        this.parsers = {\r\n            message: messageParser,\r\n            property: propertyParser\r\n        };\r\n    };\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    ValidationRules.ensure = function (property) {\r\n        return new FluentEnsure(ValidationRules.parsers).ensure(property);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    ValidationRules.ensureObject = function () {\r\n        return new FluentEnsure(ValidationRules.parsers).ensureObject();\r\n    };\r\n    /**\r\n     * Defines a custom rule.\r\n     * @param name The name of the custom rule. Also serves as the message key.\r\n     * @param condition The rule function.\r\n     * @param message The message expression\r\n     * @param argsToConfig A function that maps the rule's arguments to a \"config\"\r\n     * object that can be used when evaluating the message expression.\r\n     */\r\n    ValidationRules.customRule = function (name, condition, message, argsToConfig) {\r\n        validationMessages[name] = message;\r\n        FluentRules.customRules[name] = { condition: condition, argsToConfig: argsToConfig };\r\n    };\r\n    /**\r\n     * Returns rules with the matching tag.\r\n     * @param rules The rules to search.\r\n     * @param tag The tag to search for.\r\n     */\r\n    ValidationRules.taggedRules = function (rules, tag) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === tag; }); });\r\n    };\r\n    /**\r\n     * Returns rules that have no tag.\r\n     * @param rules The rules to search.\r\n     */\r\n    ValidationRules.untaggedRules = function (rules) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === undefined; }); });\r\n    };\r\n    /**\r\n     * Removes the rules from a class or object.\r\n     * @param target A class or object.\r\n     */\r\n    ValidationRules.off = function (target) {\r\n        Rules.unset(target);\r\n    };\r\n    return ValidationRules;\r\n}());\n\n// Exports\r\n/**\r\n * Configures the plugin.\r\n */\r\nfunction configure(\r\n// tslint:disable-next-line:ban-types\r\nframeworkConfig, callback) {\r\n    // the fluent rule definition API needs the parser to translate messages\r\n    // to interpolation expressions.\r\n    var messageParser = frameworkConfig.container.get(ValidationMessageParser);\r\n    var propertyParser = frameworkConfig.container.get(PropertyAccessorParser);\r\n    ValidationRules.initialize(messageParser, propertyParser);\r\n    // configure...\r\n    var config = new GlobalValidationConfiguration();\r\n    if (callback instanceof Function) {\r\n        callback(config);\r\n    }\r\n    config.apply(frameworkConfig.container);\r\n    // globalize the behaviors.\r\n    if (frameworkConfig.globalResources) {\r\n        frameworkConfig.globalResources(ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute);\r\n    }\r\n}\n\nexport { configure, GlobalValidationConfiguration, getTargetDOMElement, getPropertyInfo, PropertyAccessorParser, getAccessorExpression, ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidateEvent, ValidateResult, validateTrigger, ValidationController, ValidationControllerFactory, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute, Validator, Rules, StandardValidator, validationMessages, ValidationMessageProvider, ValidationMessageParser, MessageExpressionValidator, FluentRuleCustomizer, FluentRules, FluentEnsure, ValidationRules };\n","import { Api } from \"../services/api\";\nimport { inject } from \"aurelia-framework\";\n\n\n@inject(Api)\nexport class Advices {\n  constructor(api) {\n    this.api = api;\n    this.startUpdateInterval = false;\n    this.updateIntervalDuration = 30 * 60 * 1000;\n    this.targetRoutes = [\n      {\n        code: 'DASHBOARD',\n        href: 'dashboard',\n        text: \"Dashboard\",\n      },\n      {\n        code: 'CASHBACK',\n        href: \"cashback/contracts\",\n        text: 'Sezione contratti cashback'\n      },\n      {\n        code: 'FLAT-SERVICE-SUBSCRIPTIONS',\n        href: 'servizi/abbonamenti',\n        text: 'Sezione attivazione servizi'\n      },\n      {\n        code: 'QUEUE-REPORTS',\n        href: 'spedizioni/reportistica',\n        text: 'Sezione spedizioni reportistica'\n      },\n      {\n        code : \"SUBUSERS-PROFILES\",\n        href : \"anagrafiche/utenti\",\n        text : \"Sezione anagrafiche utenti\"\n      }\n    ]\n  }\n\n  get activeAdvices() {\n    return JSON.parse(localStorage.getItem('wall-advices')) || [];\n  }\n\n  set activeAdvices(value) {\n    return localStorage.setItem('wall-advices', JSON.stringify(value));\n  }\n\n  async initialize() {\n    if (this.updateInterval) return;\n    this.updateInterval = setInterval(() => {\n      this.updateAdvices();\n    }, this.updateIntervalDuration);\n    return await this.updateAdvices();\n  }\n\n  async updateAdvices() {\n    return await this.api.get(\"users/me/wall-advices\").then((xhr) => {\n      const newAdvices = [];\n      xhr.response.forEach(advice => {\n        if (!this.activeAdvices.some(x => x.id === advice.id)) {\n          advice.hasBeenSeen = false;\n          newAdvices.push(advice);\n        };\n      })\n      return this.activeAdvices = [...this.activeAdvices, ...newAdvices];\n    }).catch((error) => {\n      console.error(\"Error updating user advices list\", error);\n    })\n  }\n  \n  get(fragment) {\n    const route = this.targetRoutes.find(route => route.href === fragment);\n    if (!route) return;\n    const targetAdvices = this.activeAdvices.filter(advice => advice.targetCodes.includes(route.code) && !advice.hasBeenSeen);\n    return targetAdvices.length ? targetAdvices : null;\n  }\n\n  remove(advice) {\n    this.activeAdvices = this.activeAdvices.filter(x => x.id !== advice.id);\n  }\n  setAsSeen(advice) {\n    this.activeAdvices = this.activeAdvices.map(x => {\n      if (x.id === advice.id) x.hasBeenSeen = true;\n      return x;\n    });\n  }\n}","import moment from 'moment';\n\nexport async function checkAgreements(scope, fragment) {\n  const storagePrefix = `u${scope.data.id}-eula`;\n  const currentTimestamp = moment().utc();\n  const expiryTimestamp = localStorage.getItem(`${storagePrefix}-exp`);\n\n  /* if (ENVIRONMENT.APP_DEBUG === 'true') return checkResult(true, '/dashboard'); */ // skip the agreements screen during development\n  if (expiryTimestamp && expiryTimestamp > currentTimestamp.format()) return checkResult(true);\n  if (['/impostazioni/agreements'].includes(fragment)) return checkResult(false);\n  const response = await scope.rest.get('users/me/user-agreements/current');\n  console.log(JSON.stringify(response));\n  if (response.status === 401) return checkResult(true);\n  if (response.status >= 404 && response.status <= 410) {\n    localStorage.setItem(`${storagePrefix}-exp`, currentTimestamp.add(24, 'hours').format());\n    return checkResult(true);\n  }\n  if (response.status === 200) {\n    await new Promise((resolve) => {\n      scope.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'alert',\n        body: 'È necessario accettare i termini e le clausole di utilizzo obbligatorie'\n      }).whenClosed(() => {\n        resolve();\n      });\n    });\n    localStorage.removeItem(`${storagePrefix}-href`);\n    if (!['/', '/login', '/logout'].includes(location.pathname)) {\n      localStorage.setItem(`${storagePrefix}-href`, sanitizeUrl(location.href));\n    }\n    return checkResult(false, '/impostazioni/agreements');\n  }\n  console.warn('[checkAgreements] Unhandled response status code!');\n  return checkResult(false);\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n\nexport function sanitizeUrl(url) {\n  url = new URL(url);\n  const params = new URLSearchParams(url.search);\n  params.delete('st'); // Eventually remove service token passed from legacy frontend\n  url.search = params.toString();\n  return url.href;\n}\n","export async function checkPlatformMessages(scope, fragment) {\n  const platformMessages = await scope.rest.get(`users/me/user-platform-messages`);\n  platformMessages?.data?.data?.forEach?.((platformMessage, index) => {\n    const content = {\n      uuid: platformMessage.id,\n      ...platformMessage.attributes\n    };\n    setTimeout(() => {\n      toastPlatformMessage(scope, content);\n    }, 0);\n  });\n  return checkResult(true);\n}\n\nexport function toastPlatformMessage(scope, platformMessage) {\n  const styleMessageText = '';\n  const styleMessageLink = 'display: block; color: #ffa150; text-decoration-color: rgba(#ffa150, .5)';\n  const message = `<p><span style=\"${styleMessageText}\">${platformMessage?.text}</span><a data-action=\"closure\" href=\"${platformMessage?.link}\" style=\"${styleMessageLink}\">${platformMessage?.linkText}</a></p>`;\n  return scope.mdToast.init({\n    message,\n    hold: true,\n    uuid: platformMessage.uuid,\n    elementClass: 'platform-messages',  \n    icon: '<i style=\"color: #FFAA00; animation: pulse .4s linear infinite\" class=\"far fa-alarm-exclamation\"></i>'\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkSettingsLinkedSoftware(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/advanced-preferences');\n  if (response.status !== 200) return checkResult();\n  if (!!response.data?.data?.attributes?.multifatture?.accountingClientSoftwareUuid) {\n    return checkResult(true);\n  } \n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/impostazioni');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare il software gestionale utilizzato per la gestione della contabilità'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserBillingProfile(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/billing-profiles');\n  if (response.status !== 200) return checkResult();\n  if (response.data?.data?.length) return checkResult(true);\n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/fatturazione');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare un profilo di fatturazione'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfileData(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(false, fragment);\n  const profile = scope.data.profile;\n  const missingProperties = [];\n  const requiredProperties = ['businessType', 'companyLegalFormCode', 'countryCode'];\n  if (profile.location?.countryCode === 'IT') {\n    requiredProperties.push('admLvl1', 'admLvl2', 'admLvl3', 'streetAddress', 'zipCode');\n  }\n  requiredProperties.forEach((property) => {\n    const profileProperty = profile[property] || profile.location?.[property];\n    if (!(profileProperty || '').trim().length) missingProperties.push(property);\n  });\n  if (missingProperties.length) {\n    await dialogMissingProperties(scope, missingProperties);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n  return checkResult(true);\n}\n\nexport function dialogMissingProperties(scope, missingProperties) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      title: `Dati profilo utente incompleti`,\n      class: 'small',\n      viewModelParams: missingProperties,\n      viewModel: PLATFORM.moduleName('views/accesso/dialog-missing-properties')\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfilePec(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(true, fragment);\n\n  if (!/(\\/dashboard|\\/reportistica)/.test(fragment)) return checkResult(true);\n\n  const profile = scope.data.profile;\n  const hasPecCheckPassed = sessionStorage.getItem('hasPecCheckPassed') === 'true';\n\n  if (!profile.pec && !hasPecCheckPassed) {\n    await dialogMissingPec(scope);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n\n  return checkResult(true);\n}\n\nexport function dialogMissingPec(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      title: `Aggiornamento anagrafica`,\n      class: 'small',\n      body: 'Per migliorare la comunicazione e rendere più chiari gli accordi, vi chiediamo di compilare il <strong>campo PEC.</strong>'\n    }).whenClosed(() => {\n      sessionStorage.setItem('hasPecCheckPassed', 'true');\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export { checkAgreements } from './check-agreements';\nexport { checkUserProfilePec } from './check-user-profile-pec';\nexport { checkUserProfileData } from './check-user-profile-data';\nexport { checkPlatformMessages } from './check-platform-messages';\nexport { checkUserBillingProfile } from './check-user-billing-profile';\nexport { checkSettingsLinkedSoftware } from './check-settings-linked-software';\n\nexport class CheckFlow {\n  constructor() {\n    this.checks = [];\n  }\n\n  addCheck(check) {\n    if (typeof check.function !== 'function') throw new Error(\"Check function must be a function!\");\n    check.id = check.function.name;\n    const matched = this.checks.find((x) => x.id === check.id);\n    if (matched) return matched;\n    this.checks.push(check);\n    return check;\n  }\n\n  getCheck(functionName) {\n    return this.checks.find((check) => check.function.name === functionName);\n  }\n  \n  async run(scope, fragment) {\n    for (const check of this.checks) {\n      console.debug(`[checkflow-run] Run check ${check.id}`, {...check});\n\n      if (['checkUserBillingProfile', 'checkSettingsLinkedSoftware'].includes(check.id)) {\n        const isBuildingAdministrator = scope.data?.profile?.businessType === 'BUILDING-ADMINISTRATOR';\n        check.isMandatory = isBuildingAdministrator;\n      }\n\n      if (check.hasPassed || (check.hasPassed === false && !check.isMandatory && (!check.redirect || check.redirect !== fragment))) {\n        console.debug(`[checkflow-run] Skip check ${check.id}`, {...check});\n        continue;\n      }\n      const result = await check.function(scope, fragment);\n      Object.assign(check, result);\n      console.debug(`[checkflow-run] Executed check ${check.id}`, {...check});\n      if (!check.hasPassed && (check.isMandatory || !!check.redirect)) return check;\n    }\n    return { hasPassed: true };\n  }\n}\n","import { DateFormatValueConverter } from \"../resources/value-converters/date-format\";\n\nexport class MavRequest {\n  dateFormat;\n  isOperator;\n  statuses = {\n    'PENDING-DOCUMENT-INTERNAL-APPROVAL': {\n      class: 'pending',\n      shortText: '',\n      text: 'Attesa approvazione interna'\n    },\n    'PENDING-DOCUMENT-DOWNLOAD': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },  \n    'PENDING-APPROVAL': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },\n    'PENDING-ACTIVATION': {\n      class: 'pending',\n      text: 'Attesa attivazione'\n    },\n    'ACTIVE': {\n      class: 'success',\n      text: 'Richiesta attivata'\n    },\n    'REFUSED': {\n      class: 'error',\n      text: 'Richiesta rifiutata'\n    },\n    'DELETED': {\n      class: 'deleted',\n      text: 'Richiesta dismessa'\n    }\n  }\n\n  constructor(isOperator) {\n    this.isPrivilegedUser = isOperator;\n    this.dateFormat = new DateFormatValueConverter();\n  }\n  \n  displayText(record) {\n    const statuses = {\n      ...this.statuses,\n      'NONE': {\n        class: 'deleted',\n        text: 'Richiesta dismessa'\n      }\n    };\n    const status = record.status || record.payments?.banking?.mavSelfPrintingAuthorizationStatus;\n    if (status && Object.keys(statuses).includes(status)) {\n      if (this.isPrivilegedUser) {\n        if (status === 'PENDING-ACTIVATION') {\n          const approvalDate = record.approvedAt || record.payments?.banking?.mavApprovedAt || '(N.D)';\n          if (approvalDate) return `${this.statuses['PENDING-ACTIVATION'].text} (approvata il ${this.dateFormat.toView(approvalDate, 'DD/MM/YYYY')})`;\n        } else if (status === 'ACTIVE') {\n          const activationDate = record.activatedAt || record.payments?.banking?.mavActivatedAt || '(N.D)';\n          if (activationDate) return `${this.statuses['ACTIVE'].text} il ${this.dateFormat.toView(activationDate, 'DD/MM/YYYY')}`;\n        } else if (['NONE','DELETED'].includes(status)) {\n          const deletionDate = record.deletedAt || record.payments?.banking?.mavDeletedAt || '(N.D)';\n          return `${this.statuses['DELETED'].text} il ${this.dateFormat.toView(deletionDate, 'DD/MM/YYYY')}`;\n        } else if (status === 'REFUSED') {\n          const rejectionDate = record.refusedAt || record.payments?.banking?.mavRefusedAt || '(N.D)';\n          return `${this.statuses['REFUSED'].text} il ${this.dateFormat.toView(rejectionDate, 'DD/MM/YYYY')}`;\n        }\n      }\n      return this.statuses[status].text;\n    }\n  }\n\n  setDatasourceMavAuthorizationStatus(datasource = [], statusesRemoved = []) {\n    datasource.unshift({ status: 'null', text: 'Qualsiasi' });\n    Object.entries(this.statuses).forEach((status) => {\n      const [key, value] = status;\n      if (!statusesRemoved.includes(key)) {\n        if (['PENDING-APPROVAL', 'PENDING-DOCUMENT-DOWNLOAD'].includes(key)) {\n          if (!datasource.some((obj) => 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' === obj.status)) {\n            datasource.push({ status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD', text: value.text });\n          }\n        } else {\n          datasource.push({ status: key, text: value.text });\n        } \n      }\n    });\n    return datasource;\n  }\n}\n","import { inject, CompositionEngine, Container, ViewSlot } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\nexport class TableInterface {\n  inizialized = false;\n  configurables = ['name', 'client', 'endpoint', 'query', 'data', 'limit'];\n  endpoint = null;\n  query = null;\n  limit = 10;\n  offset = 0;\n  total = 0;\n  sort = null;\n  data = null;\n  isLoading = false;\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`TableInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    Object.assign(this, JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || {});\n\n    // Custom events\n    this.events = document.createTextNode(null);\n    this.events.dataLoad = new CustomEvent('dataLoad', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n      console.log('TableInterface initialized');\n    }).catch(error => {\n      console.error('TableInterface initialization failed', error);\n    });\n  }\n\n  load(params = null, sort = null) {\n    if (!this.initialized) return Promise.reject('TableInterface was not yet initialized when the load() function was called!');\n    this.isLoading = true;\n    \n    // Handle query params\n    let query = new URLSearchParams('');\n    if (params) {\n      query = new URLSearchParams(this.query || '');\n      for (const [key, value] of Object.entries(params)) {\n        query.set(key, value);\n      }\n    } else if (this._query) {\n      query = new URLSearchParams(this._query);\n    } else if (this.query) {\n      query = new URLSearchParams(this.query);\n    }\n    this._query = query.toString();\n    \n    // Handle sort\n    this.sort = sort || this.sort || [];\n    let sorts = [];\n    this.sort.forEach(item => {\n      sorts.push(`${item.order === 'desc' ? '-' : ''}${item.name}`);\n    });\n    if (sorts.length) {\n      sorts = sorts.join(',');\n      query.set('sort', sorts);\n    }\n\n    // Handle limit and offset\n    if (this.limit) query.set('limit', this.limit);\n    if (this.offset) query.set('offset', this.offset);\n\n    if (this.loadRequest && this.loadRequest.cancel) {\n      this.loadRequest.cancel();\n    }\n\n    // Finally make the api call\n    this.events.dispatchEvent(this.events.dataLoad);\n    this.loadRequest = this.client.get(`${this.endpoint}?${this.parseQuery(query)}`);\n    return this.loadRequest.then(xhr => {\n      this.data = this.parseResponse(xhr.response);\n      this.total = (xhr.headers && xhr.headers.headers && xhr.headers.headers['x-total-count']) ? xhr.headers.headers['x-total-count'].value : this.data.length;\n      sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify({ limit: this.limit, offset: this.offset, sort: this.sort }));\n      this.events.dataLoaded.xhr = xhr;\n      this.events.dispatchEvent(this.events.dataLoaded);\n      this.isLoading = false;\n      return xhr;\n    }, xhr => {\n      this.client?.dialogError?.(xhr, this.searchInterface?.controls || {});\n    }).catch(error => {\n      console.error(error);\n      this.data = null;\n      this.isLoading = false;\n    });\n  }\n\n  reset() {\n    this.data = null;\n    this.total = 0;\n  }\n\n  parseQuery(query) {\n    return query;\n  }\n\n  parseResponse(response) {\n    return response;\n  }\n}\n\nexport class SearchInterface {\n  active = false; // Used for highlighting search icon on table\n  inizialized = false;\n  configurables = ['name', 'table', 'schema', 'data'];\n  controls = {}; // Contains auto-referenced controls\n  last = { params: {} } // Reference to last search query\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`SearchInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    this.data = JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || this.data || {};\n    // Self reference inside TableInterface\n    if (this.table) this.table.searchInterface = this;\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n    }).catch(error => {\n      console.error('SearchInterface initialization failed', error);\n    });\n  }\n\n  validate(controls = null) {\n    let promises = [];\n    controls = controls || Object.values(this.controls);\n    controls.forEach(control => {\n      if (control && control.value !== undefined) { // Control can be null if in the meantime view removes it (eg: with an if.bind)\n        if (control.setError) control.setError(); // Reset in case control is a ka-control (not ka-input) and there is already an error manually attached to the control\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }).catch(error => reject(error)); }));\n      }\n    });\n    return Promise.all(promises);\n  }\n\n  search(data) {\n    if (!this.initialized) return Promise.reject('SearchInterface was not yet initialized when the search() function was called!');\n    let params = {};\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        for (let [k,v] of Object.entries(data || this.data)) {\n          if (v && v !== 'null' && this.schema[k]?.query) {\n            if (this.schema[k].control === 'date' && this.schema[k].query.includes('-gte')) {\n              v = moment.utc(v).local().startOf('day').utc().format();\n            } else if (this.schema[k].control === 'date' && this.schema[k].query.includes('-lte')) {\n              v = moment.utc(v).local().endOf('day').utc().format();\n            }\n            params[this.schema[k].query] = encodeURIComponent(v);\n          }\n        }\n        if (sessionStorage.getItem(btoa(`${this.name}-data`)) !== JSON.stringify(this.data)) {\n          sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify(this.data));\n          this.table.offset = 0; // Reset offset only if search data has changed\n        }\n        if (Object.keys(params).length) {\n          this.active = true;\n          this.last.params = params;\n          this.table.load(params).then(xhr => resolve(xhr)).catch(error => reject(error));\n        } else {\n          this.active = false;\n          this.last.params = {};\n          this.table.load({}).then(xhr => resolve(xhr)).catch(error => reject(error)); //return this.reset(); // Not sure what it is for...\n        }\n      }).catch(error => reject(error));\n    });\n  }\n\n  reset(soft = false, load = true) {\n    for (let key of Object.keys(this.data)) { this.data[key] = null; }\n    if (!soft) {\n      sessionStorage.removeItem(btoa(`${this.name}-data`));\n      this.table.offset = 0;\n      this.active = false;\n      this.last.params = {};\n      if (load) return this.table.load({});\n    }\n    return Promise.resolve();\n  }\n}\n\n@inject(CompositionEngine, Container)\nexport class TableSidebar {\n  constructor(compositionEngine, container) {\n    this.compositionEngine = compositionEngine;\n    this.container = container;\n  }\n  open(params) {\n    if (this.isOpen) return this.close();\n\n    // Add backdrop\n    this.backdrop = document.createElement('div');\n    this.backdrop.classList.add('md-table-backdrop');\n    this.backdrop.addEventListener('click', event => { if (event.target === this.backdrop) this.close(); });\n    document.getElementsByTagName('body')[0].insertBefore(this.backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    // Add sidebar\n    this.sidebar = document.createElement('div');\n    this.sidebar.classList.add('md-table-sidebar', 'off');\n    this.backdrop.appendChild(this.sidebar);\n\n    // Compose\n    this.context = {\n      container: this.container.createChild(),\n      viewModel: params.viewModel,\n      model: params.viewModelParams,\n      host: this.sidebar,\n      bindingContext: null,\n      viewResources: null,\n      viewSlot: new ViewSlot(this.sidebar, true)\n    };\n    this.compositionEngine.compose(this.context).then(composition => {\n      this.composition = composition;\n      this.composition.viewModel.close = () => { this.close(); };\n      this.context.viewSlot.attached();\n      // Timeout used for css transition\n      setTimeout(() => { this.sidebar.classList.remove('off'); }, 100);\n      this.isOpen = true;\n    });\n  }\n  close() {\n    // Timeout used for css transition\n    this.sidebar.classList.add('off');\n    setTimeout(() => {\n      document.getElementsByTagName('body')[0].removeChild(this.backdrop);\n      this.context.viewSlot.detached();\n      this.isOpen = false;\n    }, 500);\n  }\n}\n\nexport class TableSelectionInterface {\n  selectedRecords;\n  selectedCount = 0;\n  recordsByUuid = {};\n  selectEveryVisibleRecordSelected = false;\n\n  constructor(config) {\n    this.table = config.table;\n    this.addLoadSuccessListener();\n  }\n  addLoadSuccessListener() {\n    return this.table.events.addEventListener('dataLoaded', () => {\n      this.table.data.forEach((record) => {\n        record._selection = Object.assign({ isDisabled: false, isSelected: false }, this.recordsByUuid[record.id]?._selection || {});\n        this.recordsByUuid[record.id] = record;\n      });\n      this.setSelectedRecords();\n      this.setSelectedCount();\n      this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n    });\n  }\n  changeSelectedRecords() {\n    this.setSelectedRecords();\n    this.setSelectedCount();\n    this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n  }\n  changeSelectEveryVisibleRecordSelected() {\n    this.table?.data.forEach((record) => {\n      if (!record._selection.isDisabled) record._selection.isSelected = this.selectEveryVisibleRecordSelected;\n    });\n    this.setSelectedRecords();\n    this.setSelectedCount();\n  }\n  setSelectedCount() {\n    this.selectedCount = this.selectedRecords?.length;\n  }\n  setSelectedRecords() {\n    this.selectedRecords = Object.values(this.recordsByUuid).filter((record) => record._selection.isSelected);\n  }\n  isEveryVisibleRecordDisabled() {\n    return this.table.data?.every((record) => record._selection.isDisabled);\n  }\n  isEveryVisibleRecordSelected() {\n    return this.table.data?.filter((record) => !record._selection.isDisabled).every((record) => record._selection.isSelected);\n  }\n  reset(hard) {\n    return Object.values(this.recordsByUuid).forEach((record) => {\n      if (hard) {\n        record._selection.isDisabled = false;\n        record._selection.isSelected = false;\n      }\n      this.selectEveryVisibleRecordSelected = false;\n      Object.keys(record._selection).filter((key) => !['isDisabled'].includes(key)).forEach((key) => {\n        record._selection[key] = null;\n      });\n    });\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\n\nexport class MdToast {\n  uuid;\n  stack = [];\n  holdedElement;\n  duration = 15000;\n  transition = 800;\n\n  init(config = { message: '', elementClass: '' }) {\n    this.uuid = config.uuid || uuidv4();\n    this.stack.push(config);\n    this.duration = config.duration || this.duration;\n    if (!this.holdedElement) {\n      this.create(config);\n    }\n  }\n  platformMessages(currentStack, element) {\n    const html = `<div class=\"icon-box\">${currentStack.icon}</div><div class=\"content-box\">${currentStack.message}</div><div class=\"closure-box\"></div>`;\n    element.innerHTML = html;\n    if (element && element instanceof HTMLElement) {\n      const closureTag = element?.querySelector('.closure-box');\n      const dataActionClosure = element?.querySelector('a[data-action=\"closure\"]');\n      closureTag?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        closureTag.removeEventListener('click', closureTag);\n      });\n      dataActionClosure?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        dataActionClosure.removeEventListener('click', dataActionClosure);\n      });\n    }\n  }\n  create(currentStack) {\n    if (currentStack) {\n      const routerView = document.querySelector('body > router-view');\n\n      let element = document.createElement('div');\n      element.id = this.uuid;\n      element.classList.add('md-toast');\n      element.classList.add(currentStack?.elementClass);\n      element.setAttribute('data-hold', currentStack?.hold, this.uuid);\n  \n      if (currentStack?.elementClass === 'platform-messages') this.platformMessages(currentStack, element);\n      else element.innerHTML = currentStack?.message;\n      this.holdedElement = element;\n      routerView?.append(element);\n  \n      setTimeout(() => {\n        element.classList.add('visible');\n        setTimeout(() => {\n          if (this.holdedElement?.getAttribute?.('data-hold') === 'false') {\n            this.consume(currentStack);\n          }\n        }, this.duration);\n      }, this.transition);\n    }\n  }\n  consume(currentStack) {\n    if (this.holdedElement?.id === currentStack?.uuid) {\n      this.holdedElement?.classList?.remove?.('visible');\n      setTimeout(() => {\n        this.holdedElement?.remove();\n        if (this.stack?.length) {\n          this.stack.shift();\n          this.create(this.stack[0]);\n        }\n      }, this.transition);\n    }\n  }\n}\n","import { PLATFORM } from 'aurelia-pal';\nimport mdt from 'services/md-tools';\n\nexport class DashboardCardsModel {\n  items;\n  settings = {\n    code: 'SETTINGS',\n    heading:  'Dashboard',\n    accent: 'Impostazioni',\n    icon: 'static/images/dashboard/settings.png',\n    subtitle: 'Scegli quale card mostrare in questo riquadro',\n    body: PLATFORM.moduleName('views/dashboard/cards/models/settings')\n  }\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  setItem(item) {\n    switch (item.code) {\n      case 'INVOICES':\n        item.accent = 'Fatture';\n        item.heading = 'Contabilità';\n        item.title = 'Contabilità fatture';\n        item.subtitle = 'Riepilogo delle fatture emesse';\n        item.icon = 'static/images/dashboard/invoices.png';\n        item.endpoint = 'users/me/dashboard/billing-summary';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/invoices');\n        break;\n      case 'QUEUE-MESSAGES-EMAIL-PEC':\n        item.accent = 'Email/PEC';\n        item.heading = 'Spedizioni';\n        item.title = 'Spedizioni email/PEC';\n        item.icon = 'static/images/dashboard/email-pec.png';\n        item.endpoint = 'users/me/dashboard/queue-messages-email-pec';\n        item.subtitle = 'Monitora lo stato di consegna dei tuoi invii';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/queue-messages-email-pec')\n        break;\n      case 'FLAT-SERVICES-ACTIVATIONS':\n        item.heading = 'Attivazione';\n        item.accent = 'Abbonamenti';\n        item.title = 'Attivazione abbonamenti';\n        item.icon = 'static/images/dashboard/services.png';\n        item.subtitle = 'Riepilogo di tutti i servizi in abbonamento';\n        item.endpoint = 'users/me/dashboard/flat-services-activations';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/flat-services-activations');\n        break;\n      case 'UNCONFIRMED-PRE-CHECKOUTS':\n        item.accent = 'In attesa';\n        item.heading = 'Pagamenti';\n        item.title = 'Pagamenti in attesa';\n        item.subtitle = 'Riepilogo pagamenti in sospeso';\n        item.icon = 'static/images/dashboard/pre-checkouts.png';\n        item.endpoint = 'users/me/dashboard/unconfirmed-pre-checkouts';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/pre-checkouts');\n        break;\n      case 'CREDIT-TRANSACTIONS':\n        item.accent = 'Credito';\n        item.heading = 'Riepilogo';\n        item.title = 'Riepilogo credito';\n        item.icon = 'static/images/dashboard/credit.png';\n        item.endpoint = 'users/me/dashboard/credit-transactions';\n        item.subtitle = 'Controlla il credito residuo per servizi e affrancatura';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/credit-transactions');\n        break;\n      case 'MULTICOIN-MOVEMENTS':\n        item.accent = 'Multicoin';\n        item.heading = 'Movimenti';\n        item.title = 'Movimenti multicoin';\n        item.icon = 'static/images/dashboard/multicoin.png';\n        item.subtitle = 'Riepilogo del tuo punteggio Multicoin';\n        item.endpoint = 'users/me/dashboard/multicoin-movements';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/multicoin-movements');\n        break;\n      case 'SUBUSERS':\n        item.heading = 'Anagrafiche';\n        item.endpoint = 'users/me/dashboard/subusers';\n        item.icon = 'static/images/dashboard/subusers.png';\n        item.accent = `${mdt.parsers.contextualize(this.api.user, 'Utenti')}`;\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/subusers');\n        item.title = `Anagrafiche ${mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n        item.subtitle = `Uno sguardo sulle anagrafiche dei tuoi ${mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n        break;\n      case 'MAVS':\n        item.accent = 'MAV';\n        item.heading = 'Bollettini';\n        item.title = 'Bollettini MAV';\n        item.endpoint = 'users/me/dashboard/mavs';\n        item.icon = 'static/images/dashboard/mavs.png'\n        item.subtitle = 'Controlla emissione e incasso dei bollettini MAV';\n        item.body = PLATFORM.moduleName('views/dashboard/cards/models/mavs');\n        break;\n      default:\n        item.body = this.settings.body;\n        item.code = this.settings.code;\n        item.accent = this.settings.accent;\n        item.heading =  this.settings.heading;\n        item.subtitle = this.settings.subtitle;\n        break;\n    }\n    return item;\n  }\n  setItems(items) {\n    items.forEach((item) => {\n      const config = this.setItem(item);\n      item = { ...item, config };\n    });\n    return items;\n  }\n  getItems() {\n    return this.api.get('dashboard-items');\n  } \n  getCards() {\n    return this.api.get('users/me/dashboard-items/current');\n  }\n  patchCards(codes) {\n    return this.api.put('users/me/dashboard-items/current', { items: codes });\n  }\n  getCard(endpoint) {\n    return this.api.get(endpoint);\n  }\n}\n","export class FidelityCardsModel {\n  statuses = {\n    'ACTIVE': {\n      label: 'Attiva',\n      class: 'success'\n    },\n    'EXPIRED': {\n      class: 'error',\n      label: 'Scaduta'\n    },\n    'RESCINDED': {\n      class: 'error',\n      label: 'Rescissa',\n    },\n    'TERMINATED': {\n      class: 'error',\n      label: 'Terminata'\n    },\n    'GRACE-PERIOD': {\n      class: 'pending',\n      label: 'Periodo di grazia'\n    },\n    'WAITING-FOR-COST-CONFIRMATION': {\n      class: 'pending',\n      label: 'Attesa pagamento'\n    }\n  };\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  // Http functions\n  activation(card) {\n    const path = 'users/me/fidelity-card-activations';\n    const fidelityCardPriceListUuid = card.priceListUuid;\n    return this.api.post(path, { fidelityCardPriceListUuid }).then(() => {\n      this.toast.show('Attivazione avvenuta con successo', 'success');\n    }).catch((error) => {\n      console.log('fidelityCardActivations', error);\n      this.api.dialogError(error);\n    });\n  }\n  renew(card) {\n    const path = `users/me/fidelity-card-activations/${card.activationUuid}/renewals`;\n    return this.api.post(path, {}).then(() => {\n      this.toast.show('Rinnovo avvenuto con successo', 'success');\n    });\n  }\n  postPrececkout(paymentMethod, priceListUuid) {\n    const path = `users/me/fidelity-card-pre-checkouts`;\n    const data = { paymentMethod, priceListUuid };\n    return this.api.post(path, data).catch((error) => {\n      console.log('postPrececkout', error);\n      this.api.dialogError(error);\n    });\n  }\n  getPrececkout(preCheckoutUuid) {\n    const path = `users/me/fidelity-card-pre-checkouts/${preCheckoutUuid}`;\n    return this.api.get(path);\n  }\n  postConfirmPayment(userId, cardId) {\n    const data = { status: \"PAYMENT-CONFIRMED\" };\n    const uri = `bo/users/${userId}/orders/fidelity-card-activations/${cardId}/current`;\n    return this.api.patch(uri, data).catch((error) => {\n      console.log('postConfirmPayment', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","import { CompactNumberValueConverter } from '../../resources/value-converters/compact-number';\n\n// Misure condivise da md-cards e md-chart-legend per adattare il font del valore (mixin partial($adaptive: true))\nconst compactNumber = new CompactNumberValueConverter();\n// Larghezza media di un carattere di suffisso / \"su <totale>\" (Roboto Condensed ~1.5rem)\nconst RESERVE_CHAR_REM = .7;\n\n// Numero se è convertibile in un numero finito: 1260 e '1260' sì; 'Silver', '', null no.\n// isNaN da solo non basta: isNaN('') e isNaN(null) sono false, e verrebbero trattati come 0\nexport function isNumeric(value) {\n  if (value === null || value === undefined || value === '' || typeof value === 'boolean') return false;\n  return Number.isFinite(Number(value));\n}\nexport function hasDecimals(value) {\n  return isNumeric(value) && !Number.isInteger(Number(value));\n}\n// Caratteri del valore come verrà mostrato a fine animazione, prefisso compreso (es. '+' e 82.3 -> \"+82,30\" -> 6)\nexport function partialChars(partial, prefix, compact) {\n  const text = isNumeric(partial) ? compactNumber.toView(partial, { compact: compact !== false }) : String(partial ?? '');\n  return `${prefix ?? ''}${text}`.length || 1;\n}\n// Spazio da lasciare a destra del valore: il suffisso, oppure \"su <totale>\" (solo per valori numerici)\nexport function partialReserve(partial, suffix, total, compact) {\n  const text = suffix ?? (isNumeric(partial) ? `su ${compactNumber.toView(total, { compact: compact !== false })}` : '');\n  return text ? `${(text.length * RESERVE_CHAR_REM + .5).toFixed(2)}rem` : '0rem';\n}\n","export class TemplateModel {\n  systemKeywords = [\n    { \n      autoResolved: 'YES',\n      context: 'RECIPIENT', \n      label: 'Nome destinatario',\n      placeholder: 'nome_destinatario'\n    },\n    { \n      context: 'QUEUE', \n      autoResolved: 'YES',\n      label: 'Nome mittente',\n      placeholder: 'nome_mittente'\n    },\n    { \n      context: 'QUEUE', \n      autoResolved: 'YES',\n      label: 'Nome condominio',\n      placeholder: 'nome_condominio'\n    }\n  ];\n \n  normalizeKeyword = (value) => {\n    return (value || '').trim().toLowerCase().replace(/[{}]/g, '').replace(/\\s+/g, ' ');\n  };\n}\n","export class QueueMessages {\n  statusCodes;\n\n  setQueueMessageStatusCodes(client) {\n    return client?.get(`queue-message-status-codes`);\n  }\n  parseQueueMessageStatusCodes(response = []) {\n    let datasource = [];\n    const groupValues = new Set(response.map((status) => status.statusGroup.value));\n    groupValues.forEach((groupValue) => {\n      const matches = response.filter((status) => status.statusGroup.value === groupValue);\n      const groupLabel = matches[0].statusGroup.label;\n      const selectAllLabel = `Tutti i destinatari ${groupLabel.toLowerCase()}`;\n      datasource.push({ code: groupValue, label: groupLabel, optgroup: true });\n      if (matches.length > 1) {\n        datasource.push({ code: matches.map((match) => match.code).join(','), label: selectAllLabel });\n      }\n      datasource.push(...matches);\n    })\n    return datasource;\n  }\n  filterQueueMessagesStatusCode(channel) {\n    const filtered = this.statusCodes.filter((status) => status.channels.includes(channel));\n    return this.parseQueueMessageStatusCodes(filtered);\n  }\n  getQueueMessageStatusCodeGroupValue(statusCode = null, context = 'legacy-tag') {\n    let statusGroupValue = this.statusCodes?.find?.((record) => record.code === statusCode)?.statusGroup.value?.toLowerCase();\n    if (context === 'new-tag') {\n      if (statusGroupValue === 'not-delivered') statusGroupValue = 'error';\n      if (statusGroupValue === 'completed') statusGroupValue = 'success';\n      if (statusGroupValue === 'pending') statusGroupValue = 'pending';\n    }\n    return statusGroupValue;\n  }\n  getQueueMessageStatusCodeGroupLabel(statusCode = null) {\n    return this.statusCodes?.find?.((record) => record.code === statusCode)?.statusGroup.label;\n  }\n  getQueueMessageStatusCodeLabel(statusCode = null) {\n    return this.statusCodes?.find?.((record) => record.code === statusCode)?.label;\n  }\n  getQueueMessageStatusDescription(statusCode = null) {\n    return this.statusCodes?.find?.((record) => record.code === statusCode)?.description;\n  }\n}\n","export class QueueProperties {\n  statuses = [\n    {\n      key: 'COMPLETED',\n      text: 'Completata',\n      group: 'Completata',\n      value: 'COMPLETED',\n      class: 'success'\n    },\n    {\n      key: 'PENDING',\n      text: 'In elaborazione',\n      value: 'PENDING',\n      class: 'pending'\n    },\n    {\n      key: 'ABANDONED',\n      text: 'Scaduta',\n      group: 'Annullata',\n      value: 'ABANDONED',\n      class: 'abandoned' \n    },\n    {\n      key: 'ABORTED-BY-USER',\n      text: 'Rifiutata',\n      group: 'Annullata',\n      value: 'ABORTED-BY-USER',\n      class: 'refused'   \n    },\n    {\n      key: 'DISPATCH-ERROR',\n      text: 'Errore di elaborazione',\n      group: 'Annullata',\n      value: 'DISPATCH-ERROR',\n      class: 'error'\n    },\n    {\n      key: 'DISCONTINUED',\n      text: 'Consegna interrotta',\n      value: 'DISCONTINUED',\n      class: 'discontinued'\n    }\n  ];\n  channels = [\n    {\n      value: 'SENDPOSTA',\n      text: 'Posta',\n      icon: 'fa-mailbox'\n    },\n    {\n      value: 'SENDEMAIL',\n      text: 'Email',\n      icon: 'fa-at'\n    },\n    {\n      value: 'PEC',\n      text: 'Pec',\n      icon: 'fa-file-certificate'\n    },\n    {\n      value: 'MULTICERTA',\n      text: 'Multicerta',\n      icon: 'fa-shield-check'\n    },\n    {\n      value: 'MULTIBOX',\n      text: 'Multibox',\n      icon: 'fa-box-alt'\n    }\n  ];\n  uuidQueueToUpdate;\n  update(client, record) {\n    return client.createRequest(`users/${record.owner.id}/queue-outlines/${record.uuid}`).asGet().withHeader('Prefer', 'Refresh').send();\n  }\n  deadlineEvent(record) {\n    return record.deadlineEvents === 'RECEIVED-READ' ? 'Not. di lettura' : record.deadlineEvents === 'RECEIVED-OPENED' ? 'Not. di apertura' : 'Notifica';\n  }\n}\n","//import environment from '../config/environment.json';\nexport default ENVIRONMENT;","import '@babel/polyfill';\nimport { PLATFORM } from 'aurelia-pal';\nimport ENVIRONMENT from './environment';\n\nexport function configure(aurelia) {\n  aurelia.use\n    .standardConfiguration()\n    .globalResources([\n      PLATFORM.moduleName('resources/elements/md-input/md-input'),\n      PLATFORM.moduleName('resources/value-converters/striphtml'),\n      PLATFORM.moduleName('resources/value-converters/stringify'),\n      PLATFORM.moduleName('resources/elements/md-cards/md-cards'),\n      PLATFORM.moduleName('resources/value-converters/capitalize'),\n      PLATFORM.moduleName('resources/elements/md-select/md-select'),\n      PLATFORM.moduleName('resources/elements/md-loader/md-loader'),\n      PLATFORM.moduleName('resources/value-converters/date-format'),\n      PLATFORM.moduleName('resources/elements/km-layout/km-layout'),\n      PLATFORM.moduleName('resources/value-converters/combo-format'),\n      PLATFORM.moduleName('resources/value-converters/append-comma'),\n      PLATFORM.moduleName('resources/elements/md-counter/md-counter'),\n      PLATFORM.moduleName('resources/elements/md-control/md-control'),\n      PLATFORM.moduleName('resources/value-converters/object-format'),\n      PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel'),\n      PLATFORM.moduleName('resources/attributes/md-action/md-action'),\n      PLATFORM.moduleName('resources/value-converters/compact-number'),\n      PLATFORM.moduleName('resources/elements/md-resource/md-resource'),\n      PLATFORM.moduleName('resources/value-converters/filesize-format'),\n      PLATFORM.moduleName('resources/attributes/md-tooltip/md-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-count-up/md-count-up'),\n      PLATFORM.moduleName('resources/elements/md-bar-chart/md-bar-chart'),\n      PLATFORM.moduleName('resources/elements/md-cta-button/md-cta-button'),\n      PLATFORM.moduleName('resources/elements/md-nav-utenti/md-nav-utenti'),\n      PLATFORM.moduleName('resources/elements/md-table-sort/md-table-sort'),\n      PLATFORM.moduleName('resources/value-converters/queue-status-format'),\n      PLATFORM.moduleName('resources/value-converters/queue-channel-format'),\n      PLATFORM.moduleName('resources/elements/md-nav-element/md-nav-element'),\n      PLATFORM.moduleName('resources/elements/md-input-array/md-input-array'),\n      PLATFORM.moduleName('resources/elements/md-chart-legend/md-chart-legend'),\n      PLATFORM.moduleName('resources/elements/md-split-button/md-split-button'),\n      PLATFORM.moduleName('resources/attributes/static-tooltip/static-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-switch-slider/md-switch-slider'),\n      PLATFORM.moduleName('resources/elements/md-table-toolbar/md-table-toolbar'),\n      PLATFORM.moduleName('resources/elements/md-table-wrapper/md-table-wrapper'),\n      PLATFORM.moduleName('resources/elements/md-table-pagination/md-table-pagination'),\n      PLATFORM.moduleName('resources/elements/md-accordion-button/md-accordion-button'),\n      PLATFORM.moduleName('resources/elements/md-table-progressbar/md-table-progressbar'),\n    ])\n    .plugin(PLATFORM.moduleName('ka-components'))\n    .plugin(PLATFORM.moduleName('aurelia-dialog'))\n    .plugin(PLATFORM.moduleName('aurelia-validation'))\n    .plugin(PLATFORM.moduleName('aurelia-http-client'))\n\n  aurelia.use.developmentLogging(ENVIRONMENT.APP_DEBUG === 'true' ? 'debug' : 'warn');\n  aurelia.start().then(() => {\n    aurelia.setRoot(PLATFORM.moduleName('views/app/app'), document.body);\n  });\n}\n","import { PLATFORM } from 'aurelia-framework';\nimport { KaConsole} from './ka-console/ka-console';\n\nexport * from './ka-dialog/ka-dialog';\nexport * from './ka-toast/ka-toast';\nexport * from './ka-api/ka-api';\n\nwindow.konsole = new KaConsole();\n\nexport function configure(config, callback) {\n  const kaConfig = new KaPluginConfiguration(config);\n  if (callback instanceof Function) {\n    callback(kaConfig);\n  } else {\n    kaConfig.useAll();\n  }\n  kaConfig.apply();\n}\nexport class KaPluginConfiguration {\n  constructor(config) {\n    this.config = config;\n  }\n  useAll() {\n    this.useStandard();\n    this.useLayout();\n    this.useResource();\n    this.useInputs();\n    this.useControls();\n  }\n  useStandard() {\n    console.log('%c[ka-components] loading standard modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-button/ka-button')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-table/ka-table')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-table/ka-tableFilters')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-tabs/ka-tabs')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-tooltip/ka-tooltip')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-enter/ka-enter')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-progress/ka-progress')]);\n  }\n  useLayout() {\n    console.log('%c[ka-components] loading layout modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-navbar/ka-navbar')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-layout/ka-layout')]);\n  }\n  useResource() {\n    console.log('%c[ka-components] loading resource modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-resource/ka-resource')]);\n  }\n  useInputs() {\n    console.log('%c[ka-components] loading input modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-input/ka-input')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-input/ka-input-controls')]);\n  }\n  useControls() {\n    console.log('%c[ka-components] loading control modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control/ka-control')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-check/ka-control-check')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-combo/ka-control-combo')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-date/ka-control-date')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-datetime/ka-control-datetime')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-datetime/ka-datetime')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-editor/ka-control-editor')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-file/ka-control-file')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-list/ka-control-list')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-number/ka-control-number')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-password/ka-control-password')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-table/ka-control-table')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-text/ka-control-text')]);\n    this.config.globalResources([PLATFORM.moduleName('ka-components/ka-control-textarea/ka-control-textarea')]);\n  }\n\n  apply() {\n    // any final configuration...\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {HttpClient} from 'aurelia-http-client';\nimport {Router} from 'aurelia-router';\nimport environment from 'environment';\n\n@inject(Router)\nexport class KaApi {\n  routeLogin = 'login';\n  routeHome = 'home';\n\n  _accessToken = '';\n  _refreshToken = '';\n  _refreshPromise = null;\n  _user = null;\n\n  constructor(router) {\n    this.storage = environment.APP_STORAGE && window[environment.APP_STORAGE] ? window[environment.APP_STORAGE] : environment.storage && window[environment.storage] ? window[environment.storage] : localStorage;\n    this._baseUrl = this.storage.getItem('APP_KAMAJI_BASE_URL') || ENVIRONMENT.APP_KAMAJI_BASE_URL || ENVIRONMENT.APP_API_BASE_URL || this.storage.getItem('api_base_url') || (environment.api && environment.api.kamaji ? environment.api.kamaji : environment.api);\n    this._isKamaji1 = !!this._baseUrl.match(/api\\.kamaji\\.it\\/v1\\//g); // backwards compatibility\n    this._accessToken = this.storage.getItem('access_token') || '';\n    this._refreshToken = this.storage.getItem('refresh_token') || '';\n\n    this._user = this.storage.getItem('user') ? JSON.parse(this.storage.getItem('user')) : null;\n    this._refreshUrl = '';\n    this.client = new HttpClient();\n    this.client._baseUrl = this._baseUrl; // Keep reference of baseUrl into HttpClient object\n    this.router = router;\n\n    this.client.configure(x => {\n      x.withBaseUrl(this.baseUrl);\n      x.withInterceptor({\n        request: msg => {\n          if (this.accessToken.length && (!this._refreshUrl.length || (msg.url !== this._refreshUrl))) {\n            msg.headers.add('Authorization', 'Bearer ' + this.accessToken);\n          }\n          return msg;\n        },\n        response: msg => {\n          if (String(msg.statusCode) !== '204' && msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: msg => {\n          /*\n          if (msg.statusCode === 0) {\n            return new Promise(() => {\n              setTimeout(() => {\n                return this.client.send(msg.requestMessage);\n              }, 2000);\n            });\n          }\n          */\n          if (msg.statusCode === 401 && this.refreshToken.length && msg.requestMessage.url !== this._refreshUrl) {\n            return this.refresh(this.refreshToken).then(success => {\n              return this.client.send(msg.requestMessage);\n            }, error => {\n              return error;\n            });\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n  }\n\n  get baseUrl() {\n    return this._baseUrl;\n  }\n  set baseUrl(value) {\n    this._baseUrl = value;\n    this.storage.setItem('api_base_url', value);\n    if (this.client) {\n      this.client._baseUrl = this._baseUrl;\n      this.client.configure(conf => { conf.withBaseUrl(value); });\n    }\n  }\n\n  get accessToken() {\n    return this._accessToken;\n  }\n  set accessToken(value) {\n    this._accessToken = value || '';\n    if (value) this.storage.setItem('access_token', value);\n    else this.storage.removeItem('access_token');\n  }\n\n  get refreshToken() {\n    return this._refreshToken;\n  }\n  set refreshToken(value) {\n    this._refreshToken = value || '';\n    if (value) this.storage.setItem('refresh_token', value);\n    else this.storage.removeItem('refresh_token');\n  }\n\n  get user() {\n    return this._user;\n  }\n  set user(value) {\n    this._user = value || '';\n    if (value) this.storage.setItem('user', JSON.stringify(value));\n    else this.storage.removeItem('user');\n  }\n\n  get isAuthenticated() {\n    return !!this.accessToken.length && !!this.user;\n  }\n\n  login(username, password) {\n    return this.client.post('auth', { username, password, grant_type: 'password' }).then(msg => {\n      this.accessToken = msg.response.access_token;\n      this.refreshToken = msg.response.refresh_token;\n      if (this._isKamaji1) {\n        return this.client.get('auth').then(x => {\n          let response = x.response;\n          return this.client.get(`${response.endpoint}/${response.userid}`, { depth: 0 }).then(x => {\n            this.user = x.response;\n            //konsole.debug(this.user);\n            this.router.navigateToRoute(this.routeHome);\n            return Promise.resolve(x);\n          }, x => {\n            this.user = null;\n            return Promise.reject(x);\n          });\n        }, x => {\n          this.user = null;\n          return Promise.reject(x);\n        });\n      }\n      return this.client.get('me?depth=0').then(x => {\n        this.user = x.response;\n        //konsole.debug('me', this.user);\n        this.router.navigateToRoute(this.routeHome);\n        return Promise.resolve(x);\n      }, x => {\n        this.user = null;\n        return Promise.reject(x);\n      });\n    }, x => {\n      this.accessToken = '';\n      this.refreshToken = '';\n      this.user = null;\n      return Promise.reject(x);\n    });\n  }\n\n  logout() {\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.router.navigateToRoute(this.routeLogin);\n  }\n\n  refresh(token) {\n    if (this._refreshPromise) return this._refreshPromise;\n    this._refreshUrl = 'auth/refresh/' + token;\n    this._refreshPromise = this.client.post(this._refreshUrl).then(msg => {\n      this.accessToken = msg.response.access_token;\n      this.refreshToken = msg.response.refresh_token;\n      return Promise.resolve(msg.response);\n    }, x => {\n      this.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(() => {\n      this._refreshUrl = '';\n      this._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n\n  put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  }\n\n  patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  }\n\n  delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  }\n\n  buildQueryString(params) {\n    let query = [];\n    for (let [key, value] of Object.entries(params)) query.push(`${key}=` + encodeURIComponent(value));\n    return query.join('&');\n  }\n}\n\n","import {inject, customElement, bindable} from 'aurelia-framework';\n\n@customElement('ka-button')\n@inject(Element)\nexport class KaButton {\n\n  @bindable() disabled;\n  @bindable() busy = false;\n  @bindable() href = null;\n\n  _ready = false;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n\n    this.disabled = this.disabled === '' ? true : this.disabled;\n    this.disabled = this.disabled === null || typeof this.disabled === 'undefined' ? false : this.disabled;\n    this.disabled = this.disabled === 'false' ? false : Boolean(this.disabled);\n  }\n\n  attached() {\n    this._ready = true;\n    this.element.addEventListener('click', (e) => {\n      if (this.disabled || this.busy) {\n        e.stopPropagation();\n      } else if (this.href) {\n        e.stopPropagation();\n        location.href = this.href;\n      } else {\n        e.model = this;\n      }\n    });\n\n    let active = (e) => { if (!this.disabled && !this.busy) this.element.classList.toggle('active'); };\n    this.element.addEventListener('mousedown', active);\n    this.element.addEventListener('touchstart', active);\n    this.element.addEventListener('mouseup', active);\n    this.element.addEventListener('touchend', active);\n\n    this.init();\n  }\n\n  disabledChanged(value) {\n    value = value === 'false' ? false : Boolean(value);\n    this.disabled = value;\n    if (this._ready) this.init();\n  }\n  busyChanged(value) {\n    if (this._ready) this.init();\n  }\n\n  init() {\n    if (this.disabled === true) this.element.classList.add('disabled');\n    else this.element.classList.remove('disabled');\n    if (this.busy) this.element.classList.add('busy');\n    else this.element.classList.remove('busy');\n  }\n\n}\n","\nimport environment from 'environment';\n\nexport class KaConsole {\n\n  log() {\n    this.debug(Object.values(arguments));\n  }\n  debug() {\n    if (!environment.debug && (!environment.APP_DEBUG || environment.APP_DEBUG !== 'true')) return;\n    console.debug.apply(console, ['%cK#DEBUG', 'background-color:#cbf7da;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  }\n  info() {\n    console.info.apply(console, ['%cK#INFO', 'background-color:#cbecf7;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  }\n  warn() {\n    console.warn.apply(console, ['%cK#WARN', 'background-color:#f7e8cb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  }\n  error() {\n    console.error.apply(console, ['%cK#ERROR', 'background-color:#f7cbcb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  }\n}\n","export class KaControlBackdropService {\n\n  constructor(element) {\n    this.element = element;\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', event => { if (event.target === this.backdrop) this.close(); });\n  }\n\n  open(drawer) {\n    this.drawer = drawer;\n    return new Promise((resolve, reject) => {\n      try {\n        document.body.appendChild(this.backdrop);\n        setTimeout(() => {\n          // Move drawer to backdrop\n          let bounds = this.element.getBoundingClientRect();\n          let max_h = this.backdrop.getBoundingClientRect().height;\n          this.backdrop.appendChild(this.drawer);\n          /*\n          if (bounds.top + 280 > max_h) {\n            this.drawer.style.top = 'auto';\n            this.drawer.style.bottom = ((max_h - bounds.top - 30) + 60) + 'px';\n          } else {\n            this.drawer.style.top = bounds.top + 'px';\n            this.drawer.style.bottom = 'auto';\n          }\n          */\n          this.drawer.style.top = bounds.top + bounds.height + 'px';\n          this.drawer.style.left = bounds.left + 'px';\n          this.drawer.style.width = bounds.width + 'px';\n          resolve();\n        }, 0);\n      } catch (error) {\n        reject(error);\n      }\n    });\n  }\n  close() {\n    return new Promise((resolve, reject) => {\n      try {\n        this.element.appendChild(this.drawer);\n        this.drawer.removeAttribute('style');\n        document.body.removeChild(this.backdrop);\n        resolve();\n      } catch (error) {\n        reject(error);\n      }\n    });\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-check')\n@inject(Element)\nexport class KaControlCheck {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() description = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-check: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-check: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-check: schema changed!', schema);\n    this._schema = schema;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n  click($event) {\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.value = !this.value;\n      setTimeout(() => { this.element.dispatchEvent(new Event('change', { bubbles: true })); }, 100);\n    }\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport {HttpClient} from 'aurelia-http-client';\n\n@customElement('ka-control-combo')\n@inject(Element)\nexport class KaControlCombo {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() client = null;\n\n  _schema = null;\n  _value = null;\n  _client = null;\n  opened = false;\n\n  combostack = [];\n  valuestack = [];\n  preloadedCombostack = [];\n\n  constructor(element) {\n    this.element = element;\n\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', event => { if (event.target === this.backdrop) this.close(); });\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      console.warn('ka-control-combo: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        console.error('ka-control-combo: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      console.error('ka-control-combo: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (Array.isArray(schema.datasource) && !schema.datapreload) {\n      schema.datapreload = true; // Force datapreload = true if datasource is array of values\n    }\n    if (!schema.datavalue) {\n      schema.datavalue = 'value';\n    }\n    if (!schema.datatext) {\n      schema.datatext = 'text';\n    }\n    if (!schema.datasearch) {\n      schema.datasearch = {};\n    } else if (typeof schema.datasearch === 'string') {\n      try {\n        schema.datasearch = JSON.parse(schema.datasearch);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasearch provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasearch.operator) {\n      schema.datasearch.operator = '^=';\n    }\n    if (!schema.datasearch.keys) {\n      schema.datasearch.keys = schema.datatext;\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    console.debug('ka-control-combo: schema changed!', schema);\n    this._schema = schema;\n\n    // Deferred value change if needed\n    if (this.value && !this._value) this.valueChanged(this.value);\n\n    // Override http client if needed\n    if (schema.datasource.url) {\n      this._client = new HttpClient();\n      this._client.configure(x => {\n        x.withInterceptor({\n          response: msg => {\n            if (msg.responseType === 'json' && typeof msg.response === 'string') {\n              msg.response = JSON.parse(msg.response);\n            }\n            return msg;\n          }\n        });\n      });\n    } else this._client = this.client;\n\n    // Element classes\n    if (schema.datamultiple === true) {\n      this.element.classList.add('multiple');\n      //this.drawer.classList.add('multiple'); // added in html template\n    }\n\n    // Build combo items list\n    setTimeout(() => { this.buildCombostack(); }, this._client ? 0 : 100);\n  }\n\n  clientChanged(value) {\n    if (value && !this._client) this._client = value;\n  }\n\n  valueChanged(value) {\n    if (!this._schema) {\n      // Component is not ready for value handling\n      console.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n    // Validate value\n    if ((!value && !this._value) || (value !== 'null' && value === JSON.stringify(this._value))) {\n      return;\n    }\n    if (value === null) {\n      this.valuestack = [];\n      this.getValueModel();\n    } else if (this._schema.datamultiple === true) {\n      if (typeof value === 'string') {\n        try {\n          value = JSON.parse(value);\n        } catch (error) {\n          console.error('ka-control-combo: invalid value provided!', value);\n          return;\n        }\n      }\n      if (!Array.isArray(value)) {\n        console.warn('ka-control-combo: value should be an array! Trying to convert it...', value);\n        value = [String(value)];\n      }\n    } else {\n      if (typeof value !== 'string' && typeof value !== 'number') {\n        console.error('ka-control-combo: value must be a string or an integer!', value);\n        return;\n      }\n      value = [String(value)];\n    }\n    this._value = value;\n    setTimeout(() => {\n      this.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n    // Build display value\n    setTimeout(() => { this.buildValuestack(); }, this._client ? 0 : 100);\n  }\n\n  buildCombostack() {\n    let dts = this._schema.datasource;\n    let dtp = this._schema.datapreload;\n\n    if (dtp === true || Array.isArray(dts)) {\n      if (dts.table || dts.url) {\n        let endpoint = this.buildQueryUrl();\n        if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building combo stack');\n        this._client.get(endpoint).then(x => {\n          this.combostack = x.response;\n          this.preloadedCombostack = x.response;\n        }).catch(x => {\n          console.error('ka-control-combo: invalid datasource provided in schema!', this._schema);\n        });\n      } else if (Array.isArray(dts)) {\n        this.combostack = dts;\n        this.preloadedCombostack = dts;\n      } else {\n        console.error('ka-control-combo: invalid datasource provided in schema!', this._schema);\n        return;\n      }\n    }\n  }\n  get combostack() {\n    return this._combostack;\n  }\n  set combostack(stack) {\n    if (!stack || stack.length === 0) {\n      this._combostack = [];\n      return;\n    }\n    let dtv = this._schema.datavalue;\n    let dtt = this._schema.datatext;\n    let combostack = [];\n    for (let item of stack) {\n      let text = '';\n      let keys = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (keys) {\n        text = dtt;\n        for (let key of keys) {\n          let replacement = '';\n          key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n          if (item[key[1]] && key[2] && item[key[1]][key[2]]) replacement = item[key[1]][key[2]];\n          else if (item[key[1]]) replacement = item[key[1]];\n          text = text.replace(key[0], replacement);\n        }\n      } else {\n        try {\n          let evalSafeVar = item;\n          text = item[dtt] || eval(`evalSafeVar.${dtt}`);\n        } catch (error) {\n          text = '';\n        }\n      }\n      combostack.push({ value: String(item[dtv]), text: text, model: item });\n    }\n    this._combostack = combostack;\n  }\n\n  buildValuestack() {\n    if (!this._value) return;\n    let dts = this._schema.datasource;\n    let dtv = this._schema.datavalue;\n    let dtt = this._schema.datatext;\n    let values = this._value;\n    let valuestack = [];\n    let promises = [];\n    for (let value of values) {\n      let matched = this.combostack.find(x => String(x.value) === String(value)) || { value: String(value) };\n      valuestack.push(matched);\n    }\n    let unmatched = valuestack.filter(x => !x.text);\n    let endpoint;\n    if (unmatched.length) {\n      if (dts.query) {\n        let params = {};\n        if (typeof dts.query === 'string') {\n          if (dts.query.includes('=')) {\n            // handle stuff like datasource: { url: 'https://api.kamaji.it/v1/910100/comuni', query: 'filters={datavalue}%3D{value}' }\n            params = this.getUrlParams(dts.query.includes('?') ? `${dts.query}` : `?${dts.query}`);\n            Object.entries(params).forEach(([key, value]) => {\n              value = value.replace(/{datavalue}/g, dtv);\n              value = value.replace(/{datatext}/g, dtt);\n              value = value.replace(/{value}/g, unmatched.map(x => x.value).join(','));\n              params[key] = value;\n            });\n          } else {\n            // handle stuff like datasource: { table: 'users', query: 'uuid' }\n            params[dts.query] = unmatched.map(x => x.value).join(',');\n          }\n        } else if (dts.query.item) {\n          // handle stuff like datasource: { table: 'users', query: { search: 'text-search', item: 'uuid-in'} }\n          params[dts.query.item || dts.query] = unmatched.map(x => x.value).join(',');\n        }\n        endpoint = this.buildQueryUrl(params);\n      } else {\n        endpoint = this.buildQueryUrl({ filters: `${dtv}~~${unmatched.map(x => x.value).join(',')}` });\n      }\n      if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building value stack');\n      promises.push(this._client.get(endpoint).then(x => {\n        let response = x.response;\n        for (let item of response) {\n          let text = '';\n          let keys = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n          if (keys) {\n            text = dtt;\n            for (let key of keys) {\n              let replacement = '';\n              key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n              if (item[key[1]] && key[2] && item[key[1]][key[2]]) replacement = item[key[1]][key[2]];\n              else if (item[key[1]]) replacement = item[key[1]];\n              text = text.replace(key[0], replacement);\n            }\n          } else {\n            try {\n              let evalSafeVar = item;\n              text = item[dtt] || eval(`evalSafeVar.${dtt}`);\n            } catch (error) {\n              text = '';\n            }\n          }\n          let entry = valuestack.find((i) => i.value === String(item[dtv]));\n          entry.text = text;\n          entry.model = item;\n        }\n      }));\n    }\n    Promise.all(promises).finally(() => {\n      this.valuestack = valuestack;\n      this.getValueModel();\n    });\n  }\n  get valuestack() {\n    return this._valuestack;\n  }\n  set valuestack(stack) {\n    if (!stack || stack.length === 0) {\n      this._valuestack = [];\n      return;\n    }\n    this._valuestack = stack;\n  }\n  getValueModel() {\n    if (!this.value) return (this.valueModel = null);\n    if (this.schema.datamultiple === true) {\n      this.valueModel = this.valuestack.filter((x) => this.value.includes(x.value)).map((x) => x.model);\n    } else {\n      this.valueModel = this.valuestack.filter((x) => String(this.value) === String(x.value)).map((x) => x.model)[0];\n    }\n  }\n  open($event) {\n    if (this.readonly || ($event && $event.target.tagName === 'I')) return;\n    if (this.opened) return this.close();\n    this._combostack.forEach(x => x.selected = this._value && this._value.includes(x.value));\n    \n    setTimeout(() => {\n      this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n    }, 1);\n\n    document.body.appendChild(this.backdrop);\n    this.opened = true;\n\n    setTimeout(() => {\n      // Move drawer to backdrop\n      let bounds = this.drawer.getBoundingClientRect();\n      let max_h = this.backdrop.getBoundingClientRect().height;\n      this.backdrop.appendChild(this.drawer);\n      if (bounds.top + 280 > max_h) {\n        this.drawer.style.top = 'auto';\n        this.drawer.style.bottom = ((max_h - bounds.top - 30) + 60) + 'px';\n      } else {\n        this.drawer.style.top = bounds.top + 'px';\n        this.drawer.style.bottom = 'auto';\n      }\n      this.drawer.style.left = bounds.left + 'px';\n      this.drawer.style.width = bounds.width + 'px';\n      // Search input focus\n      if (this.searchInput) this.searchInput.focus();\n    }, 0);\n  }\n  close() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n    this.element.appendChild(this.drawer);\n    this.drawer.setAttribute('style', '');\n    document.body.removeChild(this.backdrop);\n    if (this._schema.datapreload !== true) this.combostack = [];\n    this.opened = false;\n    this.term = null;\n  }\n  select(item) {\n    if (item.model.optgroup || item.model.readonly === true) return;\n    let value = this._value || [];\n    let multiple = this._schema.datamultiple === true;\n    let index = value.indexOf(item.value);\n    if (multiple && index > -1) {\n      item.selected = false;\n      value.splice(index, 1);\n      this.valuestack.splice(index, 1);\n      if (value.length === 0) value = this._value = null;\n    } else if (multiple) {\n      item.selected = true;\n      value.push(item.value);\n      this.valuestack.push(item);\n    } else if (!multiple  && index > -1) {\n      item.selected = false;\n      value = this._value = null;\n      this.valuestack = [];\n      this.close();\n    } else if (!multiple) {\n      item.selected = true;\n      value = item.value;\n      this.valuestack = [item];\n      this.close();\n    }\n    this.value = value;\n    setTimeout(() => {\n      this.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n    this.getValueModel();\n  }\n\n  search() {\n    let dts = this._schema.datasource;\n    let dtv = this._schema.datavalue;\n    let dtt = this._schema.datatext;\n    let dtp = this._schema.datapreload;\n    let dsh = this._schema.datasearch;\n    let term = this.term;\n    let filters = [];\n    let endpoint;\n\n    if (dtp && this.preloadedCombostack.length > 8) {\n      this.combostack = this.preloadedCombostack.filter(x => String(x[dtt]).toUpperCase().indexOf(term.toUpperCase()) === 0);\n      return true;\n    }\n\n    if (!term || term.length < 2) return true;\n\n    if (!dts.table && !dts.url) {\n      return true;\n    }\n\n    if (dts.query && typeof dts.query === 'object' && dts.query.hasOwnProperty('search') && typeof dts.query.search === 'string') {\n      // handle stuff like datasource: { table: 'users', query: { search: 'text-search', item: 'uuid-in'} }\n      let params = {};\n      params[dts.query.search] = term;\n      endpoint = this.buildQueryUrl(params);\n    } else {\n      let keys = dsh.keys.match(/{(.*?)}/g); // dtt can be something like \"{key1} {key2} {key3}\" or \"Label1 {key1} label2 {key2}\"\n      if (keys) {\n        let terms = term.trim().split(' ');\n        if (terms.length > 1) {\n          keys.forEach((key, index) => {\n            if (terms[index]) filters.push(`${key.replace(/{|}/g, '')}${dsh.operator}${terms[index]}`);\n          });\n        } else {\n          keys.forEach((key, index) => {\n            filters.push(`${key.replace(/{|}/g, '')}${dsh.operator}${terms[0]}`);\n          });\n          filters = [`(${filters.join('|')})`];\n        }\n      } else {\n        filters.push(`${dtt}${dsh.operator}${term.trim()}`);\n      }\n      endpoint = this.buildQueryUrl({filters: filters.join('&')});\n    }\n\n    if (this.searchRequest && this.searchRequest.cancel) { this.searchRequest.cancel(); }\n    this.searchPending = true;\n    this.searchRequest = this._client.get(endpoint);\n    this.searchRequest.then((x) => {\n      this.combostack = x.response;\n      this._combostack.forEach((c) => (c.selected = this._value && this._value.includes(c.value)));\n      this.searchPending = false;\n    }).catch((error) => {\n      if (!error.statusCode === 0) {\n        console.error(error);\n        this.searchPending = false;\n      }\n    });\n    return true;\n  }\n  searchKeyUp() {\n    if (this.searchDebounceTimeout) {\n      clearTimeout(this.searchDebounceTimeout);\n    }\n    this.searchDebounceTimeout = setTimeout(() => {\n      this.search();\n    }, 800);\n    return true;\n  }\n  searchKeyDown($event) {\n    if (['Enter', 'Tab'].includes($event.key)) {\n      $event.preventDefault();\n      this.close();\n      this.element.focus();\n      return false;\n    }\n    return true;\n  }\n\n  getUrlParams(url) {\n    let query = url.match(/\\?(.*)$/);\n    if (!query) return {};\n    let chunks = query[1].split('&');\n    return chunks.reduce((params, hash) => {\n      let [key, val] = hash.split('=');\n      return Object.assign(params, { [key]: decodeURIComponent(val) });\n    }, {});\n  }\n  buildQueryUrl(params) {\n    let dts = this._schema.datasource;\n    let dtv = this._schema.datavalue;\n    let dtt = this._schema.datatext;\n    let dtf = this._schema.datafilter;\n    //let dsh = this._schema.datasearch;\n\n    if (!dts.table && !dts.url) {\n      console.warn('ka-control-combo: cannot build query url if datasource is not a table or url!', this._schema.datasource);\n      return;\n    }\n\n    let endpoint = dts.table || dts.url;\n    let urlParams = this.getUrlParams(endpoint);\n\n    if (dts.query && params) {\n      Object.assign(urlParams, params);\n    } else {\n      let fields;\n      let sort;\n      let keys;\n\n      keys = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (keys) {\n        keys = keys.map(b=>b.replace(/\\{(.*?)\\}/g, '$1').replace(/([^\\.]*).*/g, '$1'));\n        fields = keys.join(',');\n        sort = `+${keys.join(',+')}`;\n      } else {\n        fields = dtt;\n        sort = `+${dtt}`;\n      }\n\n      // keys = dsh.keys.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      // if (keys) {\n      //   keys = keys.map(b=>b.replace(/\\{(.*?)\\}/g, '$1').replace(/([^\\.]*).*/g, '$1'));\n      //   fields = fields.split(',');\n      //   fields = fields.concat(keys.filter(x => fields.indexOf(x) < 0)).join(',');\n      // } else {\n      //   fields = fields.split(',');\n      //   fields = fields.concat([dsh.keys].filter(x => fields.indexOf(x) < 0)).join(',');\n      // }\n\n      //let operator = this.queryOperator ? this.queryOperator : '^=';\n      //operator = this.dataoperator ? this.dataoperator : operator;\n      //params.filters = (params.filters ? '&' : '') + `(${datatext}${operator}${query})`;\n      if (dtf) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + `(${dtf})`;\n      }\n      if (params && params.filters) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + `(${params.filters})`;\n      }\n      if (urlParams.sort === 'null') {\n        delete urlParams.sort;\n      } else {\n        urlParams.sort = (urlParams.sort ? urlParams.sort + ',' : '') + sort;\n      }\n      urlParams.fields = (urlParams.fields ? urlParams.fields + ',' : '') + `${dtv},${fields}`;\n    }\n    endpoint = endpoint.replace(/\\?.*$/, '') + '?' + this.buildQueryString(urlParams);\n    return endpoint;\n  }\n  buildQueryString(params) {\n    return Object.keys(params).reduce((query, key) => {\n      return `${query}&${key}=` + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  }\n}\n\nexport class kaControlComboHighlightValueConverter {\n  toView(text, term) {\n    if (!term) return text;\n    let index = text.toLowerCase().indexOf(term.toLowerCase());\n    if (index >= 0) text = text.substring(0, index) + '<strong>' + text.substring(index, index + term.length) + '</strong>' + text.substring(index + term.length);\n    return text;\n  }\n}\nexport class kaControlComboTextifyValueConverter {\n  toView(text) {\n    return text.replace(/(<([^>]+)>)/gi, \"\");\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport { DateTime } from 'luxon';\nimport { KaControlBackdropService } from '../ka-control-backdrop/ka-control-backdrop';\n\n@customElement('ka-control-date')\n@inject(Element)\nexport class KaControlDate {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n  @bindable() autocomplete = null;\n\n  constructor(element) {\n    this.element = element;\n    this.backdrop = new KaControlBackdropService(this.element);\n  }\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-date: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-date: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-date: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  attached() {\n    this.element.querySelector('input.display-value').addEventListener('dblclick', () => { this.open(); });\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n  open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  }\n  close() {\n    this.change();\n    this.backdrop.close();\n  }\n  change() {\n    setTimeout(() => {\n      this.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  }\n}\nexport class controlDateValueConverter {\n  toView(value, utc) {\n    let date;\n    if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n      date = DateTime.fromFormat(value, 'yyyy-MM-dd');\n    } else if (/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) {\n      date = (!(utc === false)) ? DateTime.fromISO(value, { setZone: true }).toLocal() : DateTime.fromISO(value);\n    }\n    return date && date.isValid ? date.toFormat('dd/MM/yyyy') : value;\n  }\n  fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4}$/.test(value)) return value;\n    let date = DateTime.fromFormat(value, 'dd/MM/yyyy');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true });\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport { DateTime } from 'luxon';\nimport { KaControlBackdropService } from '../ka-control-backdrop/ka-control-backdrop';\n\n@customElement('ka-control-datetime')\n@inject(Element)\nexport class KaControlDateTime {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n  @bindable() autocomplete = null;\n\n  constructor(element) {\n    this.element = element;\n    this.backdrop = new KaControlBackdropService(this.element);\n  }\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-datetime: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-datetime: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-datetime: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  attached() {\n    this.element.querySelector('input.display-value').addEventListener('dblclick', () => { this.open(); });\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n  open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  }\n  close() {\n    this.change();\n    this.backdrop.close();\n  }\n  change() {\n    setTimeout(() => {\n      this.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  }\n}\nexport class controlDatetimeValueConverter {\n  toView(value, utc) {\n    if (!/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) return value;\n    let date = (!(utc === false)) ? DateTime.fromISO(value, { setZone: true }).toLocal() : DateTime.fromISO(value);\n    if (!date.isValid) return value;\n    return date.toFormat('dd/MM/yyyy HH:mm');\n  }\n  fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4} \\d{2}:\\d{2}$/.test(value)) return value;\n    let date = DateTime.fromFormat(value, 'dd/MM/yyyy HH:mm');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true });\n\n  }\n}","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport ClassicEditor from 'ka-ckeditor';\n\n\n@customElement('ka-control-editor')\n@inject(Element)\nexport class KaControlEditor {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-editor: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-editor: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-editor: schema changed!', schema);\n    this._schema = schema;\n\n    this.buildEditor();\n  }\n\n  valueChanged(value) {\n    if (!this.editor || this.editorValuePending || this.editor.getData() === value) return;\n    //konsole.debug('ka-control-editor: value changed!', value);\n    this.editorValuePending = true;\n    this.editor.setData(value || '');\n    setTimeout(() => { this.editorValuePending = false; }, 0);\n  }\n\n  readonlyChanged(readonly) {\n    if (this.editor) this.editor.isReadOnly = readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n\n  buildEditor() {\n    if (this._editor_initialized) return;\n    let config = {\n      toolbar: {\n        items: [\n          'heading',\n          '|',\n          'bold',\n          'italic',\n          'strikethrough',\n          'superscript',\n          'subscript',\n          'removeFormat',\n          '|',\n          'bulletedList',\n          'numberedList',\n          '|',\n          'alignment',\n          'indent',\n          'outdent',\n          '|',\n          'link',\n          'imageUpload',\n          'blockQuote',\n          'insertTable',\n          'mediaEmbed',\n          'undo',\n          'redo',\n          '|',\n          'code'\n        ]\n      },\n      language: 'it',\n      image: {\n        toolbar: [\n          'imageTextAlternative',\n          'imageStyle:full',\n          'imageStyle:side'\n        ]\n      },\n      table: {\n        contentToolbar: [\n          'tableColumn',\n          'tableRow',\n          'mergeTableCells'\n        ]\n      }\n    };\n    ClassicEditor.create(this.element, this.schema.params || config).then(editor => {\n      editor.setData(this.value || '');\n      editor.isReadOnly = this.readonly;\n      editor.model.document.on('change:data', () => { this.value = editor.getData(); });\n      editor.editing.view.document.on('change:isFocused', (evt, data, isFocused) => {\n        if (isFocused) this.focus();\n        else this.blur();\n      });\n      this.editor = editor;\n    }).catch(error => {\n      konsole.error('There was a problem initializing ckeditor', error );\n    }).finally(() => {\n      this._editor_initialized = true;\n    });\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-file')\n@inject(Element)\nexport class KaControlFile {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n  // Input control specific params property\n  @bindable() params = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-file: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-file: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-file: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  valueChanged(value) {\n    //konsole.debug('ka-control-file: value changed!', value);\n    if (typeof value === 'undefined' || value === '' || (value && !value.length)) value = null;\n    this.displayValue = value && value.length && value[0] && value[0].name ? value[0].name : value;\n  }\n\n  clear() {\n    this.value = null;\n  }\n\n  download() {\n    if (!this.value || !this.params.download) return;\n    window.open(this.params.download);\n  }\n\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-list')\n@inject(Element)\nexport class KaControlsList {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n\n  _schema = null;\n  _value = [];\n  newValue = {};\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {\n    if (!this.value) new Array(parseInt(this.schema && this.schema.min ? this.schema.min : 1, 10)).fill(0).forEach(() => { this.add(); });\n  }\n\n  schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-list: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      konsole.error('ka-control-list: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource.model) {\n      konsole.error('ka-control-list: model missing from datasource!', schema.datasource);\n      return;\n    }\n    if (!schema.datasource.model.schema) {\n      konsole.error('ka-control-list: schema missing from datasource model!', schema.datasource.model);\n      return;\n    }\n    if (!Array.isArray(schema.datasource.model.schema) || !schema.datasource.model.schema.length) {\n      konsole.error('ka-control-list: datasource model schema must be an array of objects!', schema.datasource.model);\n      return;\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-list: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n\n  change() {\n    if (!this._value.map(x => Object.values(x).join('')).join('').length) {\n      this.value = null;\n    } else {\n      this.value = JSON.stringify(this._value);\n    }\n  }\n\n  valueChanged(value) {\n    if (!this._schema) {\n      // Component is not ready for value handling\n      konsole.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n    // Validate value\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    let _value = value;\n    if (typeof _value === 'string') {\n      try {\n        _value = JSON.parse(_value);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(_value)) {\n      konsole.error('ka-control-list: value must be an array!', value);\n      return;\n    }\n    if (!_value.length) {\n      if (!this._value.length) this.add();\n      return;\n    }\n\n    //konsole.debug('ka-control-list: value changed!', _value);\n    this._value = _value;\n  }\n\n  add() {\n    let value = {};\n    for (let schema of this._schema.datasource.model.schema) {\n      value[schema.field] = null;\n    }\n    this._value.push(value);\n  }\n\n  remove(value) {\n    this._value = this._value.filter(v => v !== value);\n    this.change();\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-number')\n@inject(Element)\nexport class KaControlNumber {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-number: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-number: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-number: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-password')\n@inject(Element)\nexport class KaControlPassword {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n  @bindable() autocomplete = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-password: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-password: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-password: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\n\n@customElement('ka-control-table')\n@inject(Element, Router)\nexport class KaControlsTable {\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  @bindable() label = null;\n  _schema = null;\n  _value = [];\n  newValue = {};\n\n  constructor(element, router) {\n    this.element = element;\n    this.router = router;\n  }\n\n  attached() {\n  }\n\n  schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-table: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-control-table: schema must be an array of objects!', schema);\n      return;\n    }\n    //konsole.debug('ka-control-table: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  valueChanged(value) {\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    if (typeof value === 'string') {\n      try {\n        value = JSON.parse(value);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(value)) {\n      konsole.error('ka-control-table: value must be an array!', value);\n      return;\n    }\n    this._value = value;\n  }\n\n  update() {\n    this.value = JSON.stringify(this._value);\n  }\n\n  add(value) {\n    this.newValue = {};\n    this._value.push(value);\n    this.update();\n  }\n\n  remove(value) {\n    this._value = this._value.filter(v => v !== value);\n    this.update();\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-text')\n@inject(Element)\nexport class KaControlText {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n  @bindable() autocomplete = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-text: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-text: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-text: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-control-textarea')\n@inject(Element)\nexport class KaControlTextarea {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() readonly = null;\n  @bindable() placeholder = '';\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {}\n\n  schemaChanged(schema) {\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-control-textarea: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-textarea: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    // Thisify boolean schema attributes\n    for (let attribute of ['readonly']) {\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (typeof schema[attribute] !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    //konsole.debug('ka-control-textarea: schema changed!', schema);\n    this._schema = schema;\n  }\n\n  keydown() {\n    return !this.readonly;\n  }\n  focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  }\n  blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  }\n}\n","import {inject, customElement, bindable, bindingMode, BindingEngine, InlineViewStrategy, NewInstance} from 'aurelia-framework';\nimport {ValidationController, ValidationRules, validateTrigger} from 'aurelia-validation';\nimport {Router} from 'aurelia-router';\nimport { DateTime } from 'luxon';\nimport {KaApi, KaToast} from 'ka-components';\n\n\n@customElement('ka-control')\n@inject(Element, Router, KaApi, BindingEngine, NewInstance.of(ValidationController), KaToast)\nexport class KaControl {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() name = null;\n  @bindable() readonly = null;\n  @bindable() required = null;\n  @bindable() label = null;\n  @bindable() description = null;\n  @bindable() placeholder = '';\n  @bindable() autocomplete = null;\n  @bindable() error = null;\n  // Input control specific params property\n  @bindable() params = null;\n  @bindable() client = null;\n  // Other control input properties\n  parentResourceName = 'resource';\n  buttons = [];\n\n  constructor(element, router, api, binding, validator, toast) {\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.binding = binding;\n    this.validator = validator;\n    this.validator.validateTrigger = validateTrigger.manual; // This is because we don't want model to be automatically validated on input blur\n\n    ValidationRules\n      .ensure('value')\n      .required()\n      .when(self => self.required)\n      .withMessage('Campo obbligatorio')\n      .equals(true)\n      .when(self => self.schema.control === 'check' && self.required)\n      .withMessage('Spunta obbligatoria')\n\n      .satisfies((value, self) => value >= self.schema.min && value <= self.schema.max)\n      .when(self => self.schema.control === 'number' && self.schema.min && self.schema.max)\n      .withMessage('Il valore deve essere compreso tra ${schema.min} e ${schema.max}')\n      .satisfies((value, self) => value >= self.schema.min)\n      .when(self => self.schema.control === 'number' && self.schema.min && !self.schema.max)\n      .withMessage('Il valore deve essere uguale o maggiore di ${schema.min}')\n      .satisfies((value, self) => value <= self.schema.max)\n      .when(self => self.schema.control === 'number' && !self.schema.min && self.schema.max)\n      .withMessage('Il valore deve essere minore o uguale a ${schema.max}')\n\n      .satisfies((value, self) => value.length >= self.schema.min && value.length <= self.schema.max)\n      .when(self => self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && self.schema.max)\n      .withMessage('Il numero di caratteri deve essere compreso tra ${schema.min} e ${schema.max}')\n      .satisfies((value, self) => value.length >= self.schema.min)\n      .when(self => self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && !self.schema.max)\n      .withMessage('Il valore deve essere di almeno ${schema.min} caratteri')\n      .satisfies((value, self) => value.length <= self.schema.max)\n      .when(self => self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && !self.schema.min && self.schema.max)\n      .withMessage('Il valore non deve superare i ${schema.max} caratteri')\n\n      .satisfies((value, self) => {\n        let pattern = typeof self.schema.pattern === 'string' ? new RegExp(self.schema.pattern) : self.schema.pattern;\n        return value === null || value === '' || pattern.test(value);\n      })\n      .when(self => ['text', 'textarea', 'password', 'number'].includes(self.schema.control) && self.schema.pattern)\n      .withMessage('Formato non valido')\n\n      .satisfies((value, self) => self.schema.validationRule.satisfies(value, self))\n      .when(self => self.schema.validationRule)\n      .withMessage('${schema.validationRule.withMessage}')\n\n      .satisfies((value, self) => value === null || value === '' || DateTime.fromISO(value).isValid)\n      .when(self => self.schema.control === 'date' || self.schema.control === 'age')\n      .withMessage('Formato data non valido')\n\n      .satisfies((value, self) => value === null || value === '' || DateTime.fromISO(value).isValid)\n      .when(self => self.schema.control === 'datetime')\n      .withMessage('Formato data/orario non valido')\n\n      .satisfies((value, self) => value === null || value === '' || DateTime.fromFormat(value, 'HH:mm:ss').isValid)\n      .when(self => self.schema.control === 'time')\n      .withMessage('Formato orario non valido')\n      \n      .ensure('displayValue')\n      .required()\n      .when(self => self.required)\n      .withMessage('Campo obbligatorio')\n\n      .on(this);\n  }\n\n  bind(bindingContext) {\n    // Reference to view-model containing this component\n    this.parentContext = bindingContext;\n    // Get parent resource name if passed inside name\n    if (this.name && this.name.includes(':')) {\n      let [parentResourceName, name] = this.name.split(':');\n      this.parentResourceName = parentResourceName;\n      this.name = name;\n    }\n    // Bind to ka-resource if any in parentContext\n    if (this.name && this.parentContext[this.parentResourceName]) this.bindToResource();\n    // Handle control if not attached to ka-resource\n    if (!this.name && this.schema) this.schemaChanged(this.schema);\n    // Handle value collection observer if prefilled with array\n    if (this.value && Array.isArray(this.value)) this.subscribeValueCollectionObserver();\n    // Handle buttons configuration\n    if (this.element.hasAttribute('buttons')) {\n      this.buttons = this.element.getAttribute('buttons').split(',');\n    }\n  }\n\n  detached() {\n    this.unbindFromResource();\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n  }\n\n  schemaChanged(schema) {\n    if (!schema) return;\n    this.readonly = this.readonly !== null ? String(this.readonly) === 'true' : String(schema.readonly) === 'true';\n    if (!this.readonly && this.bindedToResource && this.parentContext[this.parentResourceName].readonly !== null) this.readonly = String(this.parentContext[this.parentResourceName].readonly) === 'true';\n    this.required = this.required !== null ? String(this.required) === 'true' : String(schema.required) === 'true';\n    this.label = this.label || schema.label || null;\n    this.placeholder = this.placeholder || schema.placeholder || '';\n    this.description = this.description || schema.description || null;\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-control-${schema.control} view-model.ref=\"control\" schema.bind=\"schema\" value.bind=\"value | nullifyEmpty & validate\" readonly.bind=\"readonly\" placeholder.bind=\"placeholder\" ${schema.control === 'check' ? 'description.bind=\"description\"' : ''} autocomplete.bind=\"autocomplete\" params.bind=\"params\" client.bind=\"${this.client ? 'client' : 'api'}\" focus.trigger=\"focus()\" blur.trigger=\"blur()\"></ka-control-${schema.control}></template>`);\n  }\n  valueChanged(value) {\n    if (this.bindedToResource && this.parentContext[this.parentResourceName].data && this.checkNested(this.parentContext[this.parentResourceName].data, this.name.split('.'))) eval(`this.parentContext.${this.parentResourceName}.data.${this.name} = value`);\n    if (Array.isArray(value)) {\n      this.subscribeValueCollectionObserver();\n    }\n    this.validate();\n  }\n  readonlyChanged() {\n    if (!this.schema) return;\n    if (String(this.schema.readonly) === 'true') this.readonly = true;\n  }\n  subscribeValueCollectionObserver() {\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n    this.valueCollectionObserver = this.binding.collectionObserver(this.value).subscribe((splice) => {\n      if (splice && splice[0] && splice[0].index > 0) this.valueChanged(this.value);\n    });\n  }\n  validate() {\n    this.element.classList.remove('error');\n    this.element.classList.remove('hadFocus');\n    let validator = this.validator.validate();\n    validator.then((result) => {\n      if (!result.valid) {\n        setTimeout(() => {\n          this.element.classList.add('error');\n        }, 1);\n      }\n    });\n    this.scrollErrorOverflow();\n    return validator;\n  }\n  setError(message) {\n    if (message && typeof message === 'string') {\n      this.element.classList.add('error');\n      this.validator.errors = [message];\n    } else if (message) {\n      this.element.classList.add('error');\n      this.validator.errors = message;\n    } else {\n      this.element.classList.remove('error');\n      this.validator.errors = [];\n    }\n  }\n  scrollErrorOverflow() {\n    setTimeout(()=>{\n      const wrapper = this.element.querySelector('.ka-control-error');\n      const scroller = this.element.querySelector('.ka-control-error-scroller');\n      if (!wrapper || !scroller) return;\n      if (scroller.offsetWidth > wrapper.offsetWidth) {\n        wrapper.classList.add('scroll');\n      } else {\n        wrapper.classList.remove('scroll');\n      }\n    }, 100);\n  }\n  focus() {\n    this.element.classList.add('hadFocus');\n    this.element.classList.add('focus');\n    this.scrollErrorOverflow();\n  }\n  blur() {\n    this.element.classList.remove('focus');\n  }\n  /**\n   * BUTTON FUNCTIONS\n   */\n  clear() {\n    this.value = null;\n    if (!['combo'].includes(this.schema.control)) this.element.dispatchEvent(new Event('change', { bubbles: true }));\n  }\n  dropdown() {\n    if (this.control && this.control.open) this.control.open();\n  }\n  copy() {\n    if (!this.value || !navigator) return;\n    navigator.clipboard.writeText(this.value);\n    this.toast.show('Copiato negli appunti con successo!', 'success');\n  }\n\n  bindToResource() {\n    if (!this.parentContext[this.parentResourceName]) return;\n    const resource = this.parentContext[this.parentResourceName];\n    // Bind to parent resource controls\n    if (resource.controls) {\n      resource.controls[this.name] = this;\n    }\n\n    // Bind to parent resource schema\n    if (resource.schema) {\n      const setSchemaBinding = () => {\n        // If resource schema is alredy set, bind to it\n        if (this.checkNested(resource.schema, this.name.split('.'))) this.schema = eval(`resource.schema.${this.name}`);\n        // Set observer for control's schema changes on resource\n        if (this.resourceControlSchemaBinding) this.resourceControlSchemaBinding.dispose();\n        this.resourceControlSchemaBinding = this.binding.expressionObserver(this, `parentContext.${this.parentResourceName}.schema.${this.name}`).subscribe((value) => this.schema = value);\n      };\n      setSchemaBinding();\n      // Reset binding if resource schema gets entirely replaced\n      this.resourceSchemaBinding = this.binding.expressionObserver(this, `parentContext.${this.parentResourceName}.schema`).subscribe((value) => setSchemaBinding());\n    } else if (this.schema) {\n      this.schemaChanged(this.schema);\n    }\n\n    // Bind to parent resource data\n    if (resource.data) {\n      // Setup resource data properties for this control if does not already exists\n      this.createNested(resource.data, this.name.split('.'));\n      const setDataBinding = () => {\n        // If resource data is alredy set, bind to it\n        if (this.checkNested(resource.data, this.name.split('.'))) this.value = eval(`resource.data.${this.name}`);\n        // Set observer for control's data changes on resource\n        if (this.resourceControlValueBinding) this.resourceControlValueBinding.dispose();\n        this.resourceControlValueBinding = this.binding.expressionObserver(this, `parentContext.${this.parentResourceName}.data.${this.name}`).subscribe((value) => { if (value !== this.value) this.value = value; });\n      };\n      setDataBinding();\n      // Reset binding if resource schema gets entirely replaced\n      this.resourceValueBinding = this.binding.expressionObserver(this, `parentContext.${this.parentResourceName}.data`).subscribe((value) => setDataBinding());\n    }\n\n    // Bind to parent resource readonly property\n    if (!this.readonly) this.resourceReadonlyBinding = this.binding.expressionObserver(this, `parentContext.${this.parentResourceName}.readonly`).subscribe((value) => { this.readonly = value; });\n\n    this.bindedToResource = true;\n  }\n  unbindFromResource() {\n    if (this.resourceControlSchemaBinding) this.resourceControlSchemaBinding.dispose();\n    if (this.resourceControlValueBinding) this.resourceControlValueBinding.dispose();\n    if (this.resourceSchemaBinding) this.resourceSchemaBinding.dispose();\n    if (this.resourceValueBinding) this.resourceValueBinding.dispose();\n    if (this.resourceReadonlyBinding) this.resourceReadonlyBinding.dispose();\n    this.bindedToResource = false;\n  }\n  checkNested(obj, levels) {\n    let level = levels.shift();\n    if (obj === undefined || obj === null || !obj.hasOwnProperty(level)) return false;\n    return levels.length ? this.checkNested(obj[level], levels) : true;\n  }\n  createNested(obj, levels) {\n    let level = levels.shift();\n    if (!obj.hasOwnProperty(level)) {\n      obj[level] = levels.length ? {} : null;\n    } else if (obj[level] === null && levels.length) {\n      obj[level] = {};\n    }\n    return levels.length ? this.createNested(obj[level], levels) : null;\n  }\n}\nexport class NullifyEmptyValueConverter {\n  fromView(value) {\n    return value === '' ? null : value;\n  }\n}","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport { DateTime, Info, Interval, Duration } from 'luxon';\n\n@customElement('ka-datetime')\n@inject(Element)\nexport class KaDatetime {\n  @bindable() type = 'date';\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n\n  constructor(element) {\n    this.element = element;\n\n    this.months = Info.months().map((month, index) => {\n      return {\n        numeric: parseInt(Info.months('numeric')[index], 10),\n        long: Info.months('long')[index],\n        short: Info.months('short')[index]\n      }\n    });\n\n    this.weekdays = Info.weekdays().map((weekday, index) => {\n      return {\n        numeric: index + 1,\n        long: Info.weekdays('long')[index],\n        short: Info.weekdays('short')[index]\n      }\n    });\n\n    this.hours = Array.from({ length: 24 }).map((hour, index) => {\n      return index;\n    });\n\n    this.minutes = Array.from({ length: 60 }).map((minute, index) => {\n      return index;\n    });\n    \n    this.init();\n  }\n\n  valueChanged(value) {\n    this.init();\n  }\n  get dateTime() {\n    if (!this.value) return DateTime.now();\n    let value = this.value;\n    if (this.type === 'date') value = (!(this.utc === false)) ? DateTime.fromISO(value, { setZone: true }).toLocal() : DateTime.fromISO(value);//value = DateTime.fromFormat(value, 'yyyy-MM-dd');\n    else if (this.type === 'datetime') value = (!(this.utc === false)) ? DateTime.fromISO(value, { setZone: true }).toLocal() : DateTime.fromISO(value);\n    else if (this.type === 'time') value = DateTime.fromFormat(value, 'HH:mm:ss');\n    return (value && value.isValid) ? value : DateTime.now();\n  }\n  set dateTime(value) {\n    if (this.type === 'date') this.value = (!(this.utc === false)) ? value.set({seconds: 0, milliseconds: 0}).toUTC().toISO({ suppressMilliseconds: true }) : value.set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true });//this.value = value.toFormat('yyyy-MM-dd');\n    else if (this.type === 'datetime') this.value = (!(this.utc === false)) ? value.set({seconds: 0, milliseconds: 0}).toUTC().toISO({ suppressMilliseconds: true }) : value.set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true });\n    else if (this.type === 'time') this.value = value.toFormat('HH:mm:00');\n  }\n\n  init() {\n    let date = this.dateTime;\n    this.selected = {\n      day: date.get('day'),\n      month: date.get('month'),\n      year: date.get('year'),\n      hour: date.get('hour'),\n      minute: date.get('minute')\n    };\n\n    this.years = [];\n    for (let i = this.selected.year - 5; i < this.selected.year + 6; i++) {\n      this.years.push(i);\n    }\n    this.weeks = [];\n    let monthInterval = Interval.fromDateTimes(date.startOf('month'), date.endOf('month'));\n    for (let i = 0; i < monthInterval.count('weeks'); i++) {\n      let startWeek = monthInterval.start.plus({ weeks: i }).startOf('week');\n      let weekInterval = Interval.fromDateTimes(startWeek, startWeek.endOf('week'));\n      let week = [];\n      weekInterval.splitBy(Duration.fromObject({ days: 1 })).forEach(day => {\n        week.push({\n          day: day.start.get('day'),\n          weekday: day.start.get('weekday'),\n          month: day.start.get('month'),\n          year: day.start.get('year'),\n          value: day.start,\n          text: day.start.toFormat('dd')\n        });\n      });\n      this.weeks.push(week);\n    };\n  }\n  setValues(values) {\n    console.log(values);\n    this.dateTime = this.dateTime.set(values);\n    if (values.day) setTimeout(() => { this.element.dispatchEvent(new Event('selected', { bubbles: true })); }, 100);\n  }\n  shiftValues(values) {\n    this.dateTime = this.dateTime.plus(values);\n  }\n}","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(DialogController)\nexport class KaDialogVm {\n\n  constructor(controller){\n    this.controller = controller;\n  }\n\n  activate(params) {\n    let classes = params.viewModel ? ['viewModel'] : [''];\n    params.class = params.class ? classes.concat(params.class.split(' ')).join(' ') : classes.join(' ');\n    this.params = params;\n    if (this.params.viewModel && this.params.viewModelParams) this.params.viewModelParams.dialog = this.controller;\n  }\n}\n","import {bindable, bindingMode, inject} from 'aurelia-framework';\nimport {DialogService} from 'aurelia-dialog';\nimport {KaDialogVm} from './ka-dialog-vm';\n\n@inject(DialogService)\nexport class KaDialog {\n\n  constructor(dialog) {\n    this.dialog = dialog;\n  }\n\n  open(model, lock = true) {\n    return this.dialog.open({ viewModel: KaDialogVm, model: model, lock: lock });\n  }\n}\n","import {inject, customAttribute} from 'aurelia-framework';\n\n@customAttribute('ka-enter')\n@inject(Element)\nexport class KaEnterCustomAttribute {\n  _callback = null;\n\n  constructor(element) {\n    this.element = element;\n\n    this.element.addEventListener('keydown', (e) => {\n      let inputs = [];\n      if (this.element.tagName === 'INPUT') inputs = [this.element];\n      else inputs = Array.from(this.element.querySelectorAll('input'));\n      if (e.keyCode === 13 && inputs.includes(e.target)) {\n        if (typeof this._callback === 'function') {\n          e.target.blur();\n          this._callback({ event: e });\n\n        }\n      }\n    });\n  }\n\n  bind() {\n    this._callback = this.value;\n  }\n}\n\n","import {inject, customElement, containerless, BindingEngine, bindable, bindingMode, NewInstance} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {ValidationController, ValidationRules, validateTrigger} from 'aurelia-validation';\nimport {HttpClient} from 'aurelia-http-client';\nimport {KaDialog} from '../ka-dialog/ka-dialog';\nimport ClassicEditor from 'ka-ckeditor';\nimport moment from 'moment';\n\n@customElement('ka-input-controls')\n@containerless()\n@inject(Element, Router, NewInstance.of(ValidationController), BindingEngine, KaDialog)\nexport class KaInputControls {\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) displayValue = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) objectValue = null;\n  // Kamaji's field configuration\n  @bindable() config = null;\n  // Reference to record id\n  @bindable() record = null;\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() control = null;\n  @bindable() client = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  // Other parameters\n  @bindable() validation = true;\n  @bindable() queryOperator = null; // operator for combo queries\n  // Event callbacks\n  @bindable() change = null;\n  @bindable() ready = null;\n  @bindable() dialogClosed = null;\n\n  constructor(element, router, validator, bindingEngine, dialog) {\n    this.element = element;\n    this.router = router;\n    this.bindingEngine = bindingEngine;\n    this.dialog = dialog;\n    this.validator = validator;\n    this.validator.validateTrigger = validateTrigger.manual; // This is because we don't want model to be automatically validated on input blur\n    this._client = new HttpClient(); // Internal http client, to use with combo fields with datasource = url, or with a combo field for which a client is not specified\n    this._client.configure(x => {\n      x.withInterceptor({\n        response: msg => {\n          if (msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        }\n      });\n    });\n    // SET VALIDATION RULES\n    ValidationRules\n      .ensure('value')\n        .required()\n          .when(self => self.required)\n          .withMessage('Campo obbligatorio')\n        .equals(true)\n          .when(self => self.control === 'check' && self.required)\n          .withMessage('Spunta obbligatoria')\n\n        .satisfies((value, self) => value >= self.min && value <= self.max)\n          .when(self => self.control === 'number' && self.min && self.max)\n          .withMessage('Il valore deve essere compreso tra ${min} e ${max}')\n        .satisfies((value, self) => value >= self.min)\n          .when(self => self.control === 'number' && self.min && !self.max)\n          .withMessage('Il valore deve essere uguale o maggiore di ${min}')\n        .satisfies((value, self) => value <= self.max)\n          .when(self => self.control === 'number' && !self.min && self.max)\n          .withMessage('Il valore deve essere minore o uguale a ${max}')\n\n        .satisfies((value, self) => value.length >= self.min && value.length <= self.max)\n          .when(self => self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && self.max)\n          .withMessage('Il numero di caratteri deve essere compreso tra ${min} e ${max}')\n        .satisfies((value, self) => value.length >= self.min)\n          .when(self => self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && !self.max)\n          .withMessage('Il valore deve essere di almeno ${min} caratteri')\n        .satisfies((value, self) => value.length <= self.max)\n          .when(self => self.value && ['text', 'textarea', 'password'].includes(self.control) && !self.min && self.max)\n          .withMessage('Il valore non deve superare i ${max} caratteri')\n\n        .satisfies((value, self) => value === null || value === '' || ((self.pattern).test(value)))\n          .when(self => self.control === 'text' && self.pattern)\n          .withMessage('Formato non valido')\n\n      .ensure('displayValue')\n        .required()\n          .when(self => self.required)\n          .withMessage('Campo obbligatorio')\n        .satisfies((value, self) => value === null || value === '' || ((/^\\d{2}\\/\\d{2}\\/\\d{4}$/g).test(value) && moment(value, 'DD-MM-YYYY').isValid()))\n          .when(self => self.control === 'date' || self.control === 'age')\n          .withMessage('Formato data non valido')\n    .on(this);\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  }\n  attached() {\n    this.init();\n  }\n\n  init() {\n    if (!this.initialized) {\n      if (!this.config || !this.element || !this.element.parentElement) return;\n      this.element = this.element.parentElement;\n    }\n    ////konsole.debug('ka-input initialized' + (this.initialized ? ' again' : ''), this.config.name || this.config.field);\n    this.initialized = true;\n    \n    let config_overrides = {\n      label: this.label !== null ? this.label : (this.config && this.config.label ? this.config.label : null),\n      default: this.default !== null ? this.default : (this.config && this.config.default ? this.config.default : null),\n      required: this.required !== null ? this.required === 'true' || this.required === true : (this.config && this.config.required ? this.config.required : null),\n      readonly: this.readonly !== null ? this.readonly === 'true' || this.readonly === true : (this.config && this.config.readonly ? this.config.readonly : null),\n      control: this.control !== null ? this.control : (this.config && this.config.control ? this.config.control : null)\n    };\n    Object.assign(this, this.config, config_overrides);\n    this.config = null;\n\n    this.id = 'ka-input-' + (this.field || 'noname') + '-' + Math.random().toString(36).slice(-6);\n\n    // Parse datasource\n   \n    if (typeof this.datasource === 'string' && (this.datasource.indexOf('{') === 0 || this.datasource.indexOf('[') === 0)) {\n      this.datasource = JSON.parse(this.datasource);\n      if (this.datasource.table && this.datasource.table.indexOf('_') === 0) this.datasource.table = this.datasource.table.substring(1); // Kamaji1 backwards compatibility\n    }\n    if (this.datasource && !this.datatext)\n      this.datatext = 'text';\n    if (this.datasource && !this.datavalue)\n      this.datavalue = 'value';\n\n    // Parse value\n    if (!this.value && this.default)\n      this.value = this.default;\n    if (this.value && typeof this.value === 'object' && this.datasource && this.datavalue && this.value[this.datavalue])\n      this.value = String(this.value[this.datavalue]);\n    if (this.value && typeof this.value === 'object' && this.datatype === 'json')\n      this.value = JSON.stringify(this.value);\n\n    // INIT INPUT\n    let input;\n    switch (this.control) {\n    case 'text':\n      this.type = 'text';\n      input = this.element.querySelector('input');\n      if (input && this.min) input.setAttribute('minlength', this.min);\n      if (input && this.max) input.setAttribute('maxlength', this.max);\n      break;\n    case 'textarea':\n      this.type = 'textarea';\n      input = this.element.querySelector('textarea');\n      if (input && this.min) input.setAttribute('minlength', this.min);\n      if (input && this.max) input.setAttribute('maxlength', this.max);\n      break;\n    case 'password':\n      this.type = 'password';\n      input = this.element.querySelector('input');\n      if (input && this.min) input.setAttribute('minlength', this.min);\n      if (input && this.max) input.setAttribute('maxlength', this.max);\n      break;\n    case 'number':\n      this.type = 'number';\n      input = this.element.querySelector('input');\n      if (input && this.min) input.setAttribute('min', this.min);\n      if (input && this.max) input.setAttribute('max', this.max);\n      break;\n    case 'check':\n      this.type = !this.datamultiple ? 'checkbox' : 'checklist';\n      if (this.datamultiple && this.datapreload) this.checklistInit();\n      if (this.datamultiple && !this.datapreload) this.comboListUpdate();\n      break;\n    case 'date':\n    case 'age':\n      this.type = 'text';\n      this.placeholder = this.placeholder || 'gg/mm/aaaa';\n      this.dateInit();\n      break;\n    case 'time':\n      this.type = 'time';\n      this.placeholder = this.placeholder || 'HH:mm';\n      break;\n    case 'combo':\n      this.type = 'combo';\n      this.comboInit();\n      break;\n    case 'editor':\n      this.type = 'editor';\n      this.editorInit();\n      break;\n    case 'file':\n      this.type = 'file';\n      break;\n    default:\n      this.type = 'text';\n      break;\n    }\n    this.element.classList.add('type-' + this.type);\n\n    // Parse static attributes\n    if (this.element.hasAttribute('description')) this.description = this.element.getAttribute('description');\n    else if (this.control === 'check' && !this.datamultiple && !this.description) { this.description = this.label; this.label = null; }\n    if (this.element.hasAttribute('placeholder')) this.placeholder = this.element.getAttribute('placeholder');\n    else this.placeholder = this.placeholder || '';\n\n    // Other classes\n    if (this.readonly) this.element.classList.add('readonly');\n    if (this.required) this.element.classList.add('required');\n\n    // INIT buttons\n\n    this.buttons = {};\n    if (!this.element.classList.contains('no-buttons')) {\n      if (!this.element.classList.contains('no-clear') && this.control !== 'editor' && this.control !== 'check') this.buttons.clearEnabled = true;\n      if (!this.element.classList.contains('no-add') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.addEnabled = !this.value;\n      if (!this.element.classList.contains('no-open') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.openEnabled = !!this.value;\n      \n      if (this.element.classList.contains('dropdown') && this.control === 'combo') this.buttons.dropdownEnabled = true;\n      \n      if (this.control === 'password') this.buttons.showEnabled = true;\n      if (this.control === 'file') this.buttons.downloadEnabled = true;\n    }\n    this.buttons.length = Object.keys(this.buttons).length;\n\n    this.buttons.clear = () => {\n      this.value = null;\n      if (this.control === 'date' || this.control === 'age') this.dateDisplayValue();\n      if (this.control === 'combo') this.comboDisplayValue();\n      this.validate();\n    };\n    this.buttons.open = () => {\n      let childRoute = this.router.routes.filter(x => { return x.name == (this.datasource.table || this.router.currentInstruction.config.name) })[0];\n      if (!childRoute || !this.value || typeof this.value != 'string') return;\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: this.value }\n      }, true).whenClosed(response => {\n        if (this.control == 'combo') {\n          this.comboItemsSource = null;\n          this.comboDisplayValue();\n        }\n        if (typeof this.dialogClosed === 'function') this.dialogClosed(response);\n      });\n    };\n    this.buttons.add = () => {\n      let childRoute = this.router.routes.filter(x => { return x.name == (this.datasource.table || this.router.currentInstruction.config.name) })[0];\n      if (!childRoute || this.value) return;\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new' }\n      }, true).whenClosed(response => {\n        if (response.output && response.output.id) {\n          this.value = response.output.id;\n        }\n        if (typeof this.dialogClosed === 'function') this.dialogClosed(response);\n      });\n    };\n    this.buttons.show = () => {\n      this.type = 'text';\n      this.buttons.showEnabled = false;\n      this.buttons.hideEnabled = true;\n    };\n    this.buttons.hide = () => {\n      this.type = 'password';\n      this.buttons.showEnabled = true;\n      this.buttons.hideEnabled = false;\n    };\n    this.buttons.download = () => {\n      if (!this.value) return;\n      let download = (this.element.hasAttribute('download') && this.element.getAttribute('download') === 'false') ? 0 : 1;\n      window.open(`${this.client._baseUrl}storage/${this.record}/${this.field}?download=${download}&access_token=${localStorage.getItem('access_token') || sessionStorage.getItem('access_token')}`);\n    };\n    this.buttons.dropdown = () => {\n      this.element.querySelector('input').focus();\n    };\n\n    if (this.control === 'combo') {\n    } else {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n      this.format();\n    }\n  }\n  configChanged(value) {\n    if (value) this.init();\n  }\n  valueChanged(value) {\n    if (this.control === 'date' || this.control === 'age') {\n      this.dateDisplayValue();\n    }\n    if (this.control === 'combo') {\n      this.comboDisplayValue();\n    }\n    if (this.control === 'check' && this.datamultiple) {\n      if (this.datapreload) this.checklistParseSelected();\n      else this.comboListUpdate();\n    }\n    if (this.control === 'editor' && this.editor && this.editor.data) {\n      if (this.editor.data.get() !== value) this.editor.data.set(value || '');\n    }\n    if (this.control === 'file') {\n      this.fileDisplayValue();\n    }\n    if (this.value && typeof this.value === 'object' && this.datatype === 'json') {\n      this.value = JSON.stringify(this.value);\n    }\n    if (typeof this.change === 'function' && this._ready) {\n      setTimeout(() => {\n        this.change({ value: this.value });\n      }, 100);\n    }\n  }\n  requiredChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('required');\n    else this.element.classList.remove('required');\n  }\n  readonlyChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('readonly');\n    else this.element.classList.remove('readonly');\n    if (this.control === 'editor' && this.editor) this.editor.isReadOnly = value;\n  }\n  focus() {\n    if (this.readonly) return;\n    this.element.classList.add('focus');\n  }\n  blur() {\n    if (this.readonly) return;\n    this.element.classList.remove('focus');\n    this.validate();\n  }\n  keyup($event) {\n    if (this.control === 'date' || this.control === 'age') {\n      if (!this.displayValue || $event.keyCode === 8 || $event.keyCode === 9 || $event.keyCode === 16 || $event.keyCode === 46) return; // Break on backspace + delete\n      let value = this.displayValue.split('-');\n      value = (value[2] ? value[2] + '/' : '') + (value[1] ? value[1] + '/' : '') + (value[0] ? value[0] : '');\n      if(!(/^([0123]|(?:0[1-9])|[12]\\d|3[01])$|^(\\d{2})\\/$|^(\\d{2})\\/([01]|(?:0[1-9])|1[012])$|^(\\d{2})\\/(\\d{2})\\/$|^(\\d{2})\\/(\\d{2})\\/(\\d{0,4})$/g).test(value))\n        value = value.slice(0, -1);\n      if ((/^\\d{2}$|^\\d{2}\\/\\d{2}$/g).test(value))\n        value += '/';\n      this.displayValue = value;\n    }\n  }\n  format() {\n    if (typeof this.value === 'undefined') return;\n    switch (this.control) {\n    case 'text':\n      this.value = this.value;\n      break;\n    case 'password':\n      this.value = !this.value || this.value.length === 0 ? null : this.value;\n      break;\n    case 'number':\n      this.value = this.value;\n      break;\n    case 'date':\n    case 'age':\n      this.value = !this.displayValue || this.displayValue === '' || this.displayValue === '0000-00-00' ? null : (/^\\d{2}\\/\\d{2}\\/\\d{4}$/g).test(this.displayValue) && moment(this.displayValue, 'DD/MM/YYYY').isValid() ? moment(this.displayValue, 'DD/MM/YYYY').format('YYYY-MM-DD') : this.displayValue;\n      break;\n    case 'combo':\n      this.value = this.value;\n      break;\n    case 'file':\n      this.value = this.value;\n      break;\n    default:\n      this.value = this.value;\n      break;\n    }\n  }\n  validate() {\n    this.format();\n    if (!this.validation) {\n      return new Promise((resolve) => {\n        this.element.classList.remove('error');\n        resolve({\n          instruction: undefined,\n          results: [],\n          valid: true\n        });\n      });\n    }\n    return new Promise((resolve, reject) => {\n      this.validator.validate().then(result => {\n        if (result.valid) {\n          // validation succeeded\n          this.element.classList.remove('error');\n          return resolve(result);\n        }\n        // validation failed\n        this.element.classList.add('error');\n        return reject(result);\n      });\n    });\n  }\n  /* DATE FUNCTIONS */\n\n  dateInit() {\n    if (this.value && !this.displayValue) this.dateDisplayValue();\n  }\n  dateDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || this.value === '0000-00-00') return this.value = null;\n    this.displayValue = !this.value || this.value === '' || this.value === '0000-00-00' ? null : (/^\\d{4}-\\d{2}-\\d{2}$/g).test(this.value) ? moment(this.value,'YYYY-MM-DD').format('DD/MM/YYYY') : this.value;\n  }\n\n  /* CHECKBOX FUNCTIONS */\n\n  checkClick($event) {\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    }\n    else {\n      this.value = !this.value;\n      this.validate();\n    }\n  }\n\n  /* EDITOR FUNCTIONS */\n\n  editorInit() {\n    if (this._editor_initialized) return;\n    let config = {\n      toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'indent', 'outdent', '|', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo'],\n      heading: {\n        options: [{\n          model: 'paragraph',\n          view: 'p',\n          title: 'Paragrafo',\n          class: 'ck-heading_paragraph'\n        }, {\n          model: 'heading1',\n          view: 'h2',\n          title: 'Intestazione 1',\n          class: 'ck-heading_heading1'\n        }, {\n          model: 'heading2',\n          view: 'h3',\n          title: 'Intestazione 2',\n          class: 'ck-heading_heading2'\n        }, {\n          model: 'heading3',\n          view: 'h4',\n          title: 'Intestazione 3',\n          class: 'ck-heading_heading3'\n        }]\n      }\n    };\n    ClassicEditor.create(this.element.querySelector('.ka-input-editor'), config).then(editor => {\n      editor.data.set(this.value || '');\n      editor.isReadOnly = this.readonly;\n      editor.model.document.on('change:data', () => { this.value = editor.data.get(); });\n      this.editor = editor;\n    }).catch(error => {\n      konsole.error('There was a problem initializing ckeditor', error );\n    }).finally(() => {\n      this._editor_initialized = true;\n    });\n  }\n\n  /* FILE FUNCTIONS */\n\n  fileInit() {\n\n  }\n  fileDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || (this.value && !this.value.length)) return this.value = null;\n    if (this.value === null) {\n      // Hard reset field\n      let form = document.createElement('form');\n      form.style.display = 'none';\n      this.element.parentElement.insertBefore(form, this.element);\n      form.append(this.element);\n      form.reset();\n      form.parentElement.insertBefore(this.element, form);\n      form.remove();\n    }\n    this.displayValue = this.value && this.value.length && this.value[0] && this.value[0].name ? this.value[0].name : this.value;\n  }\n\n  /* COMBO FUNCTIONS */\n\n  comboInit() {\n    if (this.value && !this.displayValue) this.comboDisplayValue();\n  }\n  comboOpen() {\n    if (this.readonly) return;\n    if (this.comboOpened) return this.comboClose();\n    // Add backdrop\n    if (!this.backdrop) {\n      this.backdrop = document.createElement('div');\n      this.backdrop.classList.add('ka-input-backdrop');\n      this.backdrop.setAttribute('id', 'ka-input-backdrop-' + this.field);\n      this.backdrop.addEventListener('click', event => { if (event.target == this.backdrop) this.comboClose(); });\n    }\n    this.backdrop.style.display = 'block';\n    document.body.insertBefore(this.backdrop, document.body.children[0]);\n    // Open combo\n    this.comboOpened = true;\n    this.comboItems = [];\n    setTimeout(() => {\n      // Move drawer to backdrop and open\n      let bounds = this.drawer.getBoundingClientRect();\n      let max_h = this.backdrop.getBoundingClientRect().height;\n      this.backdrop.appendChild(this.drawer);\n      if (bounds.top + 280 > max_h) {\n        this.drawer.style.top = 'auto';\n        this.drawer.style.bottom = ((max_h - bounds.top - 30) + 60) + 'px';\n      }\n      else {\n        this.drawer.style.top = bounds.top + 'px';\n        this.drawer.style.bottom = 'auto';\n      }\n      this.drawer.style.left = bounds.left + 'px';\n      this.drawer.style.width = bounds.width + 'px';\n      this.comboReady = true;\n      this.comboQuery();\n    }, 200);\n  }\n  comboClose() {\n    // Move drawer back to component\n    this.drawer.style = {};\n    this.combo.appendChild(this.drawer);\n    // Remove backdrop\n    this.backdrop.style.display = 'none';\n    // Close combo\n    this.comboOpened = false;\n    this.comboReady = false;\n    this.comboQueryValue = null;\n  }\n  comboQuery(query) {\n    this.comboGetItems(query).then((items) => {\n      this.comboItems = items;\n      this.comboParseSelected();\n    });\n  }\n  comboGetItems(query, value) { // Returns combo items by matching text query or value\n    return new Promise((resolve, reject) => {\n      let items = [];\n      let client = !this.client || this.datasource.url ? this._client : this.client;\n      let datasource = null;\n\n      if (typeof this.datasource === 'string' && (this.datasource.indexOf('{') === 0 || this.datasource.indexOf('[') === 0))\n        datasource = JSON.parse(this.datasource);\n      else if (typeof this.datasource === 'string' && this.parentContext.datasources && this.parentContext.datasources[this.datasource])\n        datasource = this.parentContext.datasources[this.datasource];\n      else if (Array.isArray(this.datasource))\n        datasource = this.datasource;\n      else datasource = this.datasource;\n      \n      if (this.datapreload && (!this.comboItemsSource || (!query && !value)) && (datasource.table || datasource.url)) {\n        if (this.comboItemsSource) {\n          items = this.comboItemsSource;\n          if (query) this.comboGetItems(query).then((items) => { resolve(items); });\n          if (value) this.comboGetItems(null, value).then((items) => { resolve(items); });\n          else resolve(items);\n        }\n        else client.get(datasource.table || datasource.url).then(x => {\n          items = this.comboItemsSource = this.parse_response(x);\n          if (query) this.comboGetItems(query).then((items) => { resolve(items); });\n          if (value) this.comboGetItems(null, value).then((items) => { resolve(items); });\n          else resolve(items);\n        }).catch(x => {});\n      }\n      else if (this.datapreload && (!this.comboItemsSource || (!query && !value)) && Array.isArray(datasource)) {\n        items = this.comboItemsSource = datasource;\n        if (!query && !value) resolve(items);\n      }\n\n      if (this.datapreload && this.comboItemsSource && query) {\n        items = this.comboItemsSource.filter(x => { return x[this.datatext].toLowerCase().indexOf(query.toLowerCase()) >= 0; });\n        resolve(items);\n      }\n      else if (this.datapreload && this.comboItemsSource && value) {\n        items = this.comboItemsSource.filter(x => { return String(x[this.datavalue]) == String(value); });\n        resolve(items);\n      }\n      else if (!this.datapreload && !query && !value && (datasource.table || datasource.url)) {\n        resolve(items);\n      }\n      else if (!this.datapreload && query && (datasource.table || datasource.url)) {\n        let endpoint = datasource.table || datasource.url;\n        if (datasource.query && typeof datasource.query === 'object' && datasource.query.search) {\n          endpoint = this.addUrlParam(endpoint, datasource.query.search, query);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          endpoint = this.addUrlParam(endpoint, datasource.query, query);\n        } else {\n          /* parsare e aggiungere i filters */\n          let params = this.getUrlParams(endpoint);\n          let datatext = this.datatext;\n          let fields = this.datatext;\n          let sort = `+${datatext}`;\n          let keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            keys = keys.map(b=>b.replace(/\\{|(.*?)\\}/g, '$1'));\n            datatext = keys[0];\n            fields = keys.join(',');\n            sort = '+' + keys.join(',+');\n          }\n          let operator = this.queryOperator ? this.queryOperator : '^=';\n          operator = this.dataoperator ? this.dataoperator : operator;\n          params.filters = (params.filters ? '&' : '') + `(${datatext}${operator}${query})`;\n          params.sort = sort;\n          params.fields = `${this.datavalue},${fields}`;\n          endpoint = endpoint.replace(/\\?.*$/, '') + '?' + this.buildQueryString(params);\n          // endpoint += '?filters='+encodeURIComponent(this.datatext+'~'+query);\n        }\n        if (this.clientRequest && this.clientRequest.cancel) { this.clientRequest.cancel(); }\n        this.clientRequest = client.get(endpoint);\n        this.clientRequest.then(x => {\n          items = this.parse_response(x);\n          resolve(items);\n        }).catch(x => {});\n      }\n      else if (!this.datapreload && value && (datasource.table || datasource.url)) {\n        let endpoint = datasource.table || datasource.url;\n        if (datasource.query && typeof datasource.query === 'object' && datasource.query.item) {\n          endpoint = this.addUrlParam(endpoint, datasource.query.item, value);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          endpoint = this.addUrlParam(endpoint, datasource.query, value);\n        } else {\n          /* parsare e aggiungere i filters */\n          let params = this.getUrlParams(endpoint);\n          let fields = this.datatext;\n          let keys = fields.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) fields = keys.join(',').replace(/\\{|\\}/g, '');\n          params.filters = (params.filters ? '&' : '') + `(${this.datavalue}=${value})`;\n          params.fields = `${this.datavalue},${fields}`;\n          endpoint = endpoint.replace(/\\?.*$/, '') + '?' + this.buildQueryString(params);\n          // endpoint += '?filters='+encodeURIComponent(this.datavalue+'='+value);\n        }\n        //if (this.clientRequest && this.clientRequest.cancel) { this.clientRequest.cancel(); }\n        this.clientRequest = client.get(endpoint);\n        this.clientRequest.then(x => {\n          items = this.parse_response(x);\n          resolve(items);\n        }).catch(x => {});\n      }\n    });\n  }\n  comboDisplayValue() {\n    if (!this.value) {\n      if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n        this.buttons.openEnabled = false;\n        this.buttons.addEnabled = !this.element.classList.contains('no-add');\n      }\n      return this.displayValue = null;\n    }\n    if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n      this.buttons.openEnabled = !this.element.classList.contains('no-open');\n      this.buttons.addEnabled = false;\n    }\n    if (this.datamultiple) { // Display comma separated list of selected items datatext\n      let datatexts = [];\n      let parsed = 0;\n      if (!this.value.length) {\n        this.comboValueReady();\n        return this.displayValue = null;\n      }\n      for (let item of this.value) {\n        parsed ++;\n        // Check if value is among combo items\n        let v = typeof item === 'string' || typeof item === 'number' ? String(item) : String(item[this.datavalue]) ? String(item[this.datavalue]) :  null;\n        this.comboGetItems(null, v).then((items) => {\n          if (items.length === 1) { // Item found\n            if (typeof item === 'object') item = v;\n            let keys = this.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n            if (keys) {\n              let datatext = this.datatext;\n              for (let key of keys) {\n                datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n              }\n              datatexts.push(datatext);\n            }\n            else datatexts.push( items[0][this.datatext] ? items[0][this.datatext] : eval(`items[0].${this.datatext}`) ? eval(`items[0].${this.datatext}`) : 'undefined' );\n          }\n          else { // Item not found, remove from value\n            item = null;\n          }\n          if (this.value.length === parsed) {\n            this.displayValue = datatexts.join(', ');\n          }\n          this.comboValueReady();\n        });\n      }\n    }\n    else {\n      if (this.comboItems) {\n        // Check if value is among combo items\n        let items = this.comboItems.filter(x => { return String(x[this.datavalue]) == String(this.value); });\n        if (items && items[0]) {\n          this.objectValue = items[0];\n          let keys = this.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            let datatext = this.datatext;\n            for (let key of keys) {\n              datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n            }\n            this.displayValue = datatext;\n          }\n          else this.displayValue = items[0][this.datatext] ? items[0][this.datatext] : eval(`items[0].${this.datatext}`) ? eval(`items[0].${this.datatext}`) : 'undefined';\n          this.comboValueReady();\n          return;\n        }\n      }\n      let v = typeof this.value === 'string' || typeof this.value === 'number' ? String(this.value) : String(this.value[this.datavalue]) ? String(this.value[this.datavalue]) : null;\n      this.comboGetItems(null, v).then((items) => {\n        if (items.length === 1) { // Item found\n          this.objectValue = items[0];\n          if (typeof this.value === 'object') this.value = v;\n          let keys = this.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            let datatext = this.datatext;\n            for (let key of keys) {\n              datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n            }\n            this.displayValue = datatext;\n          }\n          else this.displayValue = items[0][this.datatext] ? items[0][this.datatext] : eval(`items[0].${this.datatext}`) ? eval(`items[0].${this.datatext}`) : 'undefined';\n          this.comboValueReady();\n        }\n        else {\n          this.value = null;\n          this.displayValue = null;\n          this.objectValue = null;\n          this.comboValueReady();\n        }\n      });\n    }\n  }\n  comboValueReady() {\n    if (!this._ready) {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n    }\n  }\n  comboSelect(item, $event) {\n    // Combo a selezione singola\n    if (!this.datamultiple) {\n      this.value = String(item[this.datavalue]);\n      this.comboParseSelected();\n      this.comboClose();\n      this.validate();\n    }\n    // Combo a selezione multipla\n    else {\n      if (!this.value || !Array.isArray(this.value)) this.value = [];\n      // If item is already selected, deselect it\n      if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0)\n        this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);\n      else\n        this.value.push(String(item[this.datavalue]));\n\n      this.comboParseSelected();\n      this.validate();\n    }\n  }\n  comboParseSelected() {\n    // Deselect all\n    for (let item of this.comboItems) item.selected = false;\n    if (!this.value) return;\n    // Set selection for datamultiple\n    if (this.datamultiple) {\n      for (let value of this.value) {\n        let item = this.comboItems.filter(x => { return String(x[this.datavalue]) === String(value); });\n        if (item && item[0]) item[0].selected = true;\n      }\n    }\n    // Set selection for single value\n    else {\n      let item = this.comboItems.filter(x => { return String(x[this.datavalue]) === String(this.value); });\n      if (item && item[0]) item[0].selected = true;\n    }\n    this.comboDisplayValue();\n  }\n\n  /**\n   * COMBOLIST\n   * @author Piero Vettori <p.vettori@mamoka.com>\n   */\n  @bindable() comboListItems = [];\n  comboListAddItem(item, $event) {\n    this.comboListItems.push({ value: item[this.datavalue], text: item[this.datatext] });\n    this.comboListItems.sort((a, b) => { if (a.text < b.text) return -1; if (a.text > b.text) return 1; return 0; });\n    this.value = this.comboListItems.map(x => x.value);\n    console.info('comboListAddItem', this.comboListItems, this.value);\n    this.validate();\n    this.comboClose();\n  }\n  comboListRemoveItem(item, $event) {\n    this.comboListItems.splice(this.comboListItems.indexOf(item), 1);\n    this.value = this.comboListItems.map(x => x.value);\n    console.info('comboListRemoveItem', this.comboListItems, this.value);\n    this.validate();\n  }\n  comboListUpdate() {\n    if (!this.value) return;\n    if (!Array.isArray(this.value)) this.value = [this.value];\n    this.value.forEach(item => {\n      let listItem = { value: null, text: null };\n      if (['number', 'string'].indexOf(typeof(item)) > -1) listItem = { value: item, text: item };\n      else if (item[this.datavalue] && item[this.datatext]) listItem = { value: item[this.datavalue], text: item[this.datatext] };\n      else if (item.value && item.text) listItem = Object.assign({}, item);\n      if (this.comboListItems.filter(x => x.value === listItem.value).length === 0) this.comboListItems.push(listItem);\n    });\n    this.comboListItems.sort((a, b) => { if (a.text < b.text) return -1; if (a.text > b.text) return 1; return 0; });\n  }\n\n\n  /* CHECKLIST FUNCTIONS */\n\n  checklistInit() {\n    if (Array.isArray(this.datasource)) {\n      this.checklistItems = JSON.parse(JSON.stringify(this.datasource));\n      this.checklistParseSelected();\n    }\n    else {\n      let client = !this.client || this.datasource.url ? this._client : this.client;\n      client.get(this.datasource.table || this.datasource.url).then(x => {\n        this.checklistItems = this.parse_response(x);\n        this.checklistParseSelected();\n      }).catch(x => {});\n    }\n  }\n  checklistSelect(item, $event) {\n    if (this.readonly) return;\n    if (!this.value || !Array.isArray(this.value)) this.value = [];\n    // If item is already selected, deselect it\n    if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0)\n      this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);\n    else\n      this.value.push(String(item[this.datavalue]));\n\n    this.checklistParseSelected();\n    this.validate();\n  }\n  checklistParseSelected() {\n    if (!this.checklistItems) return;// this.checklistInit();\n    // Deselect all\n    for (let item of this.checklistItems) item.selected = false;\n    if (!this.value) return;\n    for (let value of this.value) {\n      let item = this.checklistItems.filter(x => { return String(x[this.datavalue]) == String(value); });\n      if (item && item[0]) item[0].selected = true;\n    }\n  }\n\n  parse_response(msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  }\n\n  getUrlParams(url) {\n    url = url.replace(/^.*(\\?|$)/, '');\n    if (!url[1]) return {};\n    let chunks = url[1].split('&');\n    return chunks.reduce((params, hash) => {\n      let [key, val] = hash.split('=');\n      return Object.assign(params, { [key]: decodeURIComponent(val) });\n    }, {});\n  }\n  addUrlParams(url, params) {\n    if (!params) return url;\n    for (let [k, v] of Object.entries(params)) {\n      url = this.addUrlParam(url, k, v);\n    }\n    return url;\n  }\n  addUrlParam(url, key, value) {\n    if (!key || !value) return url;\n    url = new URL((!url.startsWith('http') ? 'void://' : '') + url);\n    let urlParams = new URLSearchParams(url.search);\n    urlParams.append(key, value);\n    url.search = urlParams;\n    return url.toString().replace('void://', '');\n  }\n\n  buildQueryString(params) {\n    return Object.keys(params).reduce((query, key) => {\n      return `${query}&${key}=` + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  }\n}\n\n\nexport class kaHighlightValueConverter {\n  toView(item, datatext, string) {\n    let value = null;\n    let keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n    if (keys) {\n      for (let key of keys) {\n        datatext = datatext.replace(key, item[key.replace(/\\{|\\}/g, '')] || '');\n      }\n      value = datatext;\n    }\n    else value = item[datatext] ? item[datatext] : eval(`item.${datatext}`) ? eval(`item.${datatext}`) : null;\n    if (!value) return;\n    if (!string || !string.length) return value;\n    let index = value.toLowerCase().indexOf(string.toLowerCase());\n    if (index >= 0) value = value.substring(0, index) + '<strong>' + value.substring(index, index + string.length) + '</strong>' + value.substring(index + string.length);\n    return value;\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-input')\n@inject(Element)\nexport class KaInput {\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Kamaji's field configuration\n  @bindable() config = null;\n  // Reference to record id\n  @bindable() record = null;\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() control = null;\n  @bindable() client = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() change = null;\n  @bindable() ready = null;\n  @bindable() dialogClosed = null;\n  @bindable() validation = true;\n  @bindable() queryOperator = null;\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) resourceControls = null; // needed for md-input-array\n  @bindable() resourceRef = null; // needed for md-input-array\n\n  insideMdResource = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n    if (bindingContext) {\n      this.insideMdResource = !!(this.name && bindingContext.constructor.name === 'MdResource' && bindingContext.controls);\n    }\n  }\n\n  attached() {\n    if (this.resourceControls &&  this.resourceRef && this.input) {\n      this.resourceControls[this.resourceRef] = this.input;  // needed for md-input-array\n    }\n    /*\n    let input = this.element.getElementsByTagName('ka-input-controls')[0];\n    if (!input) return; // setTimeout(()=>{ console.log('ka-input attached() handler retrying to find child ka-input-controls'); this.attached(); }, 100);\n    while (input.childNodes.length) this.element.appendChild(input.firstChild);\n    */\n  }\n\n  resourceControlsChanged(resourceControls) {\n    if (this.resourceControls && this.input) {\n      this.resourceControls = this.input;  // needed for md-input-array\n    }\n  }\n}\n","import {inject, customElement} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {KaApi} from 'ka-components';\nimport navigation from 'navigation';\n\n@customElement('ka-layout')\n@inject(Element, Router, KaApi)\nexport class KaLayout {\n\n  // Internal bindings\n  _collapsed = false;\n  _navigation = navigation;\n  _intervals = [];\n\n  constructor(element, router, api) {\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', e => {\n      if (e.target.closest('.no-toggle')) return;\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      let isBurger = e.target === this.burgerAside || e.target === this.burgerHeader || (e.target.parentElement && (e.target.parentElement === this.burgerAside || e.target.parentElement === this.burgerHeader));\n      if (!isBurger && !this._collapsed && window.innerWidth < 860) this.toggle();\n    });\n  }\n\n  attached() {\n    if (window.innerWidth < 860) this.toggle();\n    this.activateBadges(this._navigation);\n  }\n  detached() {\n    for (let interval of this._intervals) clearInterval(interval);\n  }\n\n  toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed'); else this.element.classList.remove('collapsed');\n  }\n\n  activateBadges(items) {\n    for (let item of items) {\n      if (item.nav && item.nav.length > 0 && this.authorized(item)) this.activateBadges(item.nav);\n      if (!item.badge || !item.badge.promise || !this.authorized(item)) continue;\n      let callback = () => {\n        new Promise((resolve, reject) => { return item.badge.promise(resolve, reject, this.api) }).then(x => {\n          item.badge.value = x;\n        }).catch(() => { item.badge.value = null; });\n      };\n      this._intervals.push(setInterval(callback, item.badge.interval || 5000));\n      callback();\n    }\n  }\n\n  authorized(item) {\n    let userGroups = this.api.user.group || this.api.user.groups || [];\n    if (!Array.isArray(userGroups)) userGroups = [userGroups];\n    return !item.authGroups || (item.authGroups && userGroups.some(e => item.authGroups.includes(e)));\n  }\n\n  expand(item) {\n    item.collapsed = false;\n  }\n  collapse(item) {\n    item.collapsed = true;\n  }\n}\n","import {inject, customElement, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {KaApi} from '../ka-api/ka-api';\nimport environment from 'environment';\n\n@customElement('ka-navbar')\n@inject(Element, Router, KaApi)\nexport class KaNavbar {\n  @observable() visible = false;\n\n  appName = environment.appName;\n\n  constructor(element, router, api) {\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', e => {\n      if (!this.visible) return;\n      let target = e.target;\n      while (target) {\n        if (target === this.nav) return;\n        if (target === this.button) return;\n        target = target.parentNode;\n      }\n      this.hide();\n    });\n  }\n\n  attached() {\n    this.routes = [];\n    for (let route of this.router.navigation) {\n      if (!this.api.user && !route.settings.authGroups)\n        this.routes.push(route);\n      else if (this.api.user && !route.settings.authGroups)\n        this.routes.push(route);\n      else if (this.api.user && route.settings.authGroups && this.api.user.groups && this.api.user.groups.some(e => route.settings.authGroups.includes(e)))\n        this.routes.push(route);\n    }\n  }\n\n  hide() {\n    this.visible = false;\n  }\n\n  show() {\n    this.visible = true;\n  }\n\n  toggle() {\n    this.visible = !this.visible;\n  }\n\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\n\n@customElement('ka-progress')\n@inject(Element)\nexport class KaProgress {\n  @bindable() type = 'linear';\n\n  constructor(element) {\n    element.classList.add(this.type);\n  }\n}\n","import {bindable, bindingMode, customElement, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {KaToast} from '../ka-toast/ka-toast';\nimport {KaDialog} from '../ka-dialog/ka-dialog';\nimport moment from 'moment';\n\n@customElement('ka-resource')\n@inject(Element, Router, KaToast, KaDialog)\nexport class KaResource {\n  @bindable() resource = null;\n  @bindable() data = {};\n  @bindable() schema = {};\n  @bindable() injectData = {};\n  @bindable() injectSchema = {};\n  @bindable() client = null;\n  @bindable() endpoint = null;\n  @bindable() disabled = false;\n  @bindable() controls = {};\n  @bindable() listRefQuery = null;\n  @bindable({ defaultBindingMode: bindingMode.fromView }) mode = 'normal'; // 'normal', 'edit', 'readonly'\n\n  readonly = true;\n  loaded = false;\n  saveAndReload = false;\n  errors = [];\n\n  // Callbacks - Keep them for backwards compatibility\n  schema_loaded = () => {};\n  data_loaded = () => {};\n  save_before = (data) => { return data; };\n  save_after = (data) => { return data; };\n\n  buttonsActions = {\n    prev: () => { return this.prev(); },\n    next: () => { return this.next(); },\n    close: () => { return this.close(); },\n    edit: () => { return this.edit(); },\n    save: () => { return this.save(); },\n    delete: () => { return this.delete(); }\n  };\n\n  constructor(element, router, toast, dialog) {\n    this.element = element;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n\n    // CUSTOM EVENTS\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataValidated = new CustomEvent('dataValidated', { resource: this });\n    this.events.dataValidateError = new CustomEvent('dataValidateError', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n    this.parentContext.resource = this;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  modeChanged(value) {\n    switch (value) {\n    case 'edit':\n      this.disabled = false;\n      this._setReadonly(false);\n      break;\n    case 'readonly':\n      this.disabled = true;\n      this._setReadonly(true);\n      break;\n    default:\n      this.disabled = false;\n      this._setReadonly(true);\n      break;\n    }\n  }\n\n  reload(resource) {\n    this.data = {};\n    //this.schema = {};\n    this.readonly = true;\n    this.loaded = false;\n    this.errors = [];\n    this.resource = resource;\n    this.load();\n  }\n  load() {\n    if (this.parentContext.params && this.parentContext.params.id && this.router.currentInstruction.params && this.router.currentInstruction.params.id && this.parentContext.params.id !== this.router.currentInstruction.params.id) { this.saveAndReload = true; }\n    if (!this.endpoint && this.parentContext.endpoint) this.endpoint = this.parentContext.endpoint;\n    if (!this.client && this.parentContext.api && this.parentContext.api.client) this.client = this.parentContext.api.client;\n    if (!this.resource && this.parentContext.params && this.parentContext.params.id) this.resource = { id: this.parentContext.params.id };\n    if (!this.listRefQuery && this.parentContext.params && this.parentContext.params.listRefQuery) this.listRefQuery = atob(this.parentContext.params.listRefQuery);\n    this.modeChanged(this.mode);\n\n    if (this.client && this.endpoint) {\n      let endpoint = this.endpoint;\n      let dataset = this.endpoint;//.replace(/\\/.*$/, '');\n      this._request('get', `datasets/${dataset}`).then(response => {\n        let schema = {};\n        for (let item of response) schema[item.field] = item;\n        this.schema = schema;\n        this.schema_loaded(); // old way\n        this.events.dispatchEvent(this.events.schemaLoaded); // new way\n\n        if (this.resource && this.resource.id === 'new') {\n          this.originalData = {};\n          for (let key of Object.keys(this.schema)) this.originalData[key] = null;\n          this.data = JSON.parse(JSON.stringify(this.originalData));\n          if (this.parentContext.params && this.parentContext.params.data) this.data = Object.assign(this.data, this.parentContext.params.data);\n          this.loaded = true;\n          this.data_loaded(); // old way\n          this.events.dispatchEvent(this.events.dataLoaded); // new way\n          this._setReadonly(false);\n        } else if (this.resource && this.resource.id) {\n          this._request('get', `${endpoint}/${this.resource.id}?depth=0`).then(data => {\n            this.originalData = data;\n            this.data = JSON.parse(JSON.stringify(this.originalData));\n            // Should be wrong to overwrite loaded record data with defalut data passed through params\n            //if (this.parentContext.params && this.parentContext.params.data) this.data = Object.assign(this.data, this.parentContext.params.data);\n            this.loaded = true;\n            this.data_loaded(); // old way\n            this.events.dispatchEvent(this.events.dataLoaded); // new way\n          });\n        }\n      });\n    }\n    else if (this.injectSchema && this.injectData) {\n      // Parse passed schema\n      let schema = {};\n      for (let item of this.injectSchema) schema[item.field] = item;\n      this.schema = schema;\n      // Parse passed data\n      this.originalData = this.injectData;\n      this.data = JSON.parse(JSON.stringify(this.originalData));\n      if (this.parentContext.params && this.parentContext.params.data) this.data = Object.assign(this.data, this.parentContext.params.data);\n      setTimeout(()=>{\n        this.loaded = true;\n        this.data_loaded(); // old way\n        this.events.dispatchEvent(this.events.dataLoaded); // new way\n      }, 500);\n    }\n  }\n\n  prev() {\n    let listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, (match, p1) => { return `offset=${parseInt(p1, 10) === 0 ? 0 : parseInt(p1, 10) - 1}`; });\n    this.client.get(`${listRefQuery}`).then(x => {\n      let response = x.response;\n      if (!response.length) return this.toast.show('Non ci sono record precedenti a questo', 'error');\n      if (this.parentContext.params.dialog) {\n        this.listRefQuery = listRefQuery;\n        this.reload(response[0]);\n      } else {\n        let route = this.router.currentInstruction.config;\n        this.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(() => { this.toast.show('Errore nell\\'apertura del record precedente', 'error'); });\n  }\n\n  next() {\n    let listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, (match, p1) => { return `offset=${parseInt(p1, 10) + 1}`; });\n    this.client.get(`${listRefQuery}`).then(x => {\n      let response = x.response;\n      if (!response.length) return this.toast.show('Non ci sono record successivi a questo', 'error');\n      if (this.parentContext.params.dialog) {\n        this.listRefQuery = listRefQuery;\n        this.reload(response[0]);\n      } else {\n        let route = this.router.currentInstruction.config;\n        this.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(() => { this.toast.show('Errore nell\\'apertura del record successivo', 'error'); });\n  }\n\n  delete() {\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente l\\'elemento?'\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this._request('delete', `${this.endpoint}/${this.resource.id}`).then(() => {\n          if (this.parentContext.params.dialog)\n            this.parentContext.params.dialog.close(true);\n          else\n            this.router.navigate(this.router.currentInstruction.config.href);\n        });\n      }\n    });\n  }\n\n  edit() {\n    if (this.endpoint) {\n      this._setReadonly(false);\n    }\n  }\n\n  save() {\n    this.errors = this._validateControls().then(success => {\n      this.events.dispatchEvent(this.events.dataValidated);\n      if (this.endpoint) {\n        let promises = [];\n        let data = this.save_before(this.data);\n        if (data === false) return this.data = data;\n        this.data = data;\n        data = {};\n        for (let [field, item] of Object.entries(this.data)) {\n          promises.push(new Promise((resolve, reject) => {\n\n            // Skip unchanged fields when updating record\n            if (this.resource.id && this.resource.id !== 'new' && this.originalData[field] === item) resolve(true);\n\n            // FILE\n            else if (this.controls[field] && (this.controls[field].control === 'file' || (this.controls[field].schema && this.controls[field].schema.control === 'file') ) && item && item.length && item[0] && item[0].name) {\n              let filedata = {};\n              filedata.filename = item[0].name;\n              let reader = new FileReader();\n              reader.readAsDataURL(item[0]);\n              reader.onload = (x) => {\n                filedata.stream = reader.result.indexOf('base64,') ? reader.result.slice(reader.result.indexOf('base64,') + 7) : reader.result;\n                data[field] = filedata;\n                resolve(true);\n              };\n            }\n            else if (this.controls[field] && (this.controls[field].datatype === 'json' || (this.controls[field].schema && this.controls[field].schema.control === 'json') ) && item && typeof item === 'string') {\n              data[field] = JSON.parse(item);\n              resolve(true);\n            }\n            // PASSWORD\n            /*\n            else if (this.controls[field] && this.controls[field].control == 'password' && item === null) {\n              // We do not send password at all\n              resolve(true);\n            }\n            */\n            // EDITOR\n            else if (this.controls[field] && (this.controls[field].control === 'editor' || (this.controls[field].schema && this.controls[field].schema.control === 'editor') ) && item === '') {\n              data[field] = null;\n              resolve(true);\n            }\n            // DATE\n            else if (this.controls[field] && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date'))) {\n              data[field] = moment.utc(item).isValid() ? moment.utc(item).local().format('YYYY-MM-DD') : item;\n              resolve(true);\n            }\n            // NUMBER\n            else if (this.controls[field] && (this.controls[field].control === 'number' || (this.controls[field].schema && this.controls[field].schema.control === 'number'))  && item && typeof item === 'string') {\n              data[field] = parseFloat(item) || item;\n              resolve(true);\n            }\n            else {\n              if (typeof item === 'undefined') console.error(`Input ${field} has undefined value. Skipping...`);\n              else data[field] = JSON.parse(JSON.stringify(item));\n              resolve(true);\n            }\n          }));\n        }\n        Promise.all(promises).then(() => {\n          let method = 'post';\n          let endpoint = this.endpoint;//.replace(/\\/.*$/, '');\n          if (this.resource.id && this.resource.id !== 'new') {\n            delete(data.id);\n            method = 'patch';\n            endpoint = `${endpoint}/${this.resource.id}`;\n          }\n          // Remove fields on which user has no permission for post/patch\n          let user = this.parentContext.api && this.parentContext.api.user ? this.parentContext.api.user : null;\n          if (user && user.groups && user.groups.length) {\n            for (let [key, value] of Object.entries(data)) {\n              if (!this.schema[key] || !this.schema[key][method]) delete(data[key]);\n              let permissions = this.schema[key][method];\n              let granted = Object.keys(permissions).filter((k) => {\n                return (k === '0' || user.groups.includes(k)) && permissions[k] === '1';\n              });\n              if (!granted || !granted.length) delete(data[key]);\n            }\n          }\n          if (method === 'patch') {\n            data = JSON.parse(JSON.stringify(data));\n            if (!data || !Object.keys(data).length) {\n              // No data to patch, back to readonly\n              this._setReadonly(true);\n              this.events.dispatchEvent(this.events.dataSaved); // new way\n              return;\n            }\n          }\n          this._request(method, endpoint, data).then(response => {\n            // console.info('response', response);\n            this._setReadonly(true);\n            data = Object.assign(this.originalData, data);\n            data.id = response.id || this.resource.id;\n            this.data = this.save_after(data);\n            this.events.dispatchEvent(this.events.dataSaved); // new way\n            this.originalData = JSON.parse(JSON.stringify(data));\n            if (this.data === false) return this.data = data;\n\n            let route = this.router.currentInstruction.config;\n            if (this.resource.id === 'new') {\n              this.toast.show('Record creato!', 'success');\n              if (this.parentContext.params.dialog || this.saveAndReload) {\n                //this.parentContext.params.dialog.close(true, response);\n                this.reload(response);\n              } else {\n                this.router.navigateToRoute(route.name, { id: response.id || this.resource.id, listRefQuery: (this.listRefQuery ? btoa(this.listRefQuery) : null) }, { trigger: true, replace: true }); //this.router.navigate(route.href);\n              }\n            } else {\n              this.toast.show('Record aggiornato!', 'success');\n              if (this.parentContext.params.dialog || this.saveAndReload) {\n                //this.parentContext.params.dialog.close(true, response);\n                this.resource.id = response.id || this.resource.id;\n                this.modeChanged(this.mode);\n              } else {\n                this.router.navigateToRoute(route.name, { id: response.id || this.resource.id, listRefQuery: (this.listRefQuery ? btoa(this.listRefQuery) : null) }, { trigger: true, replace: true });\n              }\n            }\n          }, error => {\n            console.warn('error', error);\n            error = JSON.parse(error.response);\n            this.events.dispatchEvent(this.events.dataSaveError); // new way\n            if (error.errors) {\n              for (let err of error.errors) {\n                // Gestisci errore formato kamaji\n                if (err.arg && Array.isArray(err.arg) && err.arg[0]) this.toast.show(`<strong>${this.schema[err.arg[0]].label}</strong>: ${err.msg}`, 'error');\n                else if (err.arg && typeof err.arg === 'object') this.toast.show(`<strong>${this.schema[Object.keys(err.arg)[0]].label}</strong>: ${err.msg}`, 'error');\n                // Gestisci errore formato gateway\n                else if (err.message) {\n                  let message = (err.data && this.schema[err.data] ? `<strong>${this.schema[err.data].label}</strong>: ` : '') + err.message;\n                  this.toast.show(message, 'error');\n                }\n              }\n            }\n          });\n        });\n      }\n    }, response => {\n      // console.warn('validation errors', response);\n      this.events.dispatchEvent(this.events.dataValidateError);\n      if (response.length) {\n        for (let errors of response) {\n          for (let error of errors) {\n            if (!error.valid) this.toast.show(`<strong>${error.object.label}</strong>: ${error.message}`, 'error');\n          }\n        }\n      }\n    });\n  }\n\n  close() {\n    let route = this.router.currentInstruction.config;\n    if (this.readonly || this.resource.id === 'new') {\n      if (this.parentContext.params.dialog) {\n        let ok = this.resource.id !== 'new';\n        this.parentContext.params.dialog.close(ok, ok && this.originalData ? this.originalData : null);\n        return;\n      }\n      this.router.navigate(route.href);\n      return;\n    }\n    this.data = JSON.parse(JSON.stringify(this.originalData));\n    this._setReadonly(true);\n  }\n\n  _validateControls() {\n    for (let index in this.tabs) this.tabs[index].errors = [];\n    let promises = [];\n    for (let [field, item] of Object.entries(this.controls)) {\n      let promise = item.validate().then(result => {\n        if (!result.valid) {\n          let errors = [];\n          for (let error of item.validator.errors) {\n            error.tab = item.parentTab;\n            //this[item.parentTab].errors.push(error);\n            errors.push(error);\n          }\n          return Promise.reject(errors);\n        }\n        return Promise.resolve(result);\n      });\n      if (item.validator) promises.push(promise);\n    }\n    return this.promiseAll(promises);\n  }\n\n  _resetButtons() {\n    let buttons = [];\n    if ((this.disabled || this.readonly) && this.listRefQuery) {\n      buttons.push({ action: () => this.buttonsActions.prev(), label: 'Record precedente', icon: 'keyboard_arrow_left' });\n      buttons.push({ action: () => this.buttonsActions.next(), label: 'Record seguente', icon: 'keyboard_arrow_right' });\n    }\n    if (this.client && !this.disabled) {\n      if ((!this.resource.id || this.resource.id !== 'new') && this.readonly) {\n        buttons.push({ action: () => this.buttonsActions.delete(), label: 'Elimina',  icon: '&#xE92B;' });\n      }\n      if (this.readonly) {\n        buttons.push({ action: () => this.buttonsActions.edit(),   label: 'Modifica', icon: '&#xE3C9;' });\n      } else {\n        buttons.push({ action: () => this.buttonsActions.save(),   label: 'Salva',    icon: '&#xE5CA;' });\n      }\n    }\n    buttons.push({ action: () => this.buttonsActions.close(), label: 'Chiudi', icon: '&#xE14C;' });\n    this.buttons = buttons;\n  }\n\n  _setReadonly(value) {\n    this.readonly = value;\n    this._resetButtons();\n  }\n\n  _request(method, url, data = {}) {\n    if (!this.client) return Promise.reject('Missing HTTP client.');\n    method = method.toLowerCase();\n    if (!this.client[method]) return Promise.reject('Unknown HTTP method.');\n    return this.client[method](url, data).then(x => {\n      return Promise.resolve(x.response);\n    }).catch(x => {\n      return Promise.reject(x);\n    });\n  }\n\n\n  promiseAll(promises) {\n    let count = 0;\n    let errors = [];\n    let results = [];\n    let promise = new Promise((resolve, reject) => {\n      for (let p of promises) {\n        p.then(success => {\n          count++;\n          results.push(success);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);\n            else resolve(results);\n          }\n          return success;\n        }, error => {\n          count++;\n          errors.push(error);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);\n            else resolve(results);\n          }\n          return error;\n        });\n      }\n    });\n    return promise;\n  }\n\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {KaDialog} from '../ka-dialog/ka-dialog';\nimport {KaToast} from '../ka-toast/ka-toast';\nimport moment from 'moment';\n\n@customElement('ka-table')\n@inject(Element, Router, KaDialog, KaToast)\nexport class KaTable {\n\n  @bindable() records = null;\n  @bindable() schema = null;\n  @bindable() export_schema = null;\n  @bindable() columns_schema = null;\n  @bindable() filters = null;\n  @bindable() endpoint = null;\n  @bindable() limit = null;\n  @bindable() depth = null;\n  @bindable() client = null; // Aurelia's http client to be used for fetching data\n  @bindable() columns = null; // Kamaji's fields to use as table columns, defaults to all fields\n  @bindable() filtrables = null; // Kamaji's fields to use as filters, defaults to all fields\n  @bindable() sortables = null; // Kamaji's fields to set as sortable if in table columns\n  @bindable() editables = null; // Kamaji's fields to set as editable\n  @bindable() exportables = null; // Kamaji's fields to set as available for export\n  @bindable() prefilter = null; // Predefined hardcoded filter string\n  @bindable() sort = null; // Predefined hardcoded filter string\n  @bindable() routes = { add: null, edit: null, dialog: false, data: {} }; // Routes names for actions - if dialog is true, then open in dialog\n  @bindable() actions = [\"filter\",\"export\",\"add\",\"edit\"];\n  @bindable() params = {};\n  @bindable() query = '';\n\n  schema_loaded = () => {};\n  filters_loaded = () => {};\n  parse_query = (query) => { return query; };\n  records_loaded = () => {};\n\n  id = null;\n  settings = {\n    filters: null,\n    exports: null,\n    sort: {},\n    sort_stack: [],\n    sort_columns: {},\n    offset: 0,\n    limit: '10'\n  }\n  config_operators = {\n    text: {\n      field: 'operator',\n      control: 'combo',\n      datapreload: true,\n      datasource: [\n        {value: '=', text: 'Uguale a'},\n        {value: '!=', text: 'Diverso da'},\n        {value: '^=', text: 'Inizia con'},\n        {value: '~', text: 'Contiene'},\n        {value: '!~', text: 'Non contiene'}\n      ]\n    },\n    json: {\n      field: 'operator',\n      control: 'combo',\n      datapreload: true,\n      datasource: [\n        {value: '~', text: 'Contiene'}\n      ]\n    },\n    number: {\n      field: 'operator',\n      control: 'combo',\n      datapreload: true,\n      datasource: [\n        {value: '=', text: 'Uguale a'},\n        {value: '!=', text: 'Diverso da'},\n        {value: '>=', text: 'Maggiore uguale a'},\n        {value: '<=', text: 'Minore uguale a'}\n      ]\n    }\n  }\n  config_metas = [\n    { field: 'id', label: 'Id', control: 'number' },\n    { field: 'date_created', label: 'Data creazione', control: 'date'},\n    { field: 'user_created', label: 'Creato da', control: 'number'},\n    { field: 'date_modified', label: 'Data ultima modifica', control: 'date'},\n    { field: 'user_modified', label: 'Modificato da', control: 'number'}\n  ]\n  config_options = {\n    limit: { field:'option-limit', label: 'Record per pagina', control: 'combo', datapreload: true, datasource: [{value:'10', text:'10'}, {value:'25', text:'25'}, {value:'50', text:'50'}, {value:'100', text:'100'}, {value:'200', text:'200'}] },\n    pages: { field:'option-pages', label: 'Salta alla pagina', control: 'combo', datapreload: true, datasource: [] }\n  }\n  position = null;\n  hasFilters = false;\n  isLoading = true;\n  schemaLoaded = false;\n  error = null;\n\n  constructor (element, router, dialog, toast) {\n    this.element = element;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  }\n\n  detached() {\n    this.hide_options();\n    this.hide_filters();\n    window.removeEventListener('resize', window[`ka-table-resize-handler-${this.id}`]);\n    delete(window[`ka-table-resize-handler-${this.id}`]);\n  }\n\n  attached () {\n    if (!this.endpoint && this.parent.endpoint) this.endpoint = this.parent.endpoint;\n    if (!this.client && this.parent.api && this.parent.api.client) this.client = this.parent.api.client;\n    if (this.columns && typeof this.columns == 'string') this.columns = this.columns.split(',');\n    if (this.filtrables && typeof this.filtrables == 'string') this.filtrables = this.filtrables.split(',');\n    if (this.sortables && typeof this.sortables === 'string') this.sortables = this.sortables.split(',');\n    if (this.exportables && typeof this.exportables == 'string') this.exportables = this.exportables.split(',');\n    if (this.actions && typeof this.actions == 'string') this.actions = this.actions === \"\" ? [] : this.actions.split(',');\n    if (this.limit) this.settings.limit = String(this.limit);\n\n    let userId = this.parent.api && this.parent.api.user && this.parent.api.user.id ? this.parent.api.user.id : null;\n    let appVer = this.parent.api && this.parent.api.environment && this.parent.api.environment.version ? this.parent.api.environment.version : null;\n    appVer = !appVer && this.parent.environment && this.parent.environment.version ? this.parent.environment.version : appVer;\n\n    this.id = btoa('§'+userId+'-'+appVer+'§'+this.prefilter+'§'+this.endpoint+'§'+location.pathname+'§'+(this.columns?this.columns.join(''):'')).replace(/[\\W_]+/g,'').slice(0, 120);\n    this.element.setAttribute('id', this.id);\n    /* Overwrite default settings with local storage if any */\n    if (localStorage.getItem(this.id)) {\n      this.settings = JSON.parse(localStorage.getItem(this.id));\n    } else if (sessionStorage.getItem(this.id)) {\n      this.settings = JSON.parse(sessionStorage.getItem(this.id));\n    }\n    this.init();\n\n    this.element.querySelector('.ka-wrapper').addEventListener('scroll', event => {\n      event.target.querySelectorAll('.floater').forEach(floater => {\n        floater.style.transform = `translateX(${event.target.scrollLeft}px)`;\n      });\n    });\n\n    // Create evaled resize linstener function\n    eval(`window['ka-table-resize-handler-${this.id}'] = function() {\n      var element = document.querySelector('#${this.id}');\n      if (!element) return;\n      if (element.classList.contains('full-height')) {\n        element.style.height = parseInt(window.innerHeight - element.getBoundingClientRect().top) + 'px';\n      }\n      var table = element.querySelector('table');\n      table.querySelectorAll('tbody td.ka-tr-tools:last-child').forEach(function (element) {\n        var floater = element.querySelector('.floater');\n        if (!floater) return;\n        var h = element.getBoundingClientRect().height;\n        var w = floater.getBoundingClientRect().width;\n        if (floater && h && w) {\n          floater.classList.add('float');\n          floater.style.height = h + 'px';\n          element.style.minWidth = w + 'px';\n        }\n      });\n    }`);\n    window.addEventListener('resize', window[`ka-table-resize-handler-${this.id}`]);\n  }\n\n  init() {\n    if (!this.client || !this.endpoint)  return console.warn('[mk-table] missing client or endpoint configuration');\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    /* GET TABLE DATASET AND PREPARE SCHEMAS */\n\n    this.client.get('datasets/' + this.endpoint).then(x => {\n      this.dataset = this.parse_response(x);\n      let dataset = this.parse_response(x);\n      let promises = [];\n\n      /* Get columns schema */\n      if (!this.schema) {\n        if (this.columns) {\n          let fields = (this.columns || []).concat((this.filtrables || []).filter((item) => this.columns.indexOf(item) < 0));\n          this.schema = [];\n          this.columns_schema = [];\n          for (let field of fields) {\n            if (field.indexOf('.') > 0) {\n              let parts = field.split('.');\n              let fieldDataset = dataset.find(o => o.field === parts[0]);\n              let datasource = fieldDataset.datasource ? JSON.parse(fieldDataset.datasource) : null;\n              if (datasource && datasource.table) {\n                let fieldSchema = { field: `${parts[0]}.${parts[1]}`};\n                this.schema.push(fieldSchema);\n                if (this.columns.includes(fieldSchema.field)) this.columns_schema.push(fieldSchema);\n                promises.push(this.client.get('datasets/' + datasource.table).then(x => {\n                  let schema = this.parse_response(x).find(o => o.field === parts[1]) || {};\n                  schema.field = fieldSchema.field;\n                  this.schema[this.schema.findIndex(o => o.field === fieldSchema.field)] = schema;\n                  if (this.columns.includes(fieldSchema.field)) this.columns_schema[this.columns_schema.findIndex(o => o.field === fieldSchema.field)] = schema;\n                  this.dataset.push(schema);\n                }));\n              }\n            } else {\n              let fieldSchema = dataset.find(o => o.field === field) || Object.assign({}, this.config_metas.find(o => o.field === field));\n              this.schema.push(fieldSchema);\n              if (this.columns.includes(field)) this.columns_schema.push(fieldSchema);\n            }\n          }\n\n        } else {\n          this.columns_schema = this.schema = dataset;\n        }\n      }\n      Promise.all(promises).finally(() => {\n        this.schemaLoaded = true;\n        this.schema_loaded();\n\n        /* Parse sortables */\n        for (let column of this.schema) {\n          let field = column.field;\n          if (field) {\n            let fieldKebab = field.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\\s+/g, '-').toLowerCase();\n            if (this.sortables && this.sortables.includes(field)) {\n              this.settings.sort_columns[field] = field;\n            } else if (this.sortables && this.sortables.includes(fieldKebab)) {\n              this.settings.sort_columns[field] = fieldKebab;\n            } else if (!this.sortables) {\n              this.settings.sort_columns[field] = field;\n            }\n          }\n        }\n\n\n        /* Get export schema */\n        if (this.exportables && !this.export_schema) {\n          this.export_schema = [];\n          for (let field of this.exportables) {\n            let export_field = Object.assign({}, dataset.find(o => o.field === field) || Object.assign({}, this.config_metas.find(o => o.field === field)));\n            this.export_schema.push(export_field);\n          }\n        } else if (!this.export_schema) {\n          this.export_schema = [];\n          for (let field of dataset) {\n            let export_field = Object.assign({}, field);\n            this.export_schema.push(export_field);\n          }\n        }\n\n        /* Get filters schema */\n        if (this.filtrables && !this.filters) {\n          this.filters = [];\n          for (let field of this.filtrables) {\n            let filter = Object.assign({}, dataset.find(o => o.field === field) || Object.assign({}, this.config_metas.find(o => o.field === field)));\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            this.filters.push(filter);\n          }\n        } else if (!this.filters) {\n          this.filters = [];\n          for (let filter of dataset) {\n            filter = Object.assign({}, filter);\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            this.filters.push(filter);\n          }\n        }\n        this.filters_loaded();\n\n        //Schemas ready, now we can load records\n        this.load();\n      });\n    }).catch(error => {\n      console.error(error);\n      this.isLoading = false;\n      this.records = null;\n      this.error = 'Errore nel caricamento dei dati';\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    /* Init exports model */\n    if (!this.settings.exports) this.settings.exports = {};\n\n    /* Init filters model */\n    if (!this.settings.filters) this.settings.filters = {};\n    for (let field of this.filters) {\n      if (!this.settings.filters[field.field]) {\n        let default_operator = null;\n        if (field.datamultiple) default_operator = '~~';\n        else if (field.control === 'number') default_operator = '=';\n        else if (field.control === 'age') default_operator = '=';\n        this.settings.filters[field.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: field.control };\n      }\n      if (field.control === 'age') {\n        field.control = 'number';\n        field.datatype = 'tinyint(3)';\n      }\n    }\n\n    /* Build query */\n    let query = this.query + (this.query.indexOf('?') >= 0 ? '&' : '?') + 'meta=1';\n    if (this.depth) query += '&depth=' + this.depth;\n    if (this.prefilter) query += '&filters=' + encodeURIComponent(this.prefilter);\n    let filters = [];\n    for (let field of Object.keys(this.settings.filters)) {\n      let value = this.settings.filters[field].value || null;\n      if (value && this.settings.filters[field].control === 'age') {\n        value = parseInt(value, 10);\n        let operator = this.settings.filters[field].operator || null;\n        if (operator === '<=') filters.push(encodeURIComponent( field + '>=' + moment().subtract(parseInt(value, 10) + 1, 'years').format('YYYY-MM-DD') ));\n        else if (operator === '>=') filters.push(encodeURIComponent( field + '<' + moment().subtract(value, 'years').format('YYYY-MM-DD') ));\n        else filters.push(encodeURIComponent( field + '<' + moment().subtract(value, 'years').format('YYYY-MM-DD') + '&' + field + '>=' + moment().subtract(value + 1, 'years').format('YYYY-MM-DD') ));\n      }\n      else if (value && this.settings.filters[field].control === 'combo') {\n        let operator = this.settings.filters[field].operator || '=';\n        let filter = this.filters.find(x => x.field === field);\n        if (filter && Array.isArray(filter.datasource)) {\n          let item = filter.datasource.find(x => x.value === value);\n          if (item && item.filter_operator) operator = item.filter_operator;\n          if (item && item.filter_value) value = item.filter_value;\n        }\n        filters.push(encodeURIComponent(field + operator + value ));\n      }\n      else if (value) filters.push(encodeURIComponent(field + (this.settings.filters[field].operator ? this.settings.filters[field].operator : '=') + value ));\n      if (this.settings.filters[field].value_from) filters.push(encodeURIComponent(field + '>=' + moment(this.settings.filters[field].value_from, 'YYYY-MM-DD').format('YYYY-MM-DD 00:00:00') ));\n      if (this.settings.filters[field].value_to) filters.push(encodeURIComponent(field + '<=' + moment(this.settings.filters[field].value_to, 'YYYY-MM-DD').format('YYYY-MM-DD 23:59:59') ));\n    }\n    if (filters.length) {\n      this.hasFilters = true;\n      query += (this.prefilter ? '%26' : '&filters=') + filters.join('%26');\n    }\n    else this.hasFilters = false;\n\n    /* BACKWARDS COMPATIBILITY before X-Total-Count */\n    let count_query = this.endpoint + query + '&fields=id&depth=0&meta=0';\n\n    /* Continue building query */\n    if (this.settings.sort_stack.length) {\n      let sorts = [];\n      for (let field of this.settings.sort_stack)\n        if (this.settings.sort[field] && this.settings.sort[field].order) sorts.push(encodeURIComponent((this.settings.sort[field].order == 'asc' ? '+' : '-') + field));\n      query += '&sort=' + sorts.join(',');\n    } else if (this.sort) {\n      query += '&sort=' + encodeURIComponent(this.sort);\n    }\n    /* Setup reference query */\n    // Used for ka-resource prev|next record navigation\n    this.reference_query = this.endpoint + query;\n\n    /* Continue building query */\n    if (this.settings.limit) {\n      query += '&limit=' + this.settings.limit;\n    }\n    if (this.settings.offset) {\n      query += '&offset=' + this.settings.offset;\n    }\n    \n    /* Setup export query */\n    this.export_query = this.endpoint + query;\n\n    query = this.parse_query(query);\n\n    /* Get records */\n    this.client.get(this.endpoint + query).then(x => {\n      this.records = this.parse_response(x);\n      this.isLoading = false;\n      this.records_loaded();\n      if (window[`ka-table-resize-handler-${this.id}`]) setTimeout(() => { window[`ka-table-resize-handler-${this.id}`](); }, 0);\n      new Promise((resolve) => {\n        if (x.headers && x.headers.headers && x.headers.headers['x-total-count']) return resolve(x.headers.headers['x-total-count'].value);\n        this.client.get(count_query).then(x2 => { resolve(this.parse_response(x2).length); });\n      }).then((total) => {\n        this.total = total;\n        this.position = (this.records.length > 0 ? parseInt(this.settings.offset)+1 : 0) + '-' + (parseInt(this.settings.offset)+parseInt(this.settings.limit) > this.total ? this.total : this.records.length == parseInt(this.settings.limit) ? parseInt(this.settings.offset) + parseInt(this.settings.limit) : parseInt(this.settings.offset) + this.records.length);\n        for (let i = 1; i <= Math.ceil(this.total / parseInt(this.settings.limit)); i++) {\n          if (i <= 1) this.config_options.pages.datasource = [{text: String(i), value: String(i)}];\n          else this.config_options.pages.datasource.push({text: String(i), value: String(i)});\n        }\n      });\n    }).catch(error => {\n      console.error(error);\n      this.isLoading = false;\n      this.records = null;\n      this.error = 'Errore nel caricamento dei dati';\n    });\n    /* Store table settings on local storage */\n    localStorage.setItem(this.id, JSON.stringify(this.settings));\n  }\n\n  /* Formats record output depending on kamaji's field type */\n  format(record, field) {\n    let value = null;\n    let column = this.dataset.find(x => x.field === field);\n\n    if (!column && !['date_created', 'date_modified'].includes(field)) return record[field];\n\n    if (field.indexOf('.') > 0) {\n      let parts = field.split('.');\n      value = record[parts[0]] && record[parts[0]][parts[1]] ? record[parts[0]][parts[1]] : null;\n    } else {\n      value = record[field];\n    }\n\n    if (!value) return null;\n\n    if (field === 'date_created' || field === 'date_modified') {\n      return moment.utc(value, 'YYYY-MM-DD').local().format('DD/MM/YYYY');\n    } else if (column.control === 'list' && column.datasource) {\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      let view = column.datasource.model.view || null;\n      let keys = !view ? null : view.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      let values = JSON.parse(value);\n      let join = column.datasource.model.join || ', ';\n      if (view && keys) {\n        values.forEach((v, i) => {\n          let nw = view;\n          for (let key of keys) nw = nw.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          values[i] = nw;\n        });\n      } else {\n        values.forEach((v, i) => {\n          values[i] = Object.values(v).join(' ');\n        });\n      }\n      return values.join(join);\n    } else if (column.datamultiple && column.datasource) {\n      let values = [];\n      for (let v of value) {\n        let keys = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n        if (keys) {\n          let datatext = column.datatext;\n          for (let key of keys) {\n            datatext = datatext.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          }\n          values.push(datatext);\n        }\n        else values.push(v[column.datatext || 'text']);\n      }\n      return values.join(', ');\n    } else if (!column.datamultiple && column.datasource && column.control !== 'file') {\n      let keys = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      if (keys) {\n        let datatext = column.datatext;\n        for (let key of keys) {\n          datatext = datatext.replace(key, value[key.replace(/\\{|\\}/g, '')] || '');\n        }\n        return datatext;\n      } else if (typeof value === 'string' && Array.isArray(column.datasource)) {\n        let v = column.datasource.filter(x => { return String(x[column.datavalue]) === String(value); });\n        if (v && v.length) return v[0][column.datatext];\n        return value;\n      }\n      return value[column.datatext || 'text'];\n    } else if (column.datatype === 'json') {\n      return JSON.stringify(value);\n    } else if (column.control === 'age') {\n      return moment().diff(moment(value, 'YYYY-MM-DD'), 'years');\n    } else if (column.datatype === 'date') {\n      return (column.utc ? moment.utc(value, 'YYYY-MM-DD').local() : moment(value, 'YYYY-MM-DD')).format('DD/MM/YYYY');\n    } else if (column.datatype === 'datetime') {\n      return (column.utc ? moment.utc(value, 'YYYY-MM-DD HH:mm:ss').local() : moment(value, 'YYYY-MM-DD HH:mm:ss')).format('DD/MM/YYYY HH:mm:ss');\n    }\n    return value;\n  }\n\n  set_sort(field) {\n    let sort = this.settings.sort_stack.indexOf(field) > -1 ? this.settings.sort[field] || null : null;\n    if (sort) {\n      sort.order = (sort.order === 'asc' ? 'desc' : (sort.order === 'desc' ? null : 'asc'));\n      if (!sort.order) {\n        this.settings.sort[field] = {};\n        this.settings.sort_stack.splice(this.settings.sort_stack.indexOf(field), 1);\n      }\n    }\n    else {\n      this.settings.sort_stack.push(field);\n      this.settings.sort[field] = { order: 'asc' };\n    }\n    for (let f of this.settings.sort_stack) {\n      this.settings.sort[f].class = 'sort-' + this.settings.sort[f].order + ' sort-' + (this.settings.sort_stack.indexOf(f) + 1);\n    }\n    this.load();\n  }\n\n  set_page (page) {\n    let pages = Math.ceil(this.total / parseInt(this.settings.limit));\n    if (page == 'first')\n      this.settings.offset = 0;\n    else if (page == 'prev')\n      this.settings.offset = this.settings.offset - parseInt(this.settings.limit) > 0 ? this.settings.offset - parseInt(this.settings.limit) : 0;\n    else if (page == 'next')\n      this.settings.offset = !this.records.length ? this.settings.offset : this.settings.offset + parseInt(this.settings.limit) < this.total ? this.settings.offset + parseInt(this.settings.limit) : parseInt(this.settings.limit) * (pages -1);\n    else if (page == 'last')\n      this.settings.offset = !this.records.length ? this.settings.offset : parseInt(this.settings.limit) * (pages -1);\n    else if (typeof page == 'number' || (/^[0-9]*?$/g).test(page))\n      this.settings.offset = parseInt(this.settings.limit) * (parseInt(page) - 1);\n    else return;\n    this.load();\n  }\n\n  set_limit(limit) {\n    this.settings.limit = limit;\n    this.load();\n  }\n\n  show_options ($event) {\n    if (this.optionsOpen) return this.hide_options();\n    // Add backdrop\n    let backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', event => { if (event.target == backdrop) this.hide_options(); });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n    // Move options box to backdrop and open\n    let drawer = document.querySelectorAll('#'+this.id+' .ka-table-options')[0];\n    if ($event && $event.target) {\n      let bounds = $event.target.getBoundingClientRect();\n      drawer.style.top = bounds.top+'px';\n      drawer.style.left = bounds.left+(bounds.width/2)+'px';\n    }\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(()=>{ // Timeout used for css transition\n      drawer.classList.add('open');\n      this.optionsOpen = true;\n    }, 100);\n  }\n  hide_options () {\n    if (!this.optionsOpen) return;\n    // Move options box back to component\n    let drawer = document.querySelectorAll('#ka-table-backdrop-'+this.id+' .ka-table-options')[0];\n    drawer.classList.remove('open');\n    setTimeout(()=>{\n      drawer.classList.add('hidden');\n      this.element.appendChild(drawer);\n      // Remove backdrop\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + this.id));\n      // Close box\n      this.optionsOpen = false;\n    }, 500);\n  }\n\n  show_filters () {\n    if (this.filtersOpen) return this.hide_filters();\n    // Add backdrop\n    let backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', event => { if (event.target == backdrop) this.hide_filters(); });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n    // Move drawer to backdrop and open\n    let drawer = document.querySelectorAll('#'+this.id+' .ka-table-drawer.filters')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(()=>{ // Timeout used for css transition\n      drawer.classList.add('open');\n      this.filtersOpen = true;\n    }, 100);\n  }\n  hide_filters () {\n    // Move drawer back to component\n    let drawer = document.querySelectorAll('#ka-table-backdrop-'+this.id+' .ka-table-drawer.filters')[0];\n    if (!drawer) return; // Drawer may not exist if applied filters from ka-tableFilters component\n    drawer.classList.remove('open');\n    setTimeout(()=>{\n      drawer.classList.add('hidden');\n      this.element.appendChild(drawer);\n      // Remove backdrop\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + this.id));\n      // Close drawer\n      this.filtersOpen = false;\n    }, 500);\n  }\n  apply_filters () {\n    this.hide_filters();\n    this.settings.offset = 0;\n    this.load();\n  }\n  reset_filters () {\n    if (this.filtersOpen) this.hide_filters();\n    this.settings.offset = 0;\n    for (let field of this.filters) {\n      if (this.settings.filters[field.field]) {\n        let default_operator = null;\n        if (field.datamultiple) default_operator = '~~';\n        else if (field.control === 'number') default_operator = '=';\n        else if (field.control === 'age') default_operator = '=';\n        this.settings.filters[field.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: field.control };\n      }\n      if (field.control === 'age') {\n        field.control = 'number';\n        field.datatype = 'tinyint(3)';\n      }\n    }\n    this.load();\n  }\n\n  show_export () {\n    if (this.exportOpen) return this.hide_export();\n    // Add backdrop\n    let backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', event => { if (event.target == backdrop) this.hide_export(); });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n    // Move drawer to backdrop and open\n    let drawer = document.querySelectorAll('#'+this.id+' .ka-table-drawer.export')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(()=>{ // Timeout used for css transition\n      drawer.classList.add('open');\n      this.exportOpen = true;\n    }, 100);\n  }\n  hide_export () {\n    // Move drawer back to component\n    let drawer = document.querySelectorAll('#ka-table-backdrop-'+this.id+' .ka-table-drawer.export')[0];\n    drawer.classList.remove('open');\n    setTimeout(()=>{\n      drawer.classList.add('hidden');\n      this.element.appendChild(drawer);\n      // Remove backdrop\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + this.id));\n      // Close drawer\n      this.exportOpen = false;\n    }, 500);\n  }\n  select_export() {\n    for (let field of this.export_schema) {\n      this.settings.exports[field.field] = true;\n    }\n  }\n  unselect_export() {\n    for (let field of this.export_schema) {\n      this.settings.exports[field.field] = false;\n    }\n  }\n  apply_export($event, exportPages = null) {\n    if ($event && $event.model) $event.model.busy = true;\n    let fields = Object.keys(this.settings.exports).reduce((acc, k) => { if (this.settings.exports[k] === true) acc.push(k); return acc; }, []).join(',');\n    let query = this.export_query;\n    if (exportPages === 'ALL') {\n      query = query.replace(/&limit=\\d*/, '');\n      query = query.replace(/&offset=\\d*/, '');\n    }\n    this.client.get(query + '&depth=1&meta=0&fields=' + fields).then(x => {\n      let records = this.parse_response(x);\n      if (!records.length) {\n        this.toast.show('<strong>Nessun risulta alcun dato da esportare!</strong>', 'error');\n        return;\n      }\n      let csv = [Object.keys(records[0]).join(';')];\n      for (let record of records) {\n        let values = [];\n        for (let k of Object.keys(record)) {\n          let value = this.dataset.find(f => { return f.field === k; }) ? this.format(record, k) : record[k];\n          if (typeof value === 'string') {\n            value = value.replace('\"', '\"\"'); // CSV escape double quotes\n            value = `\"${value}\"`; // CSV double quote value delimiter\n          }\n          values.push(value);\n        }\n        csv.push(values.join(';'));\n      }\n      csv = csv.join('\\n');\n      let blob = new Blob([csv], {type: 'text/csv'});\n      let anchor = document.createElement('a');\n      anchor.download = moment().format('YYYY-MM-DD_HH-mm') + '_' + this.endpoint.replace(/[^a-zA-Z0-9]/g, '-') + '.csv';\n      anchor.href = window.URL.createObjectURL(blob);\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.hide_export();\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n\n  add () {\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      let childRoute = this.router.routes.filter(x => { return x.name == (this.routes.add || this.router.currentInstruction.config.name) })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new', data: this.routes.data || {} }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.load();\n        }\n      });\n    }\n    else this.router.navigateToRoute(this.routes.add || this.router.currentInstruction.config.name, {id: 'new'});\n  }\n  edit (record) {\n    let listRefQuery = `${this.reference_query}&fields=id&limit=1&offset=${parseInt(this.settings.offset || 0, 10) + this.records.indexOf(record)}`;\n    if (this.actions.indexOf('edit') < 0) return;\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      let childRoute = this.router.routes.filter(x => { return x.name == (this.routes.edit || this.router.currentInstruction.config.name) })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: record.id || record.uuid, listRefQuery: btoa(listRefQuery) }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.load();\n        }\n      });\n    }\n    else this.router.navigateToRoute(this.routes.edit || this.router.currentInstruction.config.name, {id: record.id || record.uuid, listRefQuery: btoa(listRefQuery)});\n  }\n  copy (record, deep = false) {\n    if (this.routes.edit === false) return;\n    if (deep) {\n      let fields = this.dataset.filter(x => { return x.unique /*|| (x.required && x.control == 'password')*/ });\n      let duplicate = (data) => {\n        let d = this.params && this.params.deepcopy ? JSON.parse(JSON.stringify(this.params.deepcopy)) : { depth: 1 };\n        d.data = data;\n        this.client.post(`duplicate/${record.id || record.uuid}`, d).then(x => {\n          this.toast.show(`<strong>Record duplicato</strong>`, 'success');\n          this.load();\n        }).catch(x => {\n          let error = JSON.parse(x.response).errors[0].msg;\n          this.toast.show(`<strong>${error}</strong>`, 'error');\n        });\n      }\n      if (fields.length) {\n        let template = '', config = {}, model = {};\n        for (let field of fields) {\n          config[field.field] = field;\n          model[field.field] = null;\n          template += `<ka-input config.bind=\"params.viewStrategyParams.config.${field.field}\" value.bind=\"params.viewStrategyParams.model.${field.field}\"></ka-input>`;\n        }\n        let viewStrategy = new InlineViewStrategy(`<template>${template}</template>`);\n        let viewStrategyParams = { config: config, model: model };\n        this.dialog.open({\n          type: 'confirm',\n          title: 'Duplica record',\n          viewStrategy: viewStrategy,\n          viewStrategyParams: viewStrategyParams,\n        }, true).whenClosed(response => {\n          console.log(viewStrategyParams.model);\n          if (!response.wasCancelled) {\n            duplicate(viewStrategyParams.model);\n          }\n        });\n      }\n      else duplicate();\n    }\n    else {\n      this.client.get(`${this.endpoint}/${record.id || record.uuid}`, {meta: 0, depth: 0}).then(x => {\n        let data = x.response;\n        delete data.id;\n        delete data.uuid;\n        //delete data.endpoint;\n        //delete data.user_created;\n        //delete data.user_modified;\n        //delete data.date_created;\n        //delete data.date_modified;\n        if (this.routes.dialog) {\n          let childRoute = this.router.routes.filter(x => { return x.name == (this.routes.edit || this.router.currentInstruction.config.name) })[0];\n          this.dialog.open({\n            title: childRoute.title,\n            viewModel: childRoute.moduleId,\n            viewModelParams: { id: 'new', data: data }\n          }, true).whenClosed(response => {\n            if (!response.wasCancelled) {\n              this.load();\n            }\n          });\n        } else this.router.navigateToRoute(this.routes.edit || this.router.currentInstruction.config.name, {id: 'new', data: data});\n      });\n    }\n  }\n  delete (record) {\n    if (this.routes.edit === false) return;\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente il record?'\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.client.delete(`${this.endpoint}/${record.id || record.uuid}`).then(x => {\n          this.toast.show(`<strong>Record eliminato</strong>`, 'success');\n          this.load();\n        }).catch(x => {\n          let error = JSON.parse(x.response).errors[0].msg;\n          this.toast.show(`<strong>${error}</strong>`, 'error');\n        });\n      }\n    });\n  }\n  parse_response (msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  }\n}\n","import {customElement, containerless, inject, bindable, bindingMode} from 'aurelia-framework';\n\n@customElement('ka-table-filters')\n@containerless()\n@inject(Element)\nexport class KaTableFilters {\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) filters = {};\n  @bindable() apply = () => {};\n  @bindable() reset = () => {};\n  _schema = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  schemaChanged(schema) {\n    schema = JSON.parse(JSON.stringify(schema));\n    // Validate schema\n    if (!schema) {\n      konsole.warn('ka-table-filters: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-table-filters: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-table-filters: schema must be an array of objects!', schema);\n      return;\n    }\n\n    // Override schema parameters\n    for (let item of schema) {\n      item.placeholder = `Filtra per ${item.label.toLowerCase()}`;\n      item.label = null;\n      item.required = false;\n    }\n\n    //konsole.debug('ka-table-filters: schema changed!', schema);\n    this._schema = schema;\n  }\n}\n","import {inject, customElement} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\n\n\n@customElement('ka-tabs')\n@inject(Element, Router)\nexport class KaTabs {\n  tabs = [];\n\n  constructor(element, router) {\n    this.element = element;\n    this.name = 'ka-tab-' + this.element.id;\n    this.router = router;\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    this.init().then(tabs => {\n      let tab = tabs[0];\n      let queryParams = this.router.currentInstruction.queryParams;\n      if (queryParams[this.name]) tab = this.tabs.find(item => item.name === queryParams[this.name]) || tab;\n      this.select(tab);\n    });\n    this.element.style.display = 'block';\n    this.contents.style.display = 'block';\n    this.contents.style.position = 'relative';\n    this.contents.style.width = '100%';\n    this.contents.style.whiteSpace = 'nowrap';\n    this.contents.style.overflow = 'hidden';\n  }\n\n  get current() {\n    return this.tabs.find(item => item.visible);\n  }\n\n  init() {\n    this.tabs = [];\n    return new Promise((resolve, reject) => {\n      let elements = Array.from(this.contents.children).filter(x => x.matches('ka-tab'));\n      for (let element of elements) {\n        element.style.opacity = '0';\n        element.style.width = '100%';\n        element.style.position = 'absolute';\n        element.style.top = '0';\n        element.style.left = '0';\n        element.style.transition = 'left 0.3s ease-in-out';\n        this.tabs.push({\n          element,\n          label: element.getAttribute('label') || element.dataset.label || element.id || 'tab-' + elements.indexOf(element),\n          name: element.id,\n          readonly: true,\n          visible: false\n        });\n      }\n      resolve(this.tabs);\n    });\n  }\n\n  isDialog() {\n    return this.parent && this.parent.params && this.parent.params.dialog;\n  }\n\n  select(tab) {\n    let currentTab = this.current;\n    let current = this.tabs.indexOf(currentTab);\n    let index = this.tabs.indexOf(tab);\n\n    if (tab.element.id && !this.isDialog()) {\n      let queryParams = Object.assign({}, this.router.currentInstruction.params, this.router.currentInstruction.queryParams);\n      let route = this.router.currentInstruction.config;\n      queryParams[this.name] = tab.name;\n      this.router.navigateToRoute(route.name, queryParams, { trigger: false, replace: false });\n    }\n\n    for (let i in this.tabs) {\n      i = parseInt(i, 10);\n      let element = this.tabs[i].element;\n      if (i === index) {\n        element.style.position = 'relative';\n        element.style.left = '0';\n        this.tabs[i].visible = true;\n      } else if (i < index) {\n        element.style.position = 'absolute';\n        element.style.left = '-100%';\n        this.tabs[i].visible = false;\n      } else if (i > index) {\n        element.style.position = 'absolute';\n        element.style.left = '100%';\n        this.tabs[i].visible = false;\n      }\n      if (i === current || i === index) element.style.opacity = '1';\n      else element.style.opacity = '0';\n    }\n  }\n\n}\n","export class KaToast {\n  duration = 4000;\n  transition = 500;\n  hold = false;\n  stack = [];\n\n  constructor() {\n  }\n\n  show(message = '', elementClass = '', hold = false) {\n    this.stack.push({ message, elementClass, hold });\n    this.consume();\n  }\n\n  consume() {\n    if (this.holdedElement) {\n      this.holdedElement.remove();\n      this.hold = false;\n      this.holdedElement = null;\n    }\n    if (this.stack.length && !this.hold) {\n      this.hold = true;\n      let current = this.stack.shift();\n      let element = document.createElement('div');\n      element.classList.add('ka-toast');\n      element.classList.add(`ka-toast-${current.elementClass}`);\n      element.innerHTML = current.message;\n      document.body.append(element);\n\n      setTimeout(() => {\n        element.classList.add('visible');\n      }, this.transition);\n\n      if (!current.hold) {\n        this.holdedElement = null;\n        setTimeout(() => {\n          element.classList.remove('visible');\n          setTimeout(() => {\n            element.remove();\n            this.hold = false;\n            this.consume();\n          }, this.transition);\n        }, this.duration - this.transition);\n      } else {\n        this.holdedElement = element;\n      }\n    }\n  }\n}\n","import { bindable, inject, customAttribute } from \"aurelia-framework\";\nimport { computePosition, flip, shift, offset, arrow } from \"@floating-ui/dom\";\n\n@customAttribute(\"ka-tooltip\")\n@inject(Element)\nexport class KaTooltipCustomAttribute {\n  @bindable({ primaryProperty: true }) value;\n  @bindable() style;\n  @bindable() placement = \"top\";\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {\n    this.element.addEventListener(\"mouseenter\", (e) => {\n      if (this.tooltip || !this.value || !this.value.trim().length) return;\n      this.tooltip = document.createElement(\"div\");\n      this.tooltip.role = \"tooltip\";\n      this.tooltip.classList.add(\"ka-tooltip\");\n      if (this.style) this.tooltip.classList.add(this.style);\n      this.tooltip.innerHTML = `<div class=\"value\">${this.value}</div><div class=\"arrow\"></div>`;\n      document\n        .getElementsByTagName(\"body\")[0]\n        .insertBefore(\n          this.tooltip,\n          document.getElementsByTagName(\"body\")[0].children[0]\n        );\n\n      setTimeout(() => {\n        if (!this.tooltip) return;\n        this.tooltip.classList.add(\"visible\");\n        const arrowElement = this.tooltip.querySelector(\"div.arrow\");\n        computePosition(e.target, this.tooltip, {\n          placement: this.placement,\n          middleware: [\n            offset(5),\n            flip(),\n            shift({ padding: 5 }),\n            arrow({ element: arrowElement, padding: 10 }),\n          ],\n        }).then(({ x, y, placement, middlewareData }) => {\n          Object.assign(this.tooltip.style, {\n            left: `${x}px`,\n            top: `${y}px`,\n          });\n          // Arrow\n          const {x: arrowX, y: arrowY} = middlewareData.arrow;\n          const staticSide = {\n            top: 'bottom',\n            right: 'left',\n            bottom: 'top',\n            left: 'right',\n          }[placement.split('-')[0]];\n          Object.assign(arrowElement.style, {\n            left: arrowX != null ? `${arrowX}px` : '',\n            top: arrowY != null ? `${arrowY}px` : '',\n            right: '',\n            bottom: '',\n            [staticSide]: '-4px',\n          });\n        });\n      }, 1000);\n      \n    });\n    this.element.addEventListener(\"mouseleave\", (e) => {\n      if (!this.tooltip) return;\n      document.getElementsByTagName(\"body\")[0].removeChild(this.tooltip);\n      this.tooltip = null;\n    });\n  }\n  detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName(\"body\")[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  }\n}\n","import { customAttribute } from 'aurelia-framework';\n\n@customAttribute('md-action')\nexport class MdActionCustomAttribute {\n  value;\n\n  // Proprietà di value gestite\n  icon;\n  iconSize;\n  iconAfter;\n  iconColor;\n  loaderWidth;\n  wrapperWidth;\n  wrapperMargin;\n  loaderThickness;\n\n  static inject = [Element];\n  constructor(element) {\n    this.element = element;\n  }\n  attached() {\n    this.init();\n  }\n  detached() {\n    this.element.removeEventListener('click', this.boundHandleClick);\n  }\n  init() {\n    // Accetta sia md-action=\"{ ... }\" (stringa) sia md-action.bind=\"{ ... }\" (oggetto)\n    const options = typeof this.value === 'string' ? eval(`(${this.value})`) : (this.value || {});\n    Object.assign(this, options);\n\n    if (this.loaderWidth) this.element.style.setProperty('--loader-width', this.loaderWidth);\n    if (this.loaderThickness) this.element.style.setProperty('--loader-thickness', this.loaderThickness);\n\n    if (!this.wrapper) this.initIcon();\n    this.boundHandleClick = this.handleClick.bind(this);\n    this.element.addEventListener('click', this.boundHandleClick);\n  }\n  handleClick(event) {\n    setTimeout(() => {\n      if (event.model?.busy === true) {\n        this.element.classList.add('load');\n        const interval = setInterval(() => {\n          if (event.model?.busy === false) {\n            this.element.classList.remove('load');\n            clearInterval(interval);\n          }\n        }, 200);\n      }\n    }, 0);\n  }\n  initIcon() {\n    this.wrapper = document.createElement('div');\n    this.wrapper.className = 'wrapper';\n    if (this.wrapperWidth) this.wrapper.style.width = this.wrapperWidth;\n    if (this.wrapperMargin) this.wrapper.style.margin = this.wrapperMargin;\n    if (this.iconAfter) {\n      this.element.append(this.wrapper);\n      this.wrapper.classList.add('icon-after');\n    } else {\n      this.element.prepend(this.wrapper);\n      this.wrapper.classList.add('icon-before');\n    }\n    this.setIcon()\n    this.setSpinner();\n  }\n  setIcon() {\n    const icon = document.createElement('i');\n    icon.className = this.icon;\n    if (this.iconColor) icon.style.color = this.iconColor;\n    if (this.iconSize) icon.style.fontSize = this.iconSize;\n    this.wrapper.append(icon);\n  }\n  setSpinner() {\n    const spinner = document.createElement('div');\n    spinner.className = 'spinner-loader';\n    this.wrapper.append(spinner);\n  }\n}\n","import {inject, customAttribute} from 'aurelia-framework';\n\n@customAttribute('md-tooltip')\n@inject(Element)\nexport class MdTooltipCustomAttribute {\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {\n    if (!this.element.tagName) return;\n    let target = this.element;\n    let icon = document.createElement('i');\n    icon.classList.add('tooltip-icon', 'material-icons');\n    icon.textContent = 'help';\n    setTimeout(() => {\n      if (['md-input', 'ka-input'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('.ka-input-checkbox-description');\n        container.append(icon);\n      } else if (['md-control', 'ka-control'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('ka-control-check .description');\n        container.append(icon);\n      } else if (this.element.innerHTML === '') {\n        this.element.append(icon);\n      }\n      target.addEventListener('mouseover', (e) => {\n        if (this.tooltip) return;\n        let bounds = e.target.getBoundingClientRect();\n        this.tooltip = document.createElement('div');\n        this.tooltip.classList.add('md-tooltip');\n        this.tooltip.style.top = (bounds.top + bounds.height) + 'px';\n        this.tooltip.style.left = (bounds.left + (bounds.width / 2)) + 'px';\n        this.tooltip.innerHTML = this.value;\n        document.getElementsByTagName('body')[0].insertBefore(this.tooltip, document.getElementsByTagName('body')[0].children[0]);\n        setTimeout(()=>{ if (!this.tooltip) return; this.tooltip.classList.add('visible'); }, 300);\n      });\n      target.addEventListener('mouseout', (e) => {\n        if (!this.tooltip) return;\n        document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n        this.tooltip = null;\n      });\n    }, 100);\n  }\n  detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { bindable, customAttribute } from 'aurelia-framework';\nimport { computePosition, flip, shift, offset, arrow } from '@floating-ui/dom';\n\n@customAttribute('static-tooltip')\nexport class StaticTooltipCustomAttribute {\n  config;\n  element;\n  tooltipId;\n  elementId;\n  navigationEvent;\n  @bindable() value;\n  @bindable() style = 'static-tooltip';\n\n  static inject = [Element, EventAggregator];\n  constructor(element, eventAggregator) {\n    this.element = element;\n    this.tooltipId = uuidv4();\n    this.elementId = uuidv4();\n    this.eventAggregator = eventAggregator;\n  }\n  attached() {\n    const elementIcon = this.element?.querySelector('i');\n    this.navigationEvent = this.eventAggregator.subscribe('router:navigation:success', this.clear);\n\n    this.clear();\n    this.config = this.setValue();\n    this.element.id = this.elementId;\n    this.element.classList.add('has-custom-icon');\n    if (!elementIcon) {\n      const icon = this.generateIcon(this.config);\n      if (icon) this.element.prepend(icon);\n    }\n    this.onClick = this.handleClick.bind(this);\n    this.onMouseEnter = this.handleMouseEnter.bind(this);\n    this.onMouseLeave = this.handleMouseLeave.bind(this);\n    this.onOutsideClick = this.handleOutsideClick.bind(this);\n    this.element.addEventListener('click', this.onClick);\n    this.element.addEventListener('mouseenter', this.onMouseEnter);\n    this.element.addEventListener('mouseleave', this.onMouseLeave);\n    document.addEventListener('click', this.onOutsideClick);\n  }\n  detached() {\n    this.close();\n    clearTimeout(this.showTimeout);\n    this.showTimeout = null;\n    this.navigationEvent?.dispose();\n    this.element.removeEventListener('click', this.onClick);\n    this.element.removeEventListener('mouseenter', this.onMouseEnter);\n    this.element.removeEventListener('mouseleave', this.onMouseLeave);\n    document.removeEventListener('click', this.onOutsideClick);\n  }\n  valueChanged() {\n    if (this.config) this.config = this.setValue();\n  }\n  clear() {\n    let tooltipList = document.body?.querySelectorAll?.('div[role=\"tooltip\"].static-tooltip');\n    tooltipList?.forEach?.((tooltip) => {\n      tooltip.remove();\n    });\n  }\n\n  // Set functions\n  setValue() {\n    return {\n      ...this.value,\n      delay: this.value?.delay ?? 1000,\n      icon: this.setIcon(),\n      ...(!this.value?.target && { target: '_blank' }),\n      ...(!this.value?.title && { title: 'Assistenza' }),\n      ...(!this.value?.placement && { placement: 'top' }),\n      ...(!this.value?.subtitle && { subtitle: 'Hai bisogno di aiuto?' }),\n      ...(!this.value?.message && { message: 'Visita il nostro portale di assistenza!' }),\n    };\n  }\n  setIcon() {\n    const icon = structuredClone(this.value?.icon || {});\n    const defaultConfig = {\n      order: 0,\n      width: 1.5,\n      height: 1.5,\n      type: 'icon',\n      margin: [0.3],\n      color: '#fff',\n      fontSize: 1.4,\n      weight: 'fal',\n      class: 'fa-question-circle',\n    };\n    const defaultIconSvg = `<svg viewBox=\"0 0 1171.42 1191.96\"><g><path d=\"M16.84,531.39h537.86c9.29,0,16.81-7.53,16.81-16.81V174.5c0-13.23,14.58-21.28,25.77-14.23l566.29,356.67c10.55,6.65,10.45,22.07-.19,28.57l-579.76,354.3c-5.36,3.27-12.09,3.29-17.46.04L8.15,562.59c-14.57-8.81-8.33-31.2,8.7-31.2h0Z\" style=\"fill:#ea560d;\"/><path d=\"M1037.01,675.97v241.18c0,2.59-1.38,4.99-3.61,6.3l-458.14,267.52c-2.31,1.35-5.17,1.32-7.45-.06L109.53,913.28c-2.18-1.32-3.51-3.69-3.51-6.24v-231.07c0-5.66,6.18-9.16,11.04-6.26l450.71,269.77c2.31,1.38,5.18,1.38,7.49,0l450.71-269.77c4.86-2.91,11.04.59,11.04,6.26Z\" style=\"fill:#ea560d;\"/><path d=\"M36.82,495.48h498.82V0L36.82,495.48ZM444.56,412.6h-203.66l203.66-202.29v202.29Z\" fill=\"#001b3f\"/> <path d=\"M444.56,412.6h-203.66l203.66-202.29Z\" fill=\"transparent\"/></g></svg>`;\n    const svgMarkup = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>${icon.svg || defaultIconSvg}`;\n    if (icon.type === null) return icon;\n    return {\n      ...icon,\n      ...(icon.type === undefined && { type: defaultConfig.type }),\n      ...(icon.class === undefined && icon.type === 'icon' && { class: defaultConfig.class }),\n      ...(icon.type === 'svg' && { svg: svgMarkup }),\n      ...((icon.type === 'icon' && !icon.weight) && { weight: defaultConfig.weight }),\n      ...((icon.type === 'icon' && !icon.color) && { color: defaultConfig.color }),\n      ...(!icon.width && { width: defaultConfig.width }),\n      ...(!icon.height && { height: defaultConfig.height }),\n      ...(icon.margin === undefined && { margin: defaultConfig.margin }),\n      ...(!icon.fontSize && { fontSize: defaultConfig.fontSize }),\n      ...(icon.order === undefined && { order: defaultConfig.order })\n    }\n  }\n  generateIcon(value) {\n    value = structuredClone(value);\n    const icon = value?.icon;\n    if (!icon || icon.type === null) return null;\n    const wrapper = document.createElement('i');\n    const marginStyle = this.parseMargin(icon.margin);\n\n    wrapper.style.margin = marginStyle;\n    if (icon.order) wrapper.style.order = icon.order;\n\n    switch (icon.type) {\n      case 'svg':\n        wrapper.innerHTML = icon.svg;\n        const svg = wrapper.querySelector('svg');\n        if (svg) {\n          Object.assign(svg.style, {\n            width: `${icon.width}rem`,\n            height: `${icon.height}rem`,\n            margin: marginStyle,\n            display: 'inline-block',\n            verticalAlign: 'middle'\n          });\n        }\n        break;\n      case 'icon':\n        wrapper.classList.add(icon.weight, icon.class);\n        wrapper.style.fontSize = `${icon.width}rem`;\n        wrapper.style.color = icon.color;\n        if (icon.lineHeight) wrapper.style.lineHeight = `${icon.lineHeight}rem`;\n        break;\n    }\n    return wrapper;\n  }\n\n  // Parse functions\n  parseMargin(input) {\n    if (!Array.isArray(input) || input.length === 0) return '0.3rem';\n    return input.slice(0, 4).map((value) => `${Number(value) || 0}rem`).join(\" \");\n  }\n\n  // Handle functions\n  handleMouseLeave() {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n  }\n  handleMouseEnter(event) {\n    if (!this.showTimeout) {\n      this.tooltip = null;\n      this.showTimeout = setTimeout(() => {\n        if (this.element?.parentElement?.querySelector?.(':hover') === this.element) {\n          document.querySelectorAll('div[role=\"tooltip\"]').forEach((tooltip) => tooltip.remove());\n          this.open(event);\n        }\n        this.showTimeout = null;\n      }, this.config.delay);\n    }\n  }\n  handleClick(event) {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n    if (this.tooltip && document.body.contains(this.tooltip)) {\n      this.close();\n    } else {\n      this.clear();\n      this.open(event);\n    }\n  }\n  handleOutsideClick(event) {\n    if (!this.tooltip || this.tooltip.contains(event.target) || this.element.contains(event.target)) return;\n    this.close();\n  }\n\n  // Opening/closing functions\n  open(event) {\n    const value = structuredClone(this.config);\n    this.tooltip = document.createElement('div');\n    this.tooltip.role = 'tooltip';\n    this.tooltip.id = this.tooltipId;\n    this.tooltip.classList.add('ka-tooltip', 'static-tooltip');\n    if (this.style) this.tooltip.classList.add(this.style);\n\n    const iconNode = this.generateIcon(value);\n    const iconHtml = iconNode?.outerHTML || '';\n\n    this.tooltip.innerHTML = `\n      <div class=\"header\">\n        <div class=\"header-title\">\n          ${iconHtml}\n          <h3>${value.title}</h3>\n        </div>\n        <div class=\"closure\"></div>\n      </div>\n      <div class=\"value\">\n        <p>\n          <strong>${value.subtitle}</strong><br>\n          <a href=\"${value.href}\" target=\"${value.target}\">${value.message}</a>\n        </p>\n      </div>\n      <div class=\"arrow\"></div>\n    `;\n\n    document.body.insertBefore(this.tooltip, document.body.firstChild);\n\n    setTimeout(() => {\n      if (!this.tooltip) return;\n      this.tooltip.classList.add(\"visible\");\n      const closure = this.tooltip.querySelector('.closure');\n      const arrowElement = this.tooltip.querySelector('.arrow');\n\n      computePosition(event.target, this.tooltip, {\n        placement: value.placement,\n        middleware: [\n          offset(5),\n          flip(),\n          shift({ padding: 5 }),\n          arrow({ element: arrowElement, padding: 10 })\n        ],\n      }).then(({ x, y, placement, middlewareData }) => {\n        if (!this.tooltip) return;\n        Object.assign(this.tooltip.style, { left: `${x}px`, top: `${y}px` });\n\n        const { x: arrowX, y: arrowY } = middlewareData.arrow;\n        const staticSide = {\n          top: 'bottom', right: 'left', bottom: 'top', left: 'right'\n        }[placement.split('-')[0]];\n\n        Object.assign(arrowElement.style, {\n          left: arrowX != null ? `${arrowX}px` : '',\n          top: arrowY != null ? `${arrowY}px` : '',\n          right: '', bottom: '',\n          [staticSide]: '-4px',\n        });\n      });\n      closure.addEventListener(\"click\", this.close.bind(this));\n    }, 0);\n  }\n  close(event) {\n    this.clear();\n    this.tooltip = null;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(DialogController)\nexport class DialogIntents {\n  vms = {\n    \"LOGIN\": PLATFORM.moduleName('resources/dialogs/intents/vms/login'),\n    \"PAY-ORDERS\": PLATFORM.moduleName('resources/dialogs/intents/vms/pay-orders'),\n    \"PROVIDE-IBAN\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-iban'),\n    \"SDD-ENABLED-REQUIRED\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-sdd'),\n    \"PROVIDE-LEGAL-FORM\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-legal-form'),\n    \"ACCEPT-CASHBACK-CONTRACT\": PLATFORM.moduleName('resources/dialogs/intents/vms/accept-cashback-contract'),\n    \"CONFIRM-TRANSMISSION-DELAY\": PLATFORM.moduleName('resources/dialogs/intents/vms/confirm-transmission-delay'),\n    \"PROVIDE-CERTIFIED-DOCUMENTS\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-certified-documents')\n  };\n\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n  \n  activate(xhr) {\n    this.response = xhr.response;\n\n    // Check for a single intent\n    this.intent = this.response.source.intents.find((intent) => ['LOGIN','CONFIRM-TRANSMISSION-DELAY','EMAIL-CONFIRMATION-REQUIRED'].includes(intent.code));\n    if (this.intent) {\n      this.intent.vm = this.vms[this.intent.code];\n    } else {\n      // Loop intents\n      this.intents = [];\n      for (let intent of this.response.source.intents) {\n        if (intent.vm = this.vms[intent.code]) this.intents.push(intent);\n      }\n    }\n  }\n\n  includesCode(code) {\n    const intents = this.intents.map((intent) => intent.code);\n    return intents.includes(code);\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\n\n@inject(Router)\nexport class DialogIntentsAcceptCashbackContract {\n  constructor(router) {\n    this.router = router;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.controller = this.params.controller;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsConfirmTransmissionDelay {\n  mdt = mdt;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  created(view) {\n    this.parent = view.bindingContext;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  send() {\n    const data = { attributes: { statusCode: 'TRANSMITTED', nonWorkingDaysDisclaimerAccepted: 'YES' } };\n    this.api.patch(`users/me/tax-withholding-transmission-sessions/${this.params.sessionUuid}`, { data }).then(x => {\n      this.parent.controller.cancel();\n      this.toast.show('Invio effettuato con successo!', 'success');\n    }).catch(error => {\n      console.log('Error Patch', error);\n      this.toast.show('Errore durante l\\'invio!', 'error');\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class DialogIntentsLogin {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  login($event) {\n    // add reroute query to url\n    if ('URLSearchParams' in window) {\n      var searchParams = new URLSearchParams(window.location.search)\n      searchParams.set(\"reroute\", encodeURIComponent(this.router.currentInstruction.fragment));\n      var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n      history.pushState(null, '', newRelativePathQuery);\n    }\n    // login and return to the offer page\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.username, this.password).then(() => {\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: true }));\n    }).catch(error => {\n      console.warn('Login failed', error);\n      this.toast.show('Autenticazione utente fallita!', 'error');\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}","export class DialogIntentsPayOrders{\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideCertifiedDocuments {\n  mdt = mdt;\n  uploadSessionUuid = null;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.documents = this.parseDocuments(this.params.documents);\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  parseDocuments(documents) {\n    let _documents = [];\n    documents.forEach(document => {\n      // Translate label\n      document.label = codesTranslator.tr(document.code);\n\n      // Create an array with no duplicates\n      for (let i = 0; i < document.errors.MISSING ; i++) {\n        this.hasMissingDocuments = true;\n        let missingDocument = Object.assign({ _errors: { MISSING: true, PENDING: false }}, document);\n        _documents.push(missingDocument);\n      }\n      for (let i = 0; i < document.errors.PENDING ; i++) {\n        this.hasPendingDocuments = true;\n        let pendingDocument = Object.assign({ _errors: { MISSING: false, PENDING: true }}, document);\n        _documents.push(pendingDocument);\n      }\n    });\n    return _documents;\n  }\n\n  edit(document) {\n    document.resource = new DocumentResource(this.api, this.dialog);\n    document.resource.schema.file.label = document.label;\n    document.edit = true;\n  }\n\n  save(document, $event) {\n    document.resource.validate().then(() => {\n      $event.model.busy = true;\n      this.uploadSession().then(() => {\n        this.upload(document.resource.data.file[0]).then(file => {\n          let data = { uploadedFileUuid: file.id, documentType: document.code.match(/\\[(.*)\\]/)[1] }\n          if (document.placeholder) data.placeholder = document.placeholder;\n          this.api.post(`users/${this.params.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            document.saved = true;\n            document.edit = false;\n            sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n            this.toast.show(`Documento caricato con successo!`, 'success');\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            document.resource.error(error);\n          }).finally(() => {\n            $event.model.busy = false;\n          });\n        });\n      });\n    });\n  }\n\n  uploadSession() {\n    return this.api.get(`users/${this.params.userId}/certifiable-document-buckets/current`).then(xhr => {\n      this.uploadSessionUuid = xhr.response.uploadSessionUuid;\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets/current GET', error);\n      this.toast.show(`Errore durante il caricamento!`, 'error');\n    });\n  }\n\n  upload(file) {\n    let endpoint = `users/${this.params.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => {\n          console.log('ERROR - uploaded-files POST', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject()\n        });\n      }).catch(error => {\n        console.log('ERROR - uploaded files PROMISE', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject()\n      });\n    });\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n\nexport class DocumentResource {\n  controls = {};\n  schema = {\n    file: {\n      label: null,\n      control: 'file',\n      required: true\n    }\n  };\n  data = {};\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  validate() {\n    let promises = [];\n    Object.values(this.controls).forEach(control => {\n      console.log(control);\n      promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n    });\n    return Promise.all(promises);\n  }\n  \n  error(error) {\n    this.api.dialogError(error, this.controls, ['documentType']);\n  }\n}\nexport const codesTranslator = {\n  codes: {\n    'BANK-ACCOUNT-OWNERSHIP-CERT' : {\n      'IT' : 'Attestazione titolarità del conto corrente',\n      'EN' : 'Bank account ownership certification'\n    },\n    'COMPANY-REPORT' : {\n      'IT' : 'Visura camerale',\n      'EN' : 'Company report'\n    },\n    'FISCAL-CODE-CERTIFICATION' : {\n      'IT' : 'Certificato attribuzione codice fiscale',\n      'EN' : 'Fiscal code certification'\n    },\n    'ID-CARD' : {\n      'IT' : 'Carta d\\'identità',\n      'EN' : 'Identity card'\n    },\n    'SN-CARD' : {\n      'IT' : 'Codice fiscale o tessera sanitaria',\n      'EN' : 'Security number card'\n    },\n    'SUBUSER-MANDATE' : {\n      'IT' : 'Certificazione attribuzione mandato',\n      'EN' : 'Subuser mandate'\n    },\n    'VAT-CODE-CERTIFICATION' : {\n      'IT' : 'Certificazione attribuzione partita iva',\n      'EN' : 'Vat code attribution certificate'\n    },\n    'MAV-VECTOR-CONTRACT' : {\n      'IT' : 'Accordo tra MultiDialogo e Bper',\n      'EN' : 'Agreement between MultiDialogo and Bper'\n    },\n    'MAV-VECTOR-CONTRACT-OLD-POPSO' : {\n      'IT' : 'Accordo tra MultiDialogo e Banca Popolare di Sondrio',\n      'EN' : 'Agreement between MultiDialogo and Banca Popolare di Sondrio'\n    }\n  },\n  tr: (string) => {\n    let lang = string.match(/\\.(.*)\\./)[1];\n    let code = string.match(/\\[(.*)\\]/)[1];\n    if (lang && code && codesTranslator.codes[code] && codesTranslator.codes[code][lang]) return codesTranslator.codes[code][lang];\n    else return string;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideIban {\n  mdt = mdt;\n  pending = false;\n  resource = {\n    controls: {},\n    schema: {\n      iban: {\n        label: 'IBAN',\n        control: 'text',\n        required: true,\n        min: 6,\n        max: 27\n      }\n    }, \n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { payments: { banking: { iban: this.resource.data.iban } } };\n      if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n      this.api.patch(`users/${this.params.billingProfileOwnerId || this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n        this.params.saved = true;\n        this.params.edit = false;\n        this.toast.show(`Codice IBAN salvato con successo!`, 'success');\n        sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideLegalForm {\n  mdt = mdt;\n  pending = true;\n  legalForms = null;\n  legalFormTypes = null;\n  data = {};\n  schema = {\n    companyLegalFormCode: {\n      label: 'Forma legale',\n      control: 'combo',\n      datatext: 'label',\n      datavalue: 'code', \n      datamultiple: false,\n      datapreload: true,\n      datasource: null\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n\n    // Build ka-componet datasource before opening the dialog\n    let companyLegalFormCodeDatasource = null;\n    let promises = [\n      this.api.get('legal-form-types').then(xhr => { this.legalFormTypes = xhr.response; }),\n      this.api.get('legal-forms').then(xhr => { this.legalForms = xhr.response; })\n    ];\n\n    // User display name\n    if (this.params.userId !== this.api.user.id) promises.push(this.getUser());\n\n    Promise.all(promises).then(() => {\n      if (this.legalFormTypes?.length && this.legalForms?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          optgroup = { code: type.code, label: type.label, optgroup: true };\n          companyLegalFormCodeDatasource.push(optgroup);\n          let formsForThisType = this.legalForms.filter(x => x.type === type.code);\n\n          if (formsForThisType.length) {\n            formsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.schema.companyLegalFormCode.datasource = companyLegalFormCodeDatasource;\n      }\n    }).catch(errors => {\n      console.log(`ERRORS - promises GET`, errors);\n      this.api.dialogError(errors);\n    }).finally(() => {\n      setTimeout(() => { this.pending = false; }, 500);\n    });\n  }\n\n  getUser() {\n    return new Promise((resolve, reject) => {\n      this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n        this.data.userDisplayName = xhr.response.profile[0].displayName;\n        return resolve();\n      }).catch(() => {\n        console.log('ERROR user-profile GET', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        return reject();\n      });\n    }); \n  }\n\n  save($event) {\n    $event.model.busy = true;\n    let data = { profile: this.data };\n    let endpoint = this.params.parentId ? `users/me/users/${this.params.userId}` : `users/${this.params.userId}`;\n    this.api.patch(endpoint, data).then(() => {\n      this.params.saved = true;\n      this.params.edit = false;\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      this.toast.show(`Forma legale salvata con successo!`, 'success');\n    }).catch(error => {\n      console.log('ERROR users/me/users - PATCH', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideSdd {\n  mdt = mdt;\n  edit = true;\n  saved = false;\n  data = {};\n  schema = {\n    sdd: {\n      label: '',\n      control: 'check',\n      description: 'Abilita domiciliazione bancaria',\n      required: true\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    let data = { payments: { banking: { sepaDirectDebitEnabled: true } } }\n    if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n    this.api.patch(`users/${this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n      this.saved = true;\n      this.edit = false;\n      this.toast.show(`Domiciliazione bancaria attivata con successo!`, 'success');\n    }).catch(error => {\n      console.log(`ERROR billing-profiles - PATCH`, error);\n      this.resource.error(error);\n    });\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\n\n@customElement('km-layout')\n@inject(Element, Router)\nexport class KmLayout {\n  @bindable() config = null;\n  // Internal bindings\n  _collapsed = false;\n  _styles = { aside: null };\n  _intervals = [];\n\n  // Nav proxies to bypass binding\n  _navigation = { items: [] };\n  _toolbar = { items: [] };\n\n  constructor(element, router) {\n    this.element = element;\n    this.router = router;\n    document.addEventListener('click', e => {\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      for (let st of this.element.querySelectorAll('[data-subtool]')) {\n        st.classList.remove('visible');\n      }\n      let isBurger = e.target === this.burgerAside || e.target === this.burgerHeader || (e.target.parentElement && (e.target.parentElement === this.burgerAside || e.target.parentElement === this.burgerHeader));\n      if (!isBurger && !this._collapsed && window.innerWidth < 860) this.toggle();\n    });\n  }\n\n  attached() {\n    this.init();\n  }\n  detached() {\n    for (let interval of this._intervals) clearInterval(interval);\n  }\n\n  init() {\n    if (!this.config) console.warn('[km-layout] Missing configuration');\n    let config = {\n      infoBox: {},\n      brand: null,\n      user: { groups: [], roles: [] },\n      profile: null,\n      navigation: { items: [] },\n      toolbar: { items: [] },\n      isDevelopmentEnvironment: false\n    };\n    config = Object.assign({}, config, this.config);\n\n    const authorized = (item) => {\n      let userGroups = this.config.user ? (this.config.user.group || this.config.user.groups || []) : [];\n      if (!Array.isArray(userGroups)) userGroups = [userGroups];\n      let userGroupsPassed =  !item.authGroups || (item.authGroups && userGroups.some(e => item.authGroups.includes(e)));\n      let userRoles = this.config.user ? (this.config.user.role || this.config.user.roles || []) : [];\n      if (!Array.isArray(userRoles)) userGroups = [userRoles];\n      let userRolesPassed =  !item.authRoles || (item.authRoles && userRoles.some(e => item.authRoles.includes(e.id)));\n      return userGroupsPassed && userRolesPassed;\n    };\n    const setHiddens = (items) => {\n      let hiddens = true;\n      for (let item of items) {\n        if (authorized(item) && !item.hidden && (item.href || item.call)) {\n          item.hidden = false;\n        } else if (authorized(item) && !item.hidden && item.nav) {\n          item.hidden = setHiddens(item.nav);\n        } else {\n          item.hidden = true;\n        }\n        if (item.hidden === false) {\n          hiddens = false;\n        }\n      }\n      return hiddens;\n    };\n    const activateBadges = (items) => {\n      for (let item of items) {\n        if (item.nav && item.nav.length > 0 && !item.hidden) activateBadges(item.nav);\n        if (!item.badge || !item.badge.promise || item.hidden) continue;\n        let callback = () => {\n          new Promise((resolve, reject) => { return item.badge.promise(resolve, reject); }).then(x => {\n            item.badge.value = x;\n          }).catch(() => { item.badge.value = null; });\n        };\n        this._intervals.push(setInterval(callback, item.badge.interval || 5000));\n        callback();\n      }\n    };\n    setHiddens(config.navigation.items);\n    setHiddens(config.toolbar.items);\n    activateBadges(config.navigation.items);\n    activateBadges(config.toolbar.items);\n\n    this.config = config;\n\n    // Set nav proxies to bypass binding\n    this._navigation.items = config.navigation.items;\n    this._toolbar.items = config.toolbar.items;\n\n    if (window.innerWidth < 860) this.toggle();\n  }\n\n  toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed'); else this.element.classList.remove('collapsed');\n  }\n  toggleNavigation(item) {\n    if (!item.call && !item.href && item.nav) item.collapsed = !item.collapsed;\n  }\n  subtool(index, $event) {\n    $event.stopPropagation();\n    let subtool = this.element.querySelector(`[data-subtool=\"${index}\"]`);\n    if (!subtool) return;\n    subtool.style.right = (window.innerWidth - ($event.currentTarget.getBoundingClientRect().left + $event.currentTarget.getBoundingClientRect().width)) + 'px';\n    subtool.classList.toggle('visible');\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-accordion-button')\n@inject(Element)\nexport class MdAccordionButton {\n  @bindable() expandText;\n  @bindable() collapseText;\n  @bindable() target;\n  @bindable() state;\n  @bindable() initDelay = 1000;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  get isCollapsed() {\n    return this.element.classList.contains('collapsed');\n  }\n\n  attached() {\n    this.targetElement = document.getElementById(this.target);\n    this.targetElement.classList.add('md_accordion_target');\n    if (this.state === 'collapsed') {\n      this.targetElement.style.height = '0';\n      this.toggle(); \n    } else {\n      setTimeout(() => {\n        this.resetHeight(this.targetElement);\n      }, this.initDelay)\n    }\n  }\n\n  toggle() {\n    const routerView = document.querySelector('router-view');\n    routerView.style.overflow = 'visible';\n    this.resetHeight(this.targetElement);\n    this.targetElement.classList.toggle('collapsed');\n    this.element.classList.toggle('collapsed');\n    setTimeout(() => {\n      window.dispatchEvent(new Event('resize'));\n      routerView.style.removeProperty('overflow');\n    }, 1000);\n    if (this.isCollapsed) {\n      this.targetElement.style.height = 0;\n    }\n  }\n\n  resetHeight(element) {\n    element.style.height = element.scrollHeight + 'px';\n  }\n}\n","import { customElement, bindable } from 'aurelia-framework';\n\n// Quota minima di barra per ogni segmento (0.04 = 4%): un valore piccolo resta visibile\nconst MIN_RATIO = .04;\n// Differenze tra somma e totale sotto questa frazione del totale sono arrotondamenti dei decimali, non spazio vuoto\nconst EPSILON = .001;\n\n@customElement('md-bar-chart')\nexport class MdBarChart {\n  /* config = {\n    total: number      valore che corrisponde al 100% (se assente: somma dei partial)\n    label: string      testo dopo il totale, sotto la barra\n    delay: number      ms prima del primo segmento\n    duration: number   ms per riempire l'intera barra\n    pause: number      ms di pausa tra la fine di un segmento e l'inizio del successivo\n    minRatio: number   quota minima di ogni segmento (default 0.04 = 4%). 0 = proporzioni esatte\n  }\n  data = [\n    // un partial per elemento: la voce principale ed eventuali dettagli.\n    // La barra usa sempre la voce principale.\n    [{ partial: number, color: string }]\n  ] */\n  @bindable config;\n  @bindable pending;\n  @bindable data = [];\n  segments = [];    // segmenti da disegnare: quota della barra, colore e tempi dell'animazione\n  animated = false; // diventa true un attimo dopo il render: fa partire le transizioni\n  frame = null;     // id del requestAnimationFrame in corso, per poterlo annullare\n  suffix = '%';\n\n  pendingChanged(pending) {\n    if (pending) {\n      this.reset();\n    } else if (pending === false) {\n      this.run();\n    }\n  }\n  unbind() {\n    this.cancel();\n  }\n  run() {\n    this.reset();\n    const config = this.config || {};\n\n    // 1. Una voce per partial:\n    // La barra usa la voce principale (sempre la prima [0])\n    const items = (this.data || [])\n      .map((partial) => (Array.isArray(partial) ? partial[0] : partial) || {})\n      .map((item) => ({ color: item.color, value: Number(item.partial) || 0, empty: false }))\n      .filter((item) => item.value > 0);\n    // 2. Se la somma dei partial non raggiunge il totale, si aggiunge un partial vuoto\n    // (ignorando le differenze minime dovute ai decimali, es. 83.18 + 138.49 contro 221.67).\n    // Con tutti i partial a 0 è l'unico segmento.\n    const sum = items.reduce((acc, item) => acc + item.value, 0);\n    const total = Number(config.total) || sum;\n    if (total - sum > total * EPSILON) items.push({ color: 'transparent', value: total - sum, empty: true });\n    if (!items.length) items.push({ color: 'transparent', value: 1, empty: true });\n\n    // 3. Ogni segmento riceve la sua quota della barra (da 0 a 1), con un minimo per restare visibile.\n    // Il CSS la applica allo spazio rimasto dopo aver tolto i gap tra i segmenti.\n    // L'animazione è in sequenza e la durata è proporzionale alla quota, così la velocità di riempimento resta costante.\n    // Tra un segmento e il successivo c'è una pausa di config.pause ms.\n    const minRatio = config.minRatio ?? MIN_RATIO;\n    const ratios = this.withMinRatio(items.map((item) => item.value), Number(minRatio) || 0);\n    const duration = Number(config.duration) || 0;\n    const pause = Number(config.pause) || 0;\n    let delay = Number(config.delay) || 0;\n    this.segments = items.map((item, index) => {\n      const ratio = ratios[index];\n      const segment = {\n        ratio,\n        color: item.color,\n        empty: item.empty,\n        delay: Math.round(delay),\n        duration: Math.round(duration * ratio)\n      };\n      delay += duration * ratio + pause;\n      return segment;\n    });\n    // 4. Due frame: il primo lascia renderizzare i segmenti a width 0, il secondo avvia le transizioni verso la width finale.\n    this.frame = window.requestAnimationFrame(() => {\n      this.frame = window.requestAnimationFrame(() => {\n        this.frame = null;\n        this.animated = true;\n      });\n    });\n  }\n  // Quote proporzionali ai valori, ma nessuna sotto min: i segmenti troppo piccoli vengono portati al minimo\n  // e lo spazio che serve viene tolto agli altri, in proporzione alla loro grandezza.\n  // Si ripete finché nessun segmento resta sotto il minimo. La somma delle quote resta sempre 1.\n  withMinRatio(values, min) {\n    const count = values.length;\n    if (!count) return [];\n    if (count * min >= 1) return values.map(() => 1 / count);\n    const fixed = values.map(() => false);\n    for (;;) {\n      const free = 1 - fixed.filter(Boolean).length * min;\n      const freeSum = values.reduce((acc, value, index) => (fixed[index] ? acc : acc + value), 0);\n      const ratios = values.map((value, index) => (fixed[index] ? min : (value / freeSum) * free));\n      const under = ratios.map((ratio, index) => !fixed[index] && ratio < min);\n      if (!under.includes(true)) return ratios;\n      under.forEach((isUnder, index) => { if (isUnder) fixed[index] = true; });\n    }\n  }\n  reset() {\n    this.cancel();\n    this.animated = false;\n  }\n  cancel() {\n    if (this.frame) {\n      window.cancelAnimationFrame(this.frame);\n    }\n    this.frame = null;\n  }\n}\n","import { customElement, bindable } from 'aurelia-framework';\nimport { v4 as uuidv4 } from 'uuid';\nimport { isNumeric, hasDecimals, partialChars, partialReserve } from '../../../classes/models/md-partial-metrics';\n\n@customElement('md-cards')\nexport class MdCards {\n  /*\n    config = {\n      total: number\n      count: number   // card previste: usate solo durante il caricamento, poi comandano i dati\n      compact: boolean || undefined   // false = numeri per esteso (1260 invece di 1k); default true\n    }\n    data = [\n      [\n        {\n          title: string,\n          color: string,\n          partial: number || string,            // numero (animato) o testo (es. 'Silver')\n          prefix: string || undefined,          // simbolo davanti al valore, es. '+' o '-'\n          suffix: string || undefined,          // es. '€', 'pt.': sostituisce \"su <totale>\"\n          showTotal: boolean || undefined,      // false = niente \"su <totale>\" anche senza suffix (default true)\n          info: string || string[] || undefined, // una riga, o più righe come array\n          cta: string || undefined,             // invito all'azione sottolineato (es. 'accedi al portale')\n          href: string || undefined,\n          target: string || undefined\n        }\n      ]\n    ]\n  */\n  @bindable config;\n  @bindable pending;\n  @bindable data = [];\n  stagger = 400;\n  uid = `md-cards-${uuidv4()}`;\n\n  // Durante il caricamento (data []) colonne vuote: tengono l'altezza della legenda, quindi lo skeleton ha già la dimensione finale.  A dati arrivati le colonne sono i dati stessi\n  columns(data, count) {\n    return data?.length ? data : Array.from({ length: count || 0 }, () => [{}]);\n  }\n  isNumeric = isNumeric;\n  hasDecimals = hasDecimals;\n  partialChars = partialChars;\n  partialReserve = partialReserve;\n\n  // info può essere una stringa o un array\n  infoLines(info) {\n    if (Array.isArray(info)) return info.filter(Boolean);\n    return info ? [info] : [];\n  }\n}\n","import { customElement, bindable } from 'aurelia-framework';\nimport { v4 as uuidv4 } from 'uuid';\nimport { hasDecimals, partialChars, partialReserve } from '../../../classes/models/md-partial-metrics';\n\n@customElement('md-chart-legend')\nexport class MdChartLegend {\n  /*\n    config = {\n      href: string || undefined        // senza href il titolo è solo testo, senza freccia\n      target: string || undefined\n      total: number\n      count: number                   // colonne previste: usate solo durante il caricamento, poi comandano i dati\n      title: string\n      tooltip: string || null || undefined // testo del tooltip sul titolo; undefined = \"Vai alla sezione <titolo>\", null = nessun tooltip\n      compact: boolean || undefined   // false = numeri per esteso (1260 invece di 1k); default true\n    }\n    data = [\n      [\n        { title: string, color: string || undefined, partial: number, suffix: string || undefined, showTotal: boolean || undefined }, // suffix (es. '€') sostituisce \"su <totale>\"; showTotal: false lo nasconde\n        { title: string, color: string, partial: number } Detail\n      ]\n    ]\n    color assente o 'none' = nessun quadratino colorato accanto all'etichetta\n  */\n  @bindable config;\n  @bindable pending;\n  @bindable data = [];\n  uid = `md-chart-legend-${uuidv4()}`;\n\n  // Durante il caricamento (data []) colonne vuote: tengono l'altezza della legenda, quindi lo skeleton ha già la dimensione finale.  A dati arrivati le colonne sono i dati stessi\n  columns(data, count) {\n    return data?.length ? data : Array.from({ length: count || 0 }, () => [{}]);\n  }\n  hasColor(color) {\n    return !!color && color !== 'none';\n  }\n  hasDecimals = hasDecimals;\n  partialChars = partialChars;\n  partialReserve = partialReserve;\n}\n","import {inject, customElement, containerless, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-control')\n@containerless()\n@inject(Element)\nexport class MdControl {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() readonly = null;\n  @bindable() required = null;\n  @bindable() label = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() placeholder = '';\n  @bindable() client = null;\n  @bindable() error = null;\n\n  // Input control specific params property\n  @bindable() params = null;\n  // Other control input properties\n  errors = null;\n  // Bindable callbacks\n  @bindable() change = (value) => {};\n  @bindable() submit = (value) => {};\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    let mdTooltip = this.element.hasAttribute('md-tooltip') ? `md-tooltip=\"${this.element.getAttribute('md-tooltip')}\"` : ( this.element.hasAttribute('md-tooltip.bind') ? `md-tooltip.bind=\"${this.element.getAttribute('md-tooltip.bind')}\"` : \"\" );\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-control view-model.ref=\"parent.controls['${this.name}']\" schema.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" placeholder.bind=\"placeholder\" ${mdTooltip} autocomplete.bind=\"autocomplete\" client.bind=\"client||parent.client\" ${ this.element.hasAttribute('buttons') ? `buttons=\"${this.element.getAttribute('buttons')}\"` : ''} params.bind=\"params\" ka-enter.call=\"enterPressed()\" change.trigger=\"change()\"></ka-control></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import { customElement, bindable, containerless } from 'aurelia-framework';\n\nconst easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);\nconst prefersReducedMotion = () => window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n@containerless\n@customElement('md-count-up')\nexport class MdCountUp {\n  @bindable value;\n  @bindable suffix;\n  @bindable pending;\n  @bindable delay = 0;\n  @bindable duration = 1500;\n  // null = automatico: 0 decimali se il valore finale è intero, altrimenti 2\n  @bindable decimals = null;\n  // false = numeri per esteso (1260), true = abbreviati (1k)\n  @bindable compact = true;\n  current = null;\n  frame = null;\n  timer = null;\n\n  bind() {\n    if (!this.pending) {\n      this.start();\n    }\n  }\n  valueChanged() {\n    if (!this.pending) {\n      this.start();\n    }\n  }\n  pendingChanged(pending) {\n    if (pending) {\n      this.stop();\n    } else {\n      this.start();\n    }\n  }\n  unbind() {\n    this.stop();\n  }\n  start() {\n    this.stop();\n    const end = Number(this.value);\n    if (this.value === null || this.value === undefined || this.value === '' || !Number.isFinite(end)) {\n      this.current = null;\n      return;\n    }\n    // I decimali si decidono sul valore finale, così durante il conteggio il formato non cambia\n    // (un intero conta per interi, un decimale mostra sempre 2 cifre)\n    const decimals = this.decimals === null || this.decimals === undefined ? (Number.isInteger(end) ? 0 : 2) : Number(this.decimals);\n    if (end === 0 || prefersReducedMotion()) {\n      this.current = this.round(end, decimals);\n      return;\n    }\n    this.current = 0;\n    this.timer = setTimeout(() => {\n      let startTimestamp;\n      const step = (timestamp) => {\n        if (startTimestamp === undefined) startTimestamp = timestamp;\n        const progress = Math.min((timestamp - startTimestamp) / Number(this.duration), 1);\n        this.current = progress < 1 ? this.round(easeOutCubic(progress) * end, decimals) : end;\n        this.frame = progress < 1 ? window.requestAnimationFrame(step) : null;\n      };\n      this.frame = window.requestAnimationFrame(step);\n    }, Number(this.delay) || 0);\n  }\n  stop() {\n    clearTimeout(this.timer);\n    window.cancelAnimationFrame(this.frame);\n    this.timer = null;\n    this.frame = null;\n  }\n  round(number, decimals) {\n    const factor = Math.pow(10, decimals);\n    return Math.round(number * factor) / factor;\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-counter')\n@inject(Element)\nexport class MdCounter {\n  @bindable() end;\n  @bindable() label;\n  @bindable() suffix;\n  @bindable() prefix;\n  @bindable() start = 0;\n  @bindable() decimals = 2;\n  @bindable() timeout = 1000;\n  @bindable() duration = 3000;\n  inOutAnimationDuration = 800;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.end = Number(this.end);\n    this.start = Number(this.start);\n    this.timeout = Number(this.timeout);\n    this.decimals = Number(this.decimals);\n    this.duration = Number(this.duration);\n    this.onEntryStart = this.start.toFixed(this.decimals);\n    this.init();\n  }\n  async init() {\n    await this.initElement();\n    this.animateCounter();\n    this.mdCounter.animate([{ opacity: 1 }], { duration: this.inOutAnimationDuration }).onfinish = () => { \n      this.mdCounter.style.opacity = 1;\n      this.animateCounter();\n    }\n  }\n  initElement() {\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        this.mdCounter = document.getElementById('mdCounter');\n        this.mdCounterBody = document.getElementById('mdCounterBody');\n        this.mdCounterElement = document.getElementById('mdCounterElement');\n        resolve();\n      }, 0);\n    });\n  }\n  animateCounter() {\n    let startTimestamp;\n    const step = (timestamp) => {\n      if (!startTimestamp) startTimestamp = timestamp;\n      const progress = Math.min((timestamp - startTimestamp) / this.duration, 1);\n      const digits = progress * (this.end - this.start) + this.start;\n      this.mdCounterElement.innerHTML = digits.toFixed(this.decimals);\n      if (progress < 1) window.requestAnimationFrame(step);\n      else {\n        setTimeout(() => {\n          this.mdCounter.animate([{ opacity: 0 }], { duration: this.inOutAnimationDuration }).onfinish = () => {\n            this.mdCounter.style.opacity = 0;\n            this.element.style.display = 'none';\n          }\n        }, this.timeout);\n      }\n    };\n    window.requestAnimationFrame(step);\n  }\n\n  close() {\n    this.mdCounter.style.opacity = 0;\n    this.element.style.display = 'none';\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@inject(Element)\n@customElement('md-cta-button')\nexport class MdCtaButton {\n  @bindable() text;\n  @bindable() icons;  // stringa \"['fa-a','fa-b']\" dal template, oppure array\n  @bindable() subtext;\n  @bindable() classes = 'inverted';\n  iconList = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n  bind() {\n    this.iconList = this.parseIcons(this.icons);\n  }\n  iconsChanged(icons) {\n    this.iconList = this.parseIcons(icons);\n  }\n  parseIcons(icons) {\n    let list = icons;\n    if (typeof icons === 'string') {\n      try {\n        list = JSON.parse(icons.replace(/'/g, '\"'));\n      } catch {\n        return null;\n      }\n    }\n    return Array.isArray(list) && list.length === 2 ? list : null;\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input-array')\n@inject(Element)\nexport class MdInputArray {\n\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() description = null;\n  @bindable() validation = true;\n  \n  items = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    setTimeout(() => {\n      let parent = this.parent;\n      this.value = eval(`parent.data.${this.name}`);\n      this.schema = eval(`parent.schema.${this.name}`);\n    }, 500);\n  }\n\n  set value(items) {\n    this.items = [];\n    if (!items) return;\n    if (!items.length) {\n      this.items.push({ value: null });\n    } else {\n      for (let item of items) {\n        this.items.push({ value: item });\n      }\n    }\n  }\n\n  get value() {\n    let value = [];\n    for (let item of this.items) {\n      if (item.value) value.push(item.value);\n    }\n    return value;\n  }\n\n  update() {\n    eval(`this.parent.data.${this.name} = this.value`);\n  }\n\n  add() {\n    this.items.push({ value: null });\n    this.update();\n  }\n  remove(index) {\n    for (let i = 0; i < this.items.length; i++) delete this.parent.controls[`${this.name}[${i}]`];\n    let value = this.value;\n    value.splice(index, 1);\n    this.value = value;\n    this.update();\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input')\n@inject(Element)\nexport class MdInput {\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Reference to record id\n  @bindable() record = null;\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() client = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() change = null;\n  @bindable() ready = null;\n  @bindable() dialogClosed = null;\n  @bindable() validation = true;\n  @bindable() queryOperator = null;\n  @bindable() change = () => {};\n  @bindable() submit = () => {};\n\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-input-controls record.bind=\"parent.data.id\" config.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" label.bind=\"label\" default.bind=\"default\" description.bind=\"description\" placeholder.bind=\"placeholder\" autocomplete.bind=\"autocomplete\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" required.bind=\"required||parent.schema.${this.name}.required\" view-model.ref=\"parent.controls['${this.name}']\" client.bind=\"client||parent.client\" change.bind=\"change\" ready.bind=\"ready\" dialog-closed.bind=\"dialogClosed\" validation.bind=\"validation\" query-operator.bind=\"queryOperator\" ka-enter.call=\"enterPressed()\"></ka-input-controls></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import {\n  inject,\n  bindable, \n  customElement \n} from 'aurelia-framework';\n\n@customElement('md-loader')\n@inject(Element)\nexport class MdLoader {\n  @bindable() pending;\n\n  constructor(element) {\n    this.element = element;\n  }\n  bind() {\n    this.setParentPositionRelative('loader-show');\n  }\n  destroy() {\n    this.setParentPositionRelative('loader-hide');\n    this.element?.remove();\n  }\n  pendingChanged(value) {\n    if (value === false) {\n      this.setFadeOut();\n      setTimeout(() => {\n        this.destroy();\n      }, 500);\n    }\n  }\n\n  // Set methods\n  setParentPositionRelative(context) {\n    const parent = this.element?.parentElement;\n    switch (context) {\n      case 'loader-show':\n        if (parent?.style?.position === '') {\n          parent.classList.add('position-relative');\n        }\n        break;\n      case 'loader-hide':\n        if (parent?.classList?.contains('position-relative')) {\n          parent.classList.remove('position-relative');\n        }\n        break;\n    }\n  }\n  setFadeOut() {\n    const wrapper = this.element.querySelector('#loader-wrapper');\n    wrapper?.classList?.add('fade-out');\n  }\n}\n","import { customElement, bindable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\n\n@customElement('md-nav-element')\nexport class MdNavElement {\n  static inject = [Router];\n\n  @bindable data = {};\n\n  constructor(router) {\n    this.router = router;\n    this.links = [];\n  }\n\n  bind() {\n    this.init();\n  }\n\n  init() {\n    if (!this.data || !this.data.links) return;\n    this.links = this.data.links\n      .map((link) => ({\n        ...link,\n        class: link.view === this.router.currentInstruction.params.view ? 'active' : null\n      }));\n  }\n\n  navigate(view) {\n    this.router.navigate(`${this.data.path}/${view}`);\n  }\n}\n","import {customElement, bindable, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\n@customElement('md-nav-utenti')\n@inject(Element, Api, Router)\nexport class MdNavUtenti {\n  @bindable() userId = null;\n  \n  constructor(element, api, router) {\n    this.element = element;\n    this.api = api;\n    this.router = router;\n\n    let stored = JSON.parse(sessionStorage.getItem('md-nav-utenti') || '{ \"links\": [], \"title\": null}');\n    this.links = stored.links;\n    this.title = stored.title;\n  }\n  userIdChanged() {\n    this.init();\n  }\n  init() {\n    let links = [], title = null;\n    if (!this.userId) {\n      links = [\n        { view: undefined, label: 'Utenti'},\n        { view: 'fatturazione' , label: 'Profili di fatturazione'}\n      ];\n      if (this.api.hasRole('LIST_ANY_USER')) {\n        links.push({ view: 'documenti_approvazione' , label: 'Approvazione documenti'});\n      } else {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      return this.apply(links, title);\n    }\n    if (this.userId && this.userId === 'new') {\n      links = [{ view: 'anagrafica' , label: 'Anagrafica'}];\n      title = `Stai creando un nuovo ${mdt.parsers.contextualize(this.api.user, 'utente')}`;\n      return this.apply(links, title);\n    }\n    this.api.get(`users/${this.userId}?include=user-profiles,user-roles`).then(xhr => {\n      const userData = xhr.response;\n      title = `${userData.profile[0].displayName}`;\n\n      // Add link: Anagrafica\n      links.push({ view: 'anagrafica' , label: 'Anagrafica'});\n      // Add link: Documenti\n      if (this.api.hasRole('LIST_USER_CERTIFIABLE_DOCUMENTS')) {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      // Add link: Fatturazione\n      if (this.userId !== 'new') {\n        links.push({ view: 'fatturazione' , label: 'Fatturazione'});\n      }\n      // Add link: Segnalatori\n      if (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole(['CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION', 'LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION'])) {\n        links.push({ view: 'segnalatori' , label: 'Segnalatori'});\n      }\n      // Add link: Compensi\n      if ( (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole('LIST_ANY_RESELLER_COMMISSIONS')) || (this.userId === 'me' && this.api.hasRole('LIST_RESELLER_COMMISSIONS')) ) {\n        links.push({ view: 'compensi' , label: 'Compensi'});\n      }\n      // Add link: Cashback\n      if (['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(userData.group)) {\n        links.push({ view: 'cashback' , label: 'Cashback'});\n      }\n      // Add link: Impostazioni\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'LIST_USER_ADVANCED_PREFERENCES'])) {\n        links.push({ view: 'impostazioni' , label: 'Impostazioni avanzate'});\n      }\n      // Add link: Pagamenti\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES'])) {\n        links.push({ view: 'pagamenti', label: 'Pagamenti' });\n      }\n      this.apply(links, title);\n    });\n  }\n  apply(links, title) {\n    // Store links configuration\n    sessionStorage.setItem('md-nav-utenti', JSON.stringify({links, title}));\n    // Apply links and title\n    this.links = links;\n    this.title = title;\n    // Set active link\n    this.links.map((link) => { link.class = link.view === this.router.currentInstruction.params.view ? 'active' : null; });\n  }\n  navigate(view) {\n    if (this.userId) this.router.navigateToRoute('anagrafiche/utenti', { id: this.userId, view: view });\n    else if (view) this.router.navigate(`anagrafiche/utenti/${view}`);\n    else  this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport datasets from 'md-datasets.json';\n\n@inject(Api)\nexport class MdPrefselDialog {\n  value = null;\n  users = [];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.tableUsers) {\n      this.tableUsers.parse_query = (query) => {\n        // Ok, concordo che quanto segue sia indubbiamente penosa come soluzione, ma funziona\n        // D'altronde è penoso il funzionamento rest per risolvere la #FEATURE/guxg84byh\n        let original = query;\n        query = query.replace(/statusCode~~__NONE__&/, '&');\n        query = query.replace(/(%2C)?__NONE__(%2C)?/, '');\n        if (original !== query) {\n          query = query + '&hasNoPostalOrder=true';\n        }\n        return query;\n      }\n    }\n  }\n\n  select(record) {\n    this.params.dialog.ok(record);\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, customElement, bindable, bindingMode } from 'aurelia-framework';\n\n@customElement('md-prefsel')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdPrefsel {\n  @bindable() legacy = true;\n  @bindable() isOverride = null;\n  @bindable() readonly = false;\n  @bindable() label = 'preferenze';\n  @bindable() toggleOverride = () => { };\n  @bindable({ defaultBindingMode: bindingMode.twoWay }) value = null;\n  context;\n  isBuilding;\n  data = null;\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.isBuilding = this.api.user.profile?.businessType === 'BUILDING';\n    this.context = !this.isBuilding ? 'condominio' : 'account';\n    this.resource = {\n      controls: {},\n      schema: {\n        context: {\n          required: true,\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          label: 'Stai modificando le impostazioni di',\n          datasource: [{ text: `${mdt.parsers.contextualize(this.api.user, 'Account')}`, value: 'USER' }]\n        },\n        owner: {\n          control: 'combo',\n          label: 'Condominio',\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: 'users/me/users?include=user-profiles&status=ACTIVE',\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        }\n      },\n      data: { context: 'USER' },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n\n  attached() {\n    if (!this.legacy) this.init();\n    if (!this.value) {\n      this.value = parseInt(localStorage.getItem('prefsel_id') ?? this.api.user.id ?? null, 10);\n    } else {\n      this.valueChanged(this.value, null);\n    }\n    console.log(`prefsel ${this.label} attached value`, this.value);\n    if (this.isBuilding && this.legacy) this.element.style.display = 'none';\n  }\n  init() {\n    this.setDatasource();\n    if (!this.isBuilding) this.setPrefselData();\n  }\n\n  // Change functions\n  contextChanged() {\n    const { context, owner } = this.resource.data;\n    if (context === 'USER') return this.reset();\n    this.value = owner ?? null;\n  }\n  ownerChanged() {\n    const owner = this.resource.data.owner;\n    this.setResourceData('context', owner ? 'SUBUSERS' : 'USER');\n    if (owner) this.value = owner;\n  }\n\n  // Set functions\n  setPrefselData() {\n    // Replica logica searchInterface per ripristino ricerca precedente\n    const prefselId = localStorage.getItem('prefsel_id');\n    const isSubuser = !!prefselId && String(prefselId) !== String(this.api.user.id);\n    if (isSubuser) Object.assign(this.resource.data, { context: 'SUBUSERS', owner: parseInt(prefselId, 10) });\n  }\n  setDatasource() {\n    const isMaster = this.api.user.group === 'MASTER_USER';\n    const datasource = this.resource.schema.context.datasource;\n    if (isMaster) datasource.push({ text: `${mdt.parsers.contextualize(this.api.user, 'Sottoutente')}`, value: 'SUBUSERS' });\n    this.resource.schema.context = Object.assign({}, this.resource.schema.context, { datasource });\n  }\n\n  // Change functions\n  valueChanged(value, old) {\n    if (this.legacy) this.setValueLegacy(value, old);\n    else this.setValue(value, old);\n  }\n  setValueLegacy(value, old) {\n    if (value === old) return;\n    console.log(`prefsel ${this.label} valueChanged from ${old} to ${value}`);\n    if (value) {\n      localStorage.setItem('prefsel_id', value);\n      if (value !== this.api.user.id && localStorage.getItem('prefsel_data' && this.legacy)) {\n        this.data = JSON.parse(localStorage.getItem('prefsel_data'));\n      } else if (value !== this.api.user.id) {\n        this.api.get(`users/${value}?include=user-profiles`).then((xhr) => {\n          this.data = this.remapUserData(xhr.response);\n          localStorage.setItem('prefsel_data', JSON.stringify(this.data));\n        });\n      } else if (value === this.api.user.id) {\n        this.data = null;\n        localStorage.removeItem('prefsel_data');\n      }\n    } else {\n      this.value = this.api.user.id;\n    }\n  }\n  setValue(value, old) {\n    this.resource.validate().then(() => {\n      if (value && value !== old) {\n        localStorage.setItem('prefsel_id', value);\n        this.api.get(`users/${value}?include=user-profiles`).then((xhr) => {\n          this.data = this.remapUserData(xhr.response);\n          localStorage.setItem('prefsel_data', JSON.stringify(this.data));\n        });\n      }\n    });\n  }\n  isOverrideChanged(value) {\n    if (value === undefined) {\n      this.isOverride = false;\n    }\n  }\n\n  // Dialog functions\n  open() {\n    this.dialog.open({\n      type: 'alert',\n      title: 'Seleziona un ' + this.context,\n      class: 'md-prefsel-dialog medium',\n      viewModel: PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel-dialog'),\n      viewModelParams: {}\n    }, true).whenClosed(response => {\n      console.log(response);\n      if (response.output) {\n        let data = response.output;\n        if (data.id && data.profile) {\n          localStorage.setItem('prefsel_data', JSON.stringify(this.remapUserData(data)));\n          this.value = data.id;\n        }\n      }\n    });\n  }\n  // Utilities\n  reset() {\n    this.value = this.api.user.id;\n    if (!this.legacy) this.resource.data.owner = null;\n  }\n  remapUserData(data) {\n    return {\n      id: data.id,\n      active: data.isActive,\n      displayName: data.profile[0].displayName\n    };\n  }\n  setResourceData(key, value) {\n    if (this.resource.data[key] !== value) this.resource.data[key] = value;\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@customElement('md-resource')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdResource {\n  @bindable() data = {};\n  @bindable() schema = {};\n  @bindable() controls = {};\n  @bindable() endpoint = {};\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    // CUSTOM EVENTS\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    konsole.debug('MdResource controls', this.controls);\n  }\n\n  validate() {\n    let promises = [];\n    for (let [field, item] of Object.entries(this.controls)) {\n      if (!item) {\n        konsole.warn(`Field ${field} was not found!`);\n        continue;\n      }\n      if (!item.validator) {\n        konsole.warn(`Field ${field} validator was not found!`);\n        continue;\n      }\n      item.validator.errors = [];\n      item.element.classList.remove('error');\n      promises.push(new Promise((resolve, reject) => {\n        item.validate().then(result => {\n          if (!result.valid) {\n            reject(item.validator.errors);\n          } else {\n            resolve(result);\n          }\n        }).catch(error => {\n          konsole.error(`Resource validation error on field ${field}`, error);\n          reject(error);\n        });\n      }));\n    }\n    return Promise.all(promises);\n  }\n\n  load(endpoint = this.endpoint) {\n    return this.api['get'](endpoint).then(xhr => {\n      let response = xhr.response;\n      if (response && !Array.isArray(response)) {\n        for (let [field, item] of Object.entries(response)) {\n          if (this.controls[field] && this.controls[field].constructor?.name !== 'KaControl' && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n            response[field] = moment.utc(item).local().format('YYYY-MM-DD');\n          } else {\n            if (typeof item === 'undefined') console.error(`Input ${field} has undefined value. Skipping...`);\n            else response[field] = JSON.parse(JSON.stringify(item));\n          }\n        }\n      }\n      this.data = response;\n      this.events.dispatchEvent(this.events.dataLoaded);\n    });\n  }\n\n  save(data = this.data, endpoint = this.endpoint, method = 'post') {\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        let promises = [];\n        data = Object.assign({}, data);\n        if (method !== 'patch') data = mdt.helpers.removeEmptyAttributes(data);\n        else data = mdt.helpers.nullifyEmptyStringAttributes(data);\n        if (!data) throw 'Nessun dato da inviare!';\n        for (let [field, item] of Object.entries(data)) {\n          if (typeof item === 'undefined') {\n            console.error(`Data ${field} has undefined value. Skipping...`);\n            delete data[field];\n          } else if (typeof this.schema[field] === 'undefined') {\n            console.error(`Data ${field} has undefined schema. Skipping...`);\n            delete data[field];\n          } else {\n            promises.push(new Promise((resolve, reject) => {\n              // Parse file\n              if (this.controls[field] && (this.controls[field].control === 'file' || (this.controls[field].schema && this.controls[field].schema.control === 'file') ) && item && item.length && item[0] && item[0].name) {\n                let reader = new FileReader();\n                reader.readAsDataURL(item[0]);\n                reader.onload = () => {\n                  data[field] = reader.result;\n                  resolve(true);\n                };\n                reader.onerror = (error) => {\n                  console.error(`Input ${field} cannot read file. Skipping...`);\n                };\n              }\n              // Parse date\n              /* else if (this.controls[field] && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n                data[field] = moment(item, 'YYYY-MM-DD').hour(moment().hour()).minute(moment().minute()).utc().format();\n                resolve(true);\n              }  */\n              else if (this.schema[field] && this.schema[field].control === 'list') {\n                data[field] = Array.isArray(item) ? item : JSON.parse(item);\n                resolve(true);\n              } else {\n                data[field] = JSON.parse(JSON.stringify(item));\n                resolve(true);\n              }\n            }));\n          }\n        }\n        Promise.all(promises).then(() => {\n          this.api[method](endpoint, data).then(x => {\n            this.events.dispatchEvent(this.events.dataSaved);\n            resolve(x);\n          }).catch(error => {\n            this.events.dispatchEvent(this.events.dataSaveError);\n            let errorPayload = mdt.parsers.apiError(error, this.controls);\n            if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n            reject(error);\n          });\n        });\n      }).catch((error) => {\n        reject(error);\n      });\n    });\n  }\n}\n","import { customElement, bindable, bindingMode } from 'aurelia-framework';\n\n@customElement('md-select')\nexport class MdSelect {\n  @bindable options = [];\n  @bindable disabled = false;\n  @bindable({ defaultBindingMode: bindingMode.twoWay }) value;\n\n  static inject = [Element];\n  constructor(element) {\n    this.element = element;\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\nimport { customElement, bindable } from 'aurelia-framework';\nimport { computePosition, autoUpdate, flip, shift, offset } from '@floating-ui/dom';\n \n@customElement('md-split-button')\nexport class MdOptionsButton {\n  cleanup;\n  @bindable() options = [];\n\n  static inject = [Element];\n  constructor(element) {\n    this.id = uuidv4();\n    this.element = element;\n    this.element.id = this.id;\n  }\n  attached() {\n    this.optionsList = this.element.querySelector('.options-list');\n    this.buttonOptions = this.element.querySelector('.buttons > button.options');\n    this.setOptionsListInner();\n    this.button = this.element.querySelector('.buttons');\n    this.buttonOptionsClick = this.buttonOptionsHandleClick.bind(this);\n    this.outsideClick = this.handleOutsideClick.bind(this);\n    this.otherOpenedClick = this.handleOtherOpened.bind(this);\n    this.buttonOptions.addEventListener('click', this.buttonOptionsClick);\n    document.addEventListener('md-split-button:open', this.otherOpenedClick);\n    setTimeout(() => {\n      document.addEventListener('click', this.outsideClick);\n    }, 0);\n  }\n  detached() {\n    this.buttonOptions.removeEventListener('click', this.buttonOptionsClick);\n    document.removeEventListener('click', this.outsideClick);\n    document.removeEventListener('md-split-button:open', this.otherOpenedClick);\n    this.cleanup?.();\n  }\n  setOptionsListInner() {\n    const source = this.element.querySelector('.source');\n    const hasItems = source?.querySelectorAll('li').length > 0;\n    if (source && hasItems) {\n      // Sposta il contenuto della source dentro options-list\n      this.optionsList?.appendChild(source);\n      source.classList.remove('d-none');\n    } else {\n      this.buttonOptions.disabled = true;\n    }\n  }\n  handleOtherOpened(event) {\n    // Chiudi solo se l'evento viene da un altro componente\n    if (event.detail.id !== this.id) this.optionsListClose();\n  }\n  buttonOptionsHandleClick(event) {\n    event.stopPropagation();\n    if (this.isOpen) this.optionsListClose();\n    else this.optionsListOpen();\n  }\n  handleOutsideClick(event) {\n    if (!this.element.contains(event.target)) this.optionsListClose();\n  }\n  optionsListOpen() {\n    clearTimeout(this.closeTimeout); // annulla eventuale timeout di chiusura\n    this.isOpening = true;\n    setTimeout(() => this.isOpening = false, 0);\n    // Notifica agli altri componenti di chiudersi\n    document.dispatchEvent(new CustomEvent('md-split-button:open', {\n      detail: { id: this.id }\n    }));\n    const ul = this.optionsList.firstElementChild;\n    // Reset completo stato precedente\n    this.optionsList.classList.remove('visible', 'opens-top', 'measuring');\n    this.optionsList.style.height = '0px';\n\n    this.optionsList.classList.add('measuring');\n    this.optionsListUlHeight = ul.clientHeight + 'px';\n    this.optionsList.style.height = this.optionsListUlHeight;\n    this.buttonOptions.classList.add('open');\n\n    this.updatePosition().then(() => {\n      this.optionsList.classList.remove('measuring');\n      this.optionsList.style.height = '0px';\n    \n      requestAnimationFrame(() => {\n        requestAnimationFrame(() => {\n          this.optionsList.classList.add('visible');\n          this.optionsList.style.height = this.optionsListUlHeight;\n          \n          setTimeout(() => {\n            this.cleanup = autoUpdate(\n              this.buttonOptions,\n              this.optionsList,\n              () => this.updatePosition()\n            );\n          }, 400);\n        });\n      });\n    });\n    this.isOpen = true;\n  }\n  optionsListClose() {\n    if (!this.isOpen) return;\n    this.cleanup?.();\n    this.cleanup = null;\n    this.optionsList.style.height = '0px';\n    this.optionsList.classList.remove('visible');\n    this.buttonOptions.classList.remove('open');\n    \n    clearTimeout(this.closeTimeout);\n    this.closeTimeout = setTimeout(() => {\n      this.optionsList.classList.remove('opens-top');\n    }, 400);\n\n    this.isOpen = false;\n  }\n  updatePosition() {\n    return computePosition(this.button, this.optionsList, {\n      placement: 'bottom-end',\n      middleware: [ offset(6), flip() ,shift() ]\n    }).then(({ x, y, placement }) => {\n      x = `${x}px`;\n      y = `${y}px`;\n      this.optionsList.style.left = x;\n      if (placement.startsWith('top')) {\n        this.optionsList.style.top = `calc(${y} + ${this.optionsListUlHeight})`;\n        this.optionsList.classList.add('opens-top');\n      } else {\n        this.optionsList.style.top = y;\n        this.optionsList.classList.remove('opens-top');\n      }\n    });\n  }\n}\n","import { inject, customElement, bindable, bindingMode } from 'aurelia-framework';\n\n@inject(Element)\n@customElement('md-switch-slider')\nexport class MdSwitchSlider {\n  @bindable({ defaultBindingMode: bindingMode.twoWay }) checked = false;\n  @bindable disabled = false;\n  @bindable iconOn = 'fas fa-check';\n  @bindable iconOff = 'fas fa-times';\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  onChange(event) {\n    event.stopPropagation();\n    this.element.dispatchEvent(new CustomEvent('change', {\n      bubbles: true,\n      detail: { checked: this.checked }\n    }));\n  }\n}\n","import {customElement, bindable, observable} from 'aurelia-framework';\n@customElement('md-table-pagination')\nexport class MdTablePagination {\n  @bindable() table = {};\n  @bindable() limits = null;\n\n  schema = {\n    limit: { \n      control: 'combo',\n      datasource: [{ text: '10', value: 10 }, { text: '25', value: 25 }, { text: '50', value: 50 }, { text: '100', value: 100 }],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    },\n    page: {\n      control: 'combo',\n      datasource: [],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    }\n  };\n\n  @observable() limit;\n  @observable() page;\n\n  bind() {\n    if (this.limits && this.limits.length > 0) {\n      if (typeof this.limits === 'string') {\n        this.limits = this.limits.split(',');\n      }\n      let datasource = [];\n      this.limits.forEach((limit, index) => {\n        this.limits[index] = Number(limit);\n        datasource.push({ text: String(limit), value: parseInt(limit, 10) });\n      });\n      this.schema.limit.datasource = datasource;\n    }\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => { this.update(); });\n  }\n\n  areLimitsValid() {\n    return Array.isArray(this.limits) && !this.limits.some(value => isNaN(Number(value)));\n  }\n\n  update() {\n    if (this.areLimitsValid() && !this.limits.includes(this.table.limit)) this.table.limit = this.limits[0];\n    this.limit = this.table.limit;\n    this.page = (this.table.offset / this.table.limit) + 1;\n  }\n\n  limitChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.limit = value;\n    if (old !== undefined) this.table.offset = 0; // Keep original offset if limit is being set insted of replaced\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n  \n  pageChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.offset = this.table.limit * (value - 1);\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n\n  paginate(direction) {\n    let page = this.page;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    if (direction === 'forward' && page + 1 <= pages) this.page = page + 1;\n    else if (direction === 'back' && page - 1 > 0) this.page = page - 1;\n    else if (direction === 'start' && page !== 1) this.page = 1;\n    else if (direction === 'end' && pages && page !== pages) this.page = pages;\n  }\n\n  showOptions($event) {\n    if (!$event.target.classList.contains('count')) return;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    let pagesDatasource = [];\n    for (let i = 1; i <= pages; i++) pagesDatasource.push({ value: i, text: String(i)});\n    this.schema.page.datasource = pagesDatasource;\n    this.optionsShown = true; \n  }\n\n  hideOptions() {\n    this.optionsShown = false;\n  }\n\n  applyOptions() {\n    this.hideOptions();\n    this.table.load();\n  }\n}\nexport class integerCastValueConverter {\n  fromView(value) {\n    let parsed = value ? parseInt(value, 10) : value;\n    return parsed;\n  }\n}\n","import {customElement} from 'aurelia-framework';\n\n@customElement('md-table-progressbar')\nexport class MdTableProgressbar {\n}\n","import {inject, bindable, customElement} from 'aurelia-framework';\n\n@customElement('md-table-sort')\n@inject(Element)\nexport class MdTableSort {\n  @bindable() table = {};\n  @bindable() attribute = null;\n  order = null;\n\n  constructor (element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => {\n      this.update();\n    });\n  }\n\n  sort() {\n    if (!this.order) this.order = 'asc';\n    else if (this.order === 'asc') this.order = 'desc';\n    else if (this.order === 'desc') this.order = null;\n    this.table.load(null, this.order ? [{ name: this.attribute, order: this.order}] : []).then(() => {\n      this.update();\n    });\n  }\n\n  update() {\n    let item = this.table.sort?.find(x => x.name === this.attribute);\n    this.order = item?.order || null;\n  }\n}\n","import {inject, customElement, bindable, observable} from 'aurelia-framework';\nimport {TableSidebar} from '../../../classes/md-table';\n@customElement('md-table-toolbar')\n@inject(TableSidebar)\nexport class MdTableToolbar {\n  @bindable() table = {};\n  @bindable() search = {};\n  @bindable() paginationLimits = {};\n  @bindable() buttons = null;\n  @bindable() download = () => {};\n\n  constructor(sidebar) {\n    this.sidebar = sidebar;\n  }\n\n  bind() {\n    if (this.buttons && typeof this.buttons === 'string') this.buttons = this.buttons.split(',');\n  }\n  \n  // Search\n  openSearch() {\n    this.sidebar.open({\n      viewModel: PLATFORM.moduleName('resources/elements/md-table-toolbar/sidebars/search'),\n      viewModelParams: { table: this.table, search: this.search }\n    });\n  }\n\n  reset($event = null) {\n    $event.stopPropagation();\n    this.search.reset();\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class SidebarSearch {\n  inputs = [];\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.inputs = Object.keys(params.search.schema);\n  }\n\n  search() {\n    this.params.search.search().then(() => { this.close(); });\n  }\n\n  reset() {\n    this.params.search.reset();\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport { v4 as uuidv4 } from 'uuid';\n\n@customElement('md-table-wrapper')\n@inject(Element)\nexport class MdTableWrapper {\n  @bindable() decrease = 0;\n  @bindable() height = 'full';\n  constructor (element) {\n    this.element = element;\n    this.uuid = 'mdtw-' + uuidv4();\n    this.element.id = this.uuid;\n  }\n  attached() {\n    // Create evaled resize linstener function\n    const resizeHandler = () => {\n      console.log(this.uuid);\n      let element = eval(`document.querySelector('#${this.uuid}');`);\n      if (!element) return;\n      if (this.height === 'full') {\n        element.style.height = '0px';\n        element.style.height = (window.innerHeight - element.getBoundingClientRect().top - parseInt(this.decrease, 10)) + 'px';\n      }\n    }\n    eval(`window['resize-handler-${this.uuid}'] = resizeHandler;`);\n    window.addEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    setTimeout(() => { resizeHandler(); }, 1000);\n  }\n\n  detached() {\n    window.removeEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    delete(window[`resize-handler-${this.uuid}`]);\n  }\n}\n\n","export class AppendCommaValueConverter {\n  toView(value, index, arrayLength) {\n    if (typeof value !== 'string') return '';\n    return index < arrayLength - 1 ? value + ',' : value;\n  }\n}\n","export class CapitalizeValueConverter {\n  toView(value) {\n    if (typeof value !== 'string' || !value) return value ?? '';\n    return value.charAt(0).toLocaleUpperCase('it') + value.slice(1).toLocaleLowerCase('it');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {MdDatasources} from 'services/md-datasources';\n@inject(MdDatasources)\nexport class ComboFormatValueConverter {\n  constructor(mdDatasources) {\n    this.mdDatasources = mdDatasources;\n  }\n  toView(value, control, mdDatasourceReference) {\n    if (!value) return;\n    let datasource;\n    if (mdDatasourceReference && this.mdDatasources[mdDatasourceReference]) {\n      datasource = this.mdDatasources[mdDatasourceReference];\n    } else {\n      datasource = control.datasource;\n    }\n    if (!Array.isArray(datasource)) return value;\n    return (datasource.find(x => x[control.datavalue] === value) || {})[control.datatext] || value;\n  }\n}\n","const UNITS = [\n  { value: 1e9, suffix: 'B' },\n  { value: 1e6, suffix: 'M' },\n  { value: 1e3, suffix: 'k' }\n];\n\n// Numeri sotto 1000: interi così come sono, decimali sempre con 2 cifre (12,5 -> \"12,50\").\n// Da 1000 in su: abbreviati senza decimali (1500 -> \"1k\", 2400000 -> \"2M\").\n// Parametro (opzionale), due forme:\n//   compactNumber:1000                          -> max: oltre questo valore mostra \"1k+\"\n//   compactNumber:{ max: 1000, compact: false } -> compact: false disattiva le abbreviazioni (1260 -> \"1260\")\nexport class CompactNumberValueConverter {\n  toView(value, options) {\n    if (value === null || value === undefined || value === '') return '';\n    const number = Number(value);\n    if (!Number.isFinite(number)) return value;\n    const { max, compact = true } = options !== null && typeof options === 'object' ? options : { max: options };\n    const limit = Number(max);\n    if (max !== undefined && max !== null && Number.isFinite(limit) && number > limit) return `${this.format(limit, compact)}+`;\n    return this.format(number, compact);\n  }\n  format(number, compact = true) {\n    const unit = compact && UNITS.find((u) => Math.abs(number) >= u.value);\n    if (unit) return `${Math.trunc(number / unit.value)}${unit.suffix}`;\n    if (Number.isInteger(number)) return String(number);\n    return number.toFixed(2).replace('.', ',');\n  }\n}\n","import moment from 'moment';\n\nexport class DateFormatValueConverter {\n  toView(value, format = 'DD/MM/YYYY HH:mm') {\n    if (!value) return;\n    if (moment.utc(value).isValid()) {\n      konsole.debug('Valid UTC datetime conversion', moment.utc(value));\n      return moment.utc(value).local().format(format);\n    }\n    else if (moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"YYYY-MM-DD HH:mm:ss a\" datetime conversion', moment.utc(value, 'YYYY-MM-DD HH:mm:ss a'));\n      return moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').local().format(format);\n    }\n    else if (moment.utc(value, 'HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"HH:mm:ss a\" datetime conversion', moment.utc(value, 'HH:mm:ss a'));\n      return moment.utc(value, 'HH:mm:ss a').local().format(format);\n    }\n    konsole.debug('No datetime conversion', value);\n    return value;\n  }\n}\n","export class FilesizeFormatValueConverter {\n  // the value is expressed in kB\n  // If the value exceeds 100 kB it will be converted to MB\n  toView(value) {\n    const units = { 'kB' :  1, 'MB' : 1000 }\n    value = Number(value);\n    if (value > 100) {\n      value = parseFloat(value / units['MB']).toFixed(2)\n      return `${value} ${Object.keys(units)[1]}`;\n    } else {\n      return `${value} ${Object.keys(units)[0]}`;\n    }\n  }\n}\n","export class ObjectFormatValueConverter {\n  toView(value, format) {\n    if (Array.isArray(value)) {\n      var new_value = [];\n      for (let obj of value) {\n        if (obj[format]) new_value.push(obj[format]);\n      }\n      return new_value.join(', ');\n    }\n    else if (value === Object(value) && value[format])\n      return value[format];\n    else return value;\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueChannelFormatValueConverter {\n  channels = new QueueProperties().channels;\n  toView(value, property = 'text') {\n    return this.channels.find((channel) => channel.value === value)[property];\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueStatusFormatValueConverter {\n  statuses = new QueueProperties().statuses;\n  toView(value, property = 'text') {\n    let message = this.statuses?.find?.((status) => status.key === value)?.[property];\n    const slugUpdate = '.<br>È possibile che ci siano stati aggiornamenti. Clicca per aggiornare.'\n    if (property === 'update') {\n      message = 'Spedizione '+this.statuses?.find?.((status) => status.key === value)?.['text'].toLowerCase();\n      if (value !== 'COMPLETED') {\n        message += slugUpdate;\n      }\n    }\n    return message;\n  }\n}\n","export class StringifyValueConverter {\n  toView(value) {\n    return JSON.stringify(value);\n  }\n}\n","export class StriphtmlValueConverter {\n  toView(value) {\n    if (!value || typeof value !== \"string\")\n      return value;\n    return value.replace(/<(?:.|\\n)*?>/gm, '');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient, HttpResponseMessage } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport datasets from '../md-datasets.json';\nimport mdt from './md-tools';\nimport ENVIRONMENT from '../environment';\n\n@inject(Router, KaDialog, KaToast)\nexport class Api {\n  marketingCode;\n  _user = null;\n  _accessToken = '';\n  _refreshToken = '';\n  _refreshPromise = null;\n  _autologinPromise = null;\n  _baseUrl = ENVIRONMENT.APP_API_BASE_URL;\n\n  constructor(router, dialog, toast) {\n    this._accessToken = localStorage.getItem('access_token') || '';\n    this._refreshToken = localStorage.getItem('refresh_token') || '';\n    this._boAccessToken = localStorage.getItem('bo_access_token') || '';\n    this._boRefreshToken = localStorage.getItem('bo_refresh_token') || '';\n    this._user = localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : null;\n    this._refreshUrl = 'users/login/refresh';\n    this.client = new HttpClient();\n    this.client._baseUrl = this._baseUrl; // Keep reference of baseUrl into HttpClient object\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      window['destorageTokens'] = () => {\n        this._accessToken = localStorage.getItem('access_token') || '';\n        this._refreshToken = localStorage.getItem('refresh_token') || '';\n      };\n    }\n\n    this.client.configure(x => {\n      x.withBaseUrl(this.baseUrl);\n      x.withHeader('Accept-Language', 'it');\n      x.withHeader('Accept', 'application/vnd.api+json');\n      x.withHeader('X-api-key', ENVIRONMENT.APP_API_KEY);\n      x.withHeader('X-api-client-name', ENVIRONMENT.APP_API_CLIENT_NAME);\n      x.withHeader('X-api-client-version', ENVIRONMENT.APP_API_CLIENT_VERSION);\n      if (ENVIRONMENT.APP_DEBUG === 'true') {\n        x.withHeader('X-ignore-test-agreements', 'ignore');\n      }\n      x.withInterceptor({\n        request: (msg) => {\n          if (this.accessToken.length && (!this._refreshUrl.length || (msg.url !== this._refreshUrl))) {\n            msg.headers.add('Authorization', 'Bearer ' + this.accessToken);\n          }\n          let fingerprint = window.localStorage.getItem('xhr-fingerprint');\n          if (fingerprint) {\n            msg.headers.add('X-Device-Fingerprint', fingerprint);\n          }\n          if ((msg.method === 'POST' || msg.method === 'PUT' || msg.method === 'PATCH') && msg.content) {\n            if (Array.isArray(msg.content) && msg.content.length) {\n              let content = [];\n              msg.content.forEach(item => {\n                content.push({ attributes: item });\n              });\n              msg.content = JSON.stringify({ data: content });\n            } else if (typeof msg.content === 'string' && msg.content.startsWith('{\"data\":{\"attributes\"')) { // Già serializzato\n              msg.content = msg.content;\n            } else if (typeof msg.content === 'object' && (!msg.content.data || (msg.content.data && !msg.content.data.attributes))) {\n              msg.content = JSON.stringify({ data: { attributes: msg.content } });\n            }\n          }\n          if (/^datasets\\//.test(msg.url)) {\n            // Intercetto chiamata kamaji /datasets e simulo risposta\n            throw new Error(msg.url);\n          }\n          // // Sanitize della query K2->MD\n          // msg.url = this.sanitizeUrl(msg.url);\n          // Convert url K2->MD\n          let queryMap = {\n            meta: null,\n            depth: null,\n            fields: null,\n            filters: (expr) => {\n              let filters = [];\n              expr = expr.split(/\\&|\\|/);\n              expr.forEach((element, index) => {\n                let operators = {\n                  gte: '>=',\n                  lte: '<=',\n                  gt: '>',\n                  lt: '<',\n                  eq: '=',\n                  in: '~~',\n                  like: '~'\n                };\n                element = element.replace(/^\\(|\\)$/g, ''); // Remove k2 brackets from filters\n                let regexp = new RegExp('([^\\^!~><=]*)(' + Object.values(operators).join('|') + ')([^\\^!~><=]*)');\n                let matches = element.match(regexp);\n                if (matches && matches.length) {\n                  for (let [key, operator] of Object.entries(operators)) {\n                    if (matches[1] === 'id') {\n                      filters['id-in'] = matches[3];\n                      break;\n                    } else if (msg.url.startsWith('users/me/users') && matches[1] === 'displayName') {\n                      filters['text-search'] = matches[3];\n                      break;\n                    } else if (matches[2] === operator) {\n                      key = matches[1] + ((key === 'eq') ? '' : '-' + key);\n                      filters[key] = matches[3];\n                      break;\n                    }\n                  }\n                }\n              });\n              return filters;\n            },\n            sort: (expr) => {\n              let sorts = [];\n              expr = expr.split(',');\n              expr.forEach((element, index) => {\n                sorts.push(element.replace('+', ''));\n              });\n              return { sort: sorts.join(',') };\n            }\n          };\n          msg.url = this.convertHref(msg.url, queryMap);\n\n          return msg;\n        },\n        requestError(error) {\n          throw error;\n        },\n        response: msg => {\n          if (typeof msg.response === 'string' && msg.response !== '') {\n            msg.response = msg.originalResponse = JSON.parse(msg.response);\n\n            let response = {};\n            let included = {};\n            let isResponseArray = false;\n\n            // Parse jsonapi meta\n            if (msg.response.meta && msg.response.meta.total) {\n              msg.headers.headers['x-total-count'] = { key: 'x-total-count', value: msg.response.meta.total };\n            }\n            if (msg.response.meta && msg.response.meta.warnings) {\n              let warnings = msg.response.meta.warnings;\n              if (!Array.isArray(warnings)) warnings = [warnings];\n              warnings.forEach(warning => {\n                this.toast.show(warning, 'warning');\n              });\n            }\n            // Parse jsonapi includes\n            if (msg.response.included) {\n              for (let record of msg.response.included) {\n                if (!included[record.type]) included[record.type] = {};\n                included[record.type][record.id || record.uuid] = Object.assign({ id: record.id, uuid: record.uuid }, record.attributes);\n              }\n            }\n            // Parse jsonapi data\n            if (msg.response.data) {\n              isResponseArray = Array.isArray(msg.response.data);\n              response = isResponseArray ? msg.response.data : [msg.response.data];\n              for (let record of response) {\n\n                if (record.data && Object.keys(record).length === 1) {\n                  //decapsulate data\n                  record = Object.assign(record, record.data);\n                  delete record.data;\n                }\n                if (record.attributes) {\n                  record = Object.assign(record, record.attributes);\n                  delete (record.attributes);\n                }\n                if (record.relationships) {\n                  for (let keys of Object.keys(record.relationships)) {\n                    let includes = Array.isArray(record.relationships[keys]) ? record.relationships[keys] : [record.relationships[keys]];\n                    for (let include of includes) {\n                      if (!record[keys]) record[keys] = [];\n                      record[keys].push(included[include.data.type][include.data.id || include.data.uuid]);\n                    }\n                    //if (record[keys].length === 1) record[keys] = record[keys][0];\n                  }\n                  delete (record.relationships);\n                }\n              }\n            }\n            msg.response = (response.length === 1 && !isResponseArray) ? response[0] : response;\n          }\n          if (ENVIRONMENT.APP_DEBUG === 'true') console.log('Parsed response', msg.response);\n\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg && msg.message && /datasets\\//.test(msg.message)) {\n            msg.message = msg.message.replace(/\\|/, '/');\n            let endpoint = msg.message.match(/^datasets\\/(.*)$/);\n            if (endpoint[1]) {\n              let response = {\n                mimeType: 'application/json',\n                response: endpoint[1],\n                responseType: 'json',\n                statusCode: 200,\n                statusText: 'OK'\n              };\n              if (datasets[endpoint[1]]) {\n                response.response = datasets[endpoint[1]];\n                return Promise.resolve(response);\n              }\n            }\n          }\n          if (!msg.statusCode && !/healthcheck/.test(msg.requestMessage?.url)) {\n            const httpclient = new HttpClient();\n            httpclient.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`).then((xhr) => {\n              try {\n                const response = JSON.parse(xhr.response);\n                if (response.status === 'MAINTENANCE' && !location.pathname.startsWith('/maintenance')) {\n                  location.href = '/maintenance' + (response.reason ? `/${window.btoa(response.reason)}` : '');\n                }\n              } catch (error) { }\n            });\n            return Promise.reject(msg);\n          }\n          let smsReportUrl = new RegExp('users\\/(me|\\d*)\\/sms-queues\\/.*');\n          if (msg.statusCode === 500 && !smsReportUrl.test(msg.requestMessage.url)) {\n            this.dialog.open({ title: 'Errore', class: 'small', type: 'alert', body: '<strong>Si è verificato un errore lato server</strong><br>Se il problema persiste, si prega di inviare una email ad<br><a href=\"mailto:assistenza@multidialogo.it\" class=\"primary-text\">assistenza@multidialogo.it</a>' });\n          }\n          // Maintenance mode\n          else if (msg.statusCode === 503) {\n            if (!location.pathname.startsWith('/maintenance')) location.href = '/maintenance';\n            return Promise.reject(msg);\n          }\n          // Intents dialog\n          else if (msg.statusCode === 423) {\n            if (typeof msg.response === 'object' && msg.response.constructor === Blob) {\n              msg.response.text().then((response) => {\n                if (this.isJSON(response)) {\n                  msg.response = JSON.parse(response);\n                  return this.dialogIntents(msg);\n                }\n              });\n            }\n            if (this.isJSON(msg.response) && JSON.parse(msg.response).source) {\n              msg.response = JSON.parse(msg.response);\n              if (['/user-prospects/'].find(key => msg.requestMessage?.url.includes(key))) {\n                return Promise.reject(msg);\n              } else {\n                return this.dialogIntents(msg);\n              }\n            }\n          }\n          // Refresh token\n          else if (msg.statusCode === 401 && this.refreshToken.length && msg.requestMessage.url !== this._refreshUrl) {\n            return this.getRefreshToken(msg, this.client);\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n\n    this.events = document.createTextNode(null);\n    this.events.userDataChanged = new CustomEvent('userDataChanged', { detail: this._user });\n  }\n\n  get baseUrl() {\n    return this._baseUrl;\n  }\n\n  get accessToken() {\n    return this._accessToken;\n  }\n  set accessToken(value) {\n    this._accessToken = value || '';\n    if (value) localStorage.setItem('access_token', value);\n    else localStorage.removeItem('access_token');\n  }\n\n  get refreshToken() {\n    return this._refreshToken;\n  }\n  set refreshToken(value) {\n    this._refreshToken = value || '';\n    if (value) localStorage.setItem('refresh_token', value);\n    else localStorage.removeItem('refresh_token');\n  }\n\n  get boAccessToken() {\n    return this._boAccessToken;\n  }\n  set boAccessToken(value) {\n    this._boAccessToken = value || '';\n    if (value) localStorage.setItem('bo_access_token', value);\n    else localStorage.removeItem('bo_access_token');\n  }\n\n  get boRefreshToken() {\n    return this._boRefreshToken;\n  }\n  set boRefreshToken(value) {\n    this._boRefreshToken = value || '';\n    if (value) localStorage.setItem('bo_refresh_token', value);\n    else localStorage.removeItem('bo_refresh_token');\n  }\n\n  get user() {\n    return this._user;\n  }\n  set user(value) {\n    this._user = value || '';\n    if (value) localStorage.setItem('user', JSON.stringify(value));\n    else localStorage.removeItem('user');\n    this.events.dispatchEvent(this.events.userDataChanged);\n  }\n\n  get isAuthenticated() {\n    return !!this.accessToken.length && !!this.user?.roles;\n  }\n  get isImpersonated() {\n    return !!this.boAccessToken.length && this.isAuthenticated;\n  }\n  getRefreshToken(msg, client) {\n    return this.refresh().then(() => {\n      let xhr = msg.requestMessage;\n      xhr.headers.add('Authorization', 'Bearer ' + this.accessToken);\n      if (xhr.method === 'POST' && xhr.content && (typeof xhr.content === 'string') && xhr.content.indexOf('{') === 0) {\n        xhr.content = JSON.parse(xhr.content);\n      }\n      return client.send(xhr);\n    }, (error) => {\n      return error;\n    });\n  }\n\n  refresh() {\n    if (this._refreshPromise) return this._refreshPromise;\n    if (!this.user || !this.user.username) {\n      this.logout();\n      return Promise.reject(x);\n    }\n    this._refreshPromise = this.client.post(this._refreshUrl, { username: this.user.username, refreshToken: this.refreshToken, grantType: 'refresh-token' }).then((msg) => {\n      this.accessToken = msg.response.token;\n      this.refreshToken = msg.response.refreshToken;\n      return Promise.resolve(msg.response);\n    }, x => {\n      this.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(() => {\n      this._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  }\n\n  login(username, password, code = null) {\n    let data = {};\n    if (!code) data = { username: username, password: password, grantType: 'password' };\n    else data = { token: code, grantType: 'serviceToken' };\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n\n    let request = this.client.createRequest('users/login')\n      .asPost()\n      .withContent(data);\n\n    if (this.marketingCode) {\n      request = request.withHeader('X-Mktg-Code', this.marketingCode);\n    }\n\n    return request\n      .asPost()\n      .withContent(data)\n      .send()\n      .then(msg => {\n        this.accessToken = msg.response.token;\n        this.refreshToken = msg.response.refreshToken;\n        return this.startUser(code);\n      }, x => {\n        this.accessToken = '';\n        this.refreshToken = '';\n        this.user = null;\n        return Promise.reject(x);\n      });\n  }\n  startUser(code = null) {\n    return new Promise((resolve, reject) => {\n      this.client.get('users/me?include=user-profiles,user-roles,user-modules').then(xhr => {\n        let user = JSON.parse(JSON.stringify(xhr.response));\n        user.profile = user.profile[0];\n        user.username = user.profile.username;\n        user.displayName = user.profile.displayName;\n        this.user = user;\n\n        // BETA feature\n        if (this.hasRole('LIST_USER_BETA_FEATURE_SUBSCRIPTIONS')) {\n          this.client.get('users/me/beta-feature-subscriptions').then(xhr => {\n            const response = xhr.response;\n            const user = this.user;\n            if (response.length) xhr.response.forEach(feat => { user.roles.push({ id: `BETA_HAS_${feat.featureCode}` }); });\n            this.user = user;\n          }).catch(() => {\n            console.log('GET beta-feature-subscriptions', error);\n          }).finally(() => {\n            resolve(this.reroute(code));\n          })\n        } else {\n          resolve(this.reroute(code));\n        }\n      }).catch(error => {\n        this.user = null;\n        reject(error);\n      });\n    });\n  }\n  reroute(code) {\n    let reroute = decodeURIComponent(new URL(document.location).searchParams.get('reroute'));\n    if (!code && reroute !== 'null') return location.href = reroute;\n    else if (!code) return this.router.navigateToRoute('dashboard');\n  }\n  impersonate(id = null, code = null) {\n    if (!id && !code) return Promise.reject(new Error('Either user id or support ticket code must be provided!'));\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.client.post(id ? `bo/users/${id}/login` : `bo/users/me/support-ticket-login/${code}`, {}).then(xhr => {\n      let boAccessToken = this.accessToken;\n      let boRefreshToken = this.refreshToken;\n      this.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.boAccessToken = boAccessToken;\n      this.boRefreshToken = boRefreshToken;\n      this.accessToken = xhr.response.token;\n      this.refreshToken = xhr.response.refreshToken;\n      return this.startUser().then(() => { location.reload() });\n    }, error => {\n      this.toast.consume();\n      return Promise.reject(error);\n    });\n  }\n  disimpersonate() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let boAccessToken = this.boAccessToken;\n    let boRefreshToken = this.boRefreshToken;\n    this.user = null;\n    this.boAccessToken = null;\n    this.boRefreshToken = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.accessToken = boAccessToken;\n    this.refreshToken = boRefreshToken;\n    return this.startUser().then(() => { location.reload() });\n  }\n\n  logout(soft = false) {\n    let href = '/login';\n    const reroute = JSON.parse(sessionStorage.getItem(btoa(`reroute`)));\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.boAccessToken = '';\n    this.boRefreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    if (!soft) location.href = reroute ? `${href}?reroute=${reroute.href}` : href;\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n\n  put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  }\n\n  patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  }\n\n  delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  }\n\n  buildQueryString(params) {\n    let query = [];\n    for (let [key, value] of Object.entries(params)) query.push(`${key}=` + encodeURIComponent(value));\n    return query.join('&');\n  }\n\n  parseUrl(url) {\n    let chunks = url.split('?');\n    let hashes = (chunks[1] || '').split('&');\n    let query = {};\n    hashes.map(hash => {\n      if (hash.length) {\n        let [key, val] = hash.split('=');\n        query[key] = decodeURIComponent(val);\n      }\n    });\n    return { url: chunks[0], query };\n  }\n\n  sanitizeUrl(url) {\n    let blacklist = ['meta', 'depth', 'fields', 'filters'];\n    let chunks = url.split('?');\n    let query = chunks[1] ? chunks[1].split('&') : [];\n    let regexp = new RegExp('^' + blacklist.join('|'));\n    for (let i = 0; i < query.length; i++) {\n      if (query[i].match(regexp)) { query.splice(i, 1); i--; }\n    }\n    return chunks[0] + (query.length ? '?' + query.join('&') : '');\n  }\n\n  convertHref(href, queryMap = {}) {\n    let { url, query } = this.parseUrl(href);\n    for (let [key, item] of Object.entries(queryMap)) {\n      if (typeof item === 'function' && query[key]) {\n        let result = item(query[key]);\n        delete (query[key]);\n        query = Object.assign({}, query, result);\n      } else if (item !== null) {\n        delete (query[key]);\n        query = Object.assign({}, query, item);\n      } else {\n        delete (query[key]);\n      }\n    }\n    let queryString = Object.keys(Object.assign({}, query)).map(key => key + '=' + query[key]).join('&');\n    return url + (queryString.length ? '?' + queryString : '');\n  }\n\n  dialogError(xhr, controls = {}, unlabelParameters = []) {\n    if (xhr instanceof Object && (xhr.constructor === Object || xhr.constructor === HttpResponseMessage)) {\n      if (xhr?.statusCode !== 500) {\n        if (xhr.statusCode === 423 && xhr.response?.source) return;\n        if (xhr.statusCode === 0 && xhr.response.type === 'abort') return;\n        let errorPayload = mdt.parsers.apiError(xhr, controls, unlabelParameters);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>' + errorPayload.title + ':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>' });\n      }\n    } else return;\n  }\n\n  dialogIntents(xhr) {\n    return new Promise((resolve, reject) => {\n      this.dialog.dialog.open({\n        viewModel: PLATFORM.moduleName('resources/dialogs/intents/intents'),\n        model: xhr,\n        lock: true\n      }).whenClosed((response) => {\n        if (sessionStorage.getItem(btoa(`intents-reload`)) === JSON.stringify({ reload: true })) return location.reload();\n        if (!response.wasCancelled) {\n          this.client.send(xhr.requestMessage).then(xhr => { resolve(xhr) }).catch(xhr => { reject(xhr) })\n        } else {\n          return reject(xhr);\n        }\n      });\n    });\n\n  }\n\n  hasRole(roles) {\n    if (!this.user?.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.user.roles?.some(e => roles.includes(e.id));\n  }\n\n  isJSON(string) {\n    try {\n      if (JSON.parse(string)) return true;\n    } catch (error) {\n      return false;\n    }\n  }\n\n  isResponse(obj) {\n    return obj instanceof HttpResponseMessage;\n  }\n}\n\n","import { Temporal as TemporalPolyfill } from '@js-temporal/polyfill';\n\n// Nativo dove c'è, polyfill altrove\nconst Temporal = globalThis.Temporal ?? TemporalPolyfill;\nconst TIME_ZONE = 'Europe/Rome';\n\n// Valore dall'API (o Date) -> data senza orario, nel giorno corretto per l'Italia\nexport function toPlainDate(value) {\n  if (!value) return null;\n  if (value instanceof Date) value = value.toISOString();\n  const text = String(value);\n  if (text.length === 10) return Temporal.PlainDate.from(text); // 'AAAA-MM-GG'\n  return Temporal.Instant.from(text).toZonedDateTimeISO(TIME_ZONE).toPlainDate();\n}\n// '17/09/27' (default) o un altro formato di Intl\nexport function formatDate(value, options = { day: '2-digit', month: '2-digit', year: '2-digit' }) {\n  return toPlainDate(value)?.toLocaleString('it-IT', options) ?? '';\n}\n// Giorni da oggi alla data (negativi se è già passata)\nexport function daysUntil(value) {\n  const date = toPlainDate(value);\n  return date ? Temporal.Now.plainDateISO(TIME_ZONE).until(date).days : null;\n}\n// Data + ora in un fuso -> stringa ISO in UTC con i millisecondi (stesso formato di moment.toISOString)\nfunction toIsoString(date, time, timeZone) {\n  return date.toZonedDateTime({ timeZone, plainTime: Temporal.PlainTime.from(time) }).toInstant().toString({ fractionalSecondDigits: 3 });\n}\n// Primo e ultimo istante del mese corrente. Default 'UTC', come moment().utc().startOf/endOf('month')\nexport function currentMonthRange(timeZone = 'UTC') {\n  const today = Temporal.Now.plainDateISO(timeZone);\n  return {\n    start: toIsoString(today.with({ day: 1 }), '00:00', timeZone),\n    end: toIsoString(today.with({ day: today.daysInMonth }), '23:59:59.999', timeZone)\n  };\n}\n// Intervallo dei periodi della dashboard: 'current-month', 'last-30-days', 'last-60-days'...\n// I periodi 'last-N-days' vanno da N giorni fa (inizio giornata) a oggi (fine giornata)\nexport function periodRange(period, timeZone = 'UTC') {\n  const days = Number(/^last-(\\d+)-days$/.exec(period)?.[1]);\n  if (!days) return currentMonthRange(timeZone);\n  const today = Temporal.Now.plainDateISO(timeZone);\n  return {\n    start: toIsoString(today.subtract({ days }), '00:00', timeZone),\n    end: toIsoString(today, '23:59:59.999', timeZone)\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {HttpClient} from 'aurelia-http-client';\nimport {MdAuth} from './md-auth';\nimport environment from '../environment';\n\n@inject(MdAuth)\nexport class MdApi {\n  constructor(MdAuth) {\n    this.mdAuth = MdAuth;\n  }\n}\n","export class MdAuth {\n  constructor() {\n    this.stored = JSON.parse(sessionStorage.getItem('MdAuth'));\n  }\n\n  get accessToken() {\n    return this.stored?.accessToken || null;\n  }\n  set accessToken(value) {\n    this.store('accessToken', value);\n  }\n  get refreshToken() {\n    return this.stored?.refreshToken || null;\n  }\n  set refreshToken(value) {\n    this.store('refreshToken', value);\n  }\n\n  store(key, value) {\n    if (value) {\n      this.stored[key] = value;\n    } else if (key in this.stored) {\n      delete this.stored[key];\n    }\n    sessionStorage.setItem('MdAuth', JSON.stringify(this.stored));\n  }\n}\n","import { Api } from './api';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api)\nexport class MdDatasources {\n  paymentMethods;\n  flatServiceTypes;\n  multifattureSoftwares;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  initialize() {\n    if (this.initialized || !this.api.isAuthenticated) return Promise.resolve(); // only run once, only when user is authenticated\n    this.postalServices = {\n      vectors: [],\n      postages: []\n    };\n    this.multifattureSoftwares = [];\n    this.paymentMethods = [];\n    let promises = [\n      this.initPostalServices(),\n      this.initMultifattureSoftwares(),\n      this.initPaymentMethods(),\n      this.initFlatServiceTypes()\n    ];\n    return Promise.all(promises).then(() => {\n      this.initialized = true;\n    })\n  }\n\n  initPostalServices() {\n    return new Promise((resolve, reject) => {\n      this.api.get('postal-services/vectors').then(xhr => {\n        let promises = [];\n        xhr.response.forEach(vector => {\n          //this.postalServices[vector.code] = Object.assign({}, vector, { postages: []});\n          this.postalServices.vectors.push(vector);\n          promises.push(this.api.get(`postal-services/${vector.code}/postages`).then(xhr => {\n            xhr.response.forEach(postage => {\n              this.postalServices.postages.push(postage);\n            });\n          }));\n        });\n        Promise.all(promises).then(() => {\n          resolve(this.postalServices);\n        }).catch(error => {\n          reject(error);\n        });\n      }).catch(error => {\n        reject(error);\n      });\n    });\n  }\n\n  initMultifattureSoftwares() {\n    if (!this.api.hasRole('LIST_CLIENTS')) return Promise.resolve();\n    return this.api.get('users/me/clients').then((xhr) => {\n      const response = xhr.response;\n      this.multifattureSoftwares = response;\n    });\n  }\n\n  initPaymentMethods() {\n    return this.api.get('payment-methods').then((xhr) => {\n      const response = xhr.response;\n      this.paymentMethods = response;\n    });\n  }\n\n  initFlatServiceTypes() {\n    return this.api.get('flat-service-types').then((xhr) => {\n      const response = xhr.response;\n      this.flatServiceTypes = response;\n    });\n  }\n}\n","import { inlineView } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\nconst mimeTypes = {\n  'jpeg': 'image/jpeg',\n  'png': 'image/png',\n  'pdf': 'application/pdf',\n  'webp': 'image/webp',\n  'csv': 'text/csv',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n}\n\n@inlineView(`\n<template>\n  <div class=\"body\">\n    <object \n      data.bind=\"url\" \n      type.bind=\"mimeType\"\n      style=\"width: 100%; height: 80vh; border: none\">\n      <div style=\"display: flex; justify-content: center; align-items: center; width: 100%; height: 80vh\">\n        <p>Il tuo browser non può visualizzare questo file.</p>\n      </div>\n    </object>\n  </div>\n  <div style=\"display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right\">\n    <ka-button class=\"inverted secondary\" click.delegate=\"controller.cancel()\">Chiudi</ka-button>\n  </div>\n</template>\n`)\nclass InlineDialogFileViewer {\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.url = params.url;\n    this.mimeType = params.mimeType;\n  }\n}\n\nexport class MdFileViewer {\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;  \n  }\n\n  fileViewer(path, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const response = xhr.response;\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      this.dialogFileViewer(url, mimeType).finally(() => {\n        URL.revokeObjectURL(url);\n        blob = url = null;\n      });  \n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileViewer', error);\n    }).finally(() => {\n      if (event) {\n        event.model.busy = false;\n        let element = event.target;\n        if (!element.outerHTML.startsWith('<ka-button')) element = event.target.offsetParent;\n        const mouseleave = new MouseEvent('mouseleave');\n        element.dispatchEvent(mouseleave);\n      }\n    });\n  }\n  dialogFileViewer(url, mimeType) {\n    return this.dialog.open({\n      title: 'Visualizza file',\n      viewModel: InlineDialogFileViewer,\n      viewModelParams: { url, mimeType },\n      class: 'medium dialog-file-preview'\n    }, true);\n  }\n}\n\nexport class MdFileDownload {\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast; \n  }\n\n  fileDownload(path, record, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');;\n      const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n      const matches = contentDisposition?.match(regex);\n      const response = xhr.response;\n      const anchor = document.createElement('a');\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches?.[1] || record?.uuid;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`File scaricato con successo!`, 'success');\n      URL.revokeObjectURL(url);\n      blob = url = null;\n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileDownload', error);\n    }).finally(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n\n  csvDownload(path, data, event) {\n    const mimeType = 'text/csv';\n\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n\n    return this.api.client.createRequest(path)\n      .asPost()\n      .withContent(data)\n      .withHeader('Accept', mimeType)\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regex = new RegExp('filename=\"?([^\";]+\\\\.csv)\"?', 'i');\n        const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n        const matches = contentDisposition?.match(regex);\n        const response = xhr.response;\n\n        const anchor = document.createElement('a');\n        let blob = new Blob([response], { type: mimeType });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches?.[1] || 'download.csv';\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show('File scaricato con successo!', 'success');\n        URL.revokeObjectURL(url);\n        blob = url = null;\n      }).catch((error) => {\n        console.error('csvDownload', error);\n        this.toast.show('Impossibile generare il file!', 'error');\n      }).finally(() => {\n        if (event) event.model.busy = false;\n      });\n  }\n}\n","const COOKIE_NAME = 'md_marketing_code';\nconst MAX_AGE_SECONDS = 7 * 24 * 60 * 60;\nconst HEADER_SAFE_VALUE = /^[\\x20-\\x7E]{1,64}$/;\n\nclass MdMarketing {\n  capture(value) {\n    const code = (value || '').trim();\n    if (code && HEADER_SAFE_VALUE.test(code)) {\n      this.write(code);\n      return code;\n    }\n    return this.get();\n  }\n\n  get() {\n    try {\n      const entry = document.cookie.split('; ').find(item => item.startsWith(`${COOKIE_NAME}=`));\n      if (!entry) return null;\n      const value = decodeURIComponent(entry.slice(COOKIE_NAME.length + 1));\n      return HEADER_SAFE_VALUE.test(value) ? value : null;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  write(value) {\n    document.cookie = `${COOKIE_NAME}=${encodeURIComponent(value)}; max-age=${MAX_AGE_SECONDS}; path=/; SameSite=Lax; Secure`;\n  }\n}\n\nexport default new MdMarketing();\n","class MdTools {\n  BUSINESS_TYPES = Object.freeze(['BUILDING-ADMINISTRATOR', 'BUILDING']);\n\n  preferences = {\n    mergeModelData: (model, context, response) => {\n      let data = {};\n      for (let [k, v] of Object.entries(model)) {\n        let requested = eval(`response.requested?.${context.join('?.')}?.${k} ?? null`);\n        let current = eval(`response.current?.${context.join('?.')}?.${k} ?? null`);\n        let parent = eval(`response.parent?.${context.join('?.')}?.${k} ?? null`);\n        let preset = eval(`response.preset?.${context.join('?.')}?.${k} ?? null`);\n        let responseValue = requested ?? current ?? parent ?? preset ?? null;\n        if (responseValue === null) {\n          //continue;\n          data[k] = null;\n        } else if (this.helpers.isObject(v) && !v.control) {\n          data[k] = this.preferences.mergeModelData(v, context.concat([k]), response);\n        } else {\n          data[k] = responseValue;\n        }\n      }\n      return data;\n    }\n  };\n  helpers = {\n    isObject: (object) => {\n      return object instanceof Object && object.constructor === Object;\n    },\n    diffObject: (object1, object2) => {\n      /*\n      object1 = original data\n      object2 = modified data\n      */\n      let data = {};\n      for (let [k, v] of Object.entries(object1)) {\n        if (typeof object2[k] === 'undefined') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.diffObject(v, object2[k]);\n          if (value) data[k] = value;\n        } else if (v !== object2[k]) {\n          data[k] = object2[k];\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    removeEmptyAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (typeof v === 'undefined') continue;\n        if (v === null) continue;\n        if (v === '') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.removeEmptyAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    nullifyEmptyStringAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (v === '') v = null;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.nullifyEmptyStringAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    isCurrentDateGreaterThan: (date) => {\n      date = new Date(date);\n      const currentaDate = new Date();\n      return currentaDate > date;\n    },\n    isCurrentDateLowerThan: (date) => {\n      date = new Date(date);\n      const currentaDate = new Date();\n      return currentaDate < date;\n    },\n    isDateGreaterThan: (date1, date2) => {\n      date1 = new Date(date1);\n      date2 = date2 ? new Date(date2) : new Date();\n      return date1 > date2;\n    },\n    isDateLowerThan: (date1, date2) => {\n      date1 = new Date(date1);\n      date2 = date2 ? new Date(date2) : new Date();\n      return date1 < date2;\n    },\n    setDateRange: (days = 0) => {\n      const currentDate = new Date(new Date().getFullYear(), 0, 1);\n      currentDate.setDate(currentDate.getDate() + days);\n      return currentDate.toISOString();\n    },\n    checkPermission: (requirements) => {\n      const isUser = !!localStorage.getItem('user');\n      if (isUser) {\n        const user = JSON.parse(localStorage.getItem('user'))\n\n        if (requirements.businessType && user.profile?.businessType !== requirements.businessType) return false;\n\n        if (requirements.group && user.group !== requirements.group) return false;\n\n        if (requirements.roles?.length) {\n          const userRoleIds = user.roles?.map(role => role.id) ?? [];\n          const hasAllRoles = requirements.roles.every(role => userRoleIds.includes(role));\n          if (!hasAllRoles) return false;\n        }\n\n        return true;\n      }\n    }\n  };\n  parsers = {\n    flattenApiResponseData: (originalApiResponseData) => {\n      const apiResponseDataRecords = [].concat(structuredClone(originalApiResponseData.data));\n      apiResponseDataRecords.forEach((record) => {\n\n        // Parse relationships\n        Object.entries(record.relationships || {}).forEach(([key, value]) => {\n          const parseRelationship = (relationshipData) => {\n            return originalApiResponseData.included?.find((x) => x.type === relationshipData.type && x['id' || 'uuid'] === relationshipData['id' || 'uuid']);\n          }\n          [].concat(value).forEach((relationship) => {\n            if (!record.attributes[key]) record.attributes[key] = [];\n            let parsedRelationship = parseRelationship(relationship?.data);\n            if (parsedRelationship) {\n              Object.assign(parsedRelationship, parsedRelationship.attributes);\n              delete (parsedRelationship.attributes);\n              record.attributes[key].push(parsedRelationship);\n            }\n          });\n          if (!Array.isArray(value)) {\n            record.attributes[key] = record.attributes[key][0];\n          }\n        });\n\n        // Flatten\n        record = Object.assign(record, record.attributes);\n        delete (record.attributes);\n      });\n\n      return Array.isArray(originalApiResponseData.data) ? apiResponseDataRecords : apiResponseDataRecords[0];\n    },\n    apiError: (xhr, controls = {}, unlabelParameters) => {\n      let response;\n      try { response = JSON.parse(xhr.response); } catch { return; }\n      let errorMessages = [];\n      let errorBody = '';\n      let errorCode = String(response.status);\n      if (errorCode.indexOf('40') === 0 && response.source) {\n        if (response.source.parameters) {\n          for (let parameter of response.source.parameters) {\n            let field = parameter.parameter?.replace(/(data\\.attributes|queryString)\\./, '') || null;\n            let control = controls[field] || Object.values(controls).find(x => x.schema?.query === field) || null;\n            if (field && control) {\n              for (let message of parameter.messages) {\n                console.log('errore su campo', field, control);\n                if (control.setError) control.setError(message); // ka-control\n                else if (control.validator) { // ka-input\n                  control.validator.errors.push(message);\n                  control.element.classList.add('error');\n                }\n              }\n            } else if (parameter.messages && parameter.messages.length) {\n              for (let message of parameter.messages) {\n                let p = field || parameter.parameter;\n                p = p === 'data' ? null : p;\n                errorMessages.push({ code: parameter.code, parameter: p, message });\n              }\n            }\n          }\n        } else if (response.source.permissions) {\n          for (let permission of response.source.permissions) {\n            if (permission.messages && permission.messages.length) {\n              for (let message of permission.messages) {\n                errorMessages.push({ code: permission.code, message });\n              }\n            }\n          }\n        }\n      } else if (response.detail) {\n        errorMessages.push({ code: null, message: response.detail });\n      } else {\n        errorMessages.push({ code: null, message: 'Si è verificato un errore nella procedura!' });\n      }\n      if (errorMessages.length === 1 && unlabelParameters && Array.isArray(unlabelParameters)) {\n        errorBody = `${errorMessages[0].parameter && !unlabelParameters.includes(errorMessages[0].parameter) ? `<strong>${errorMessages[0].parameter}</strong>: ` : ''}${errorMessages[0].message}`;\n      } else if (errorMessages.length) {\n        errorMessages.forEach((error, index) => {\n          errorMessages[index] = `<li style=\"padding-top: 8px;padding-bottom: 8px;border-bottom: 1px solid #f0f0f0\">${error.parameter ? `<strong>${error.parameter}</strong>: ` : ''}${error.message}<!--</a>--></li>`;\n        });\n        errorBody = '<ol>' + errorMessages.join('') + '</ol>';\n      }\n      if (errorBody.length) return { code: errorCode, title: (errorCode === '403' ? 'È necessario avere i seguenti permessi per procedere con l\\'operazione' : 'Si sono verificati i seguenti errori'), body: errorBody };\n    },\n    contextualize: (user, value) => {\n      if (this.BUSINESS_TYPES.includes(user?.profile?.businessType)) {\n        value = this.dictionary[value] || value;\n      }\n      return value;\n    }\n  };\n  dictionary = {\n    'Utente': 'Condominio',\n    'utente': 'condominio',\n    'Sottoutente': 'Condominio',\n    'sottoutente': 'condominio',\n    'del sottoutente': 'del condominio',\n    'all\\'utente': 'al condominio',\n    'sull\\'utente': 'sul condominio',\n    'dell\\'utente': 'del condominio',\n    'Utenti': 'Condomìni',\n    'utenti': 'condomìni',\n    'Account': 'Studio',\n    'account': 'studio',\n    'all\\'account': 'allo studio',\n    'sull\\'account': 'sullo studio',\n    'dell\\'account': 'dello studio',\n  };\n  fidelityCards = {\n    userCurrentFidelityCard: (api) => {\n      const path = 'users/me/fidelity-cards/current';\n      return api.get(path).catch((error) => {\n        console.warn('userCurrentFidelityCard', error);\n      });\n    }\n  };\n  legacy = {\n    getCrossLoginTokenCurrent: (api) => {\n      return api.get(`users/me/cross-login-tokens/current`).catch((error) => {\n        console.error('getCrossLoginTokenCurrent', error);\n        this.api.dialogError(error);\n      });\n    }\n  };\n  general = {\n    previousRoute: null,\n    openSenderui: (api, dialogService, queueType = 'multicanale') => {\n      this.general.getCrossLoginTokens(api).then((xhr) => {\n        const token = xhr.response.token;\n        const iframe = `/senderui/?owner=${api.user.id}&ts=${token}#/home/${queueType}`;\n        dialogService.open({ lock: true, model: { iframe }, viewModel: PLATFORM.moduleName('views/app/dialog-senderui') });\n      });\n    },\n    getCrossLoginTokens: (api) => {\n      return api.get('users/me/cross-login-tokens/current');\n    },\n    navigateToExternal: (url) => {\n      url = new URL(url);\n      const anchor = document.createElement('a');\n      anchor.href = url;\n      anchor.target = '_blank';\n      document.body.appendChild(anchor);\n      anchor.click();\n      anchor.remove();\n    },\n    dialogMavTiming: (dialog) => {\n      const body = '<p class=\"m-0\"><strong>La richiesta è stata inoltrata correttamente!</strong><span class=\"d-block\">L\\'approvazione di una richiesta da parte dell\\'ente bancario potrà richiedere circa 15 giorni lavorativi.</span></p>';\n      return dialog?.open({ \n        body,\n        type: 'alert', \n        class: 'small', \n        title: 'Attenzione!' \n      });\n    },\n    copyText: (text, item, toast) => {\n      if (text) return navigator.clipboard.writeText(text),\n        toast.show(`${item} copiato con successo!`, 'success');\n    },\n  };\n}\nexport default new MdTools();\n","import { Api } from './api';\nimport mdt from './md-tools';\nimport { Router } from 'aurelia-router';\nimport environment from '../environment';\nimport { inject } from 'aurelia-framework';\nimport { RestClient } from './rest-client.ts';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdToast } from '../classes/md-toast/md-toast';\nimport {\n  CheckFlow,\n  checkAgreements,\n  checkUserProfilePec,\n  checkUserProfileData,\n  checkPlatformMessages,\n  checkUserBillingProfile,\n  checkSettingsLinkedSoftware\n} from '../classes/checkflow/checkflow';\n\n@inject(Router, Api, KaDialog, KaToast, MdToast)\nexport class MdUser {\n  mdt = mdt;\n\n  get isPreRelease() {\n    const loggedUser = this.mdApi?.user?.uuid;\n    const enabledUsers = ['ddff91d0-8895-559b-b29f-381e0db0cb74'];\n    const isDemoEnv = ENVIRONMENT?.APP_DEBUG === 'true';\n    return isDemoEnv || enabledUsers.includes(loggedUser);\n  }\n\n  constructor(router, mdApi, kaDialog, kaToast, mdToast) {\n    // Classes\n    this.mdApi = mdApi;\n    this.router = router;\n    this.toast = kaToast;\n    this.mdToast = mdToast;\n    this.dialog = kaDialog;\n    this.rest = new RestClient();\n    // Storage\n    this.storage = (environment.APP_STORAGE || localStorage);\n    this._data = JSON.parse(this.storage.getItem('user')) || null;\n    // CheckFlow\n    this.checkFlow = new CheckFlow();\n  }\n\n  get data() {\n    return JSON.parse(this.storage.getItem('user'));\n  }\n  set data(value) {\n    value ? this.storage.setItem('user', JSON.stringify(value)): this.storage.removeItem('user');\n  }\n\n  async initData() {\n    const apiResponse = await this.rest.get('users/me?include=user-profiles,user-roles,user-modules');\n    const flattenApiResponseData = mdt.parsers.flattenApiResponseData(apiResponse.data);\n    this.setUserData(flattenApiResponseData);\n    return flattenApiResponseData;\n  }\n\n  setUserData(apiResponseData) {\n    const user = structuredClone(apiResponseData);\n    user.username = user.profile.username;\n    user.displayName = user.profile.displayName;\n    this.data = user;\n  }\n\n  async check(fragment) {\n    if (!this.data) {\n      console.warn('[md-user] Check bypassed because of missing user data');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (!this.rest.auth.isAuthenticated) {\n      console.warn('[md-user] Check bypassed because user is not authenticated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (this.mdApi.isImpersonated) {\n      console.warn('[md-user] Check bypassed because user is impersonated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (['MASTER_USER', 'BASIC_USER'].includes(this.data.group)) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkAgreements });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfileData });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfilePec });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkUserBillingProfile });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkSettingsLinkedSoftware });\n    }\n    this.checkFlow.addCheck({ isMandatory: false, function: checkPlatformMessages });\n\n    const result = await this.checkFlow.run(this, fragment);\n    return result;\n  }\n\n  setData(attribute, value) {\n    this._data[attribute] = value;\n    this.data = this._data;\n  }\n\n  removeData(attribute) {\n    delete this._data[attribute];\n    this.data = this._data;\n  }\n\n  hasRole(roles) {\n    if (!this.data.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.data.roles?.some(e => roles.includes(e.id));\n  }\n}\n","import { Api } from './api';\nimport { KaDialog } from 'ka-components';\nimport { HttpClient } from 'aurelia-http-client';\n\nexport class MfApi {\n  accessToken;\n  baseUrl = ENVIRONMENT.APP_API_BASE_URL_MFLEGACY;\n\n  static inject = [Api, KaDialog];\n  constructor(api, kaDialog) {\n    this.api = api;\n    this.dialog = kaDialog\n    this.client = new HttpClient();\n\n    this.client.configure((config) => {\n      config.withBaseUrl(this.baseUrl);\n      config.withHeader('Accept-Language', 'it');\n      config.withInterceptor({\n        request: (msg) => {\n          if (this.api?.accessToken?.length) {\n            msg?.headers.add('Authorization', 'Bearer ' + this.api.accessToken);\n          }\n        },\n        response: (msg) => {\n          if (msg?.statusCode !== 204 && msg?.responseType === 'json' && typeof msg?.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg?.response instanceof Blob) {\n            msg.response.text().then((text) => {\n              let errors = text;\n              try {\n                const parsed = JSON.parse(text);\n                errors = parsed?.errors;\n              } catch {}\n              console.error('responseError', errors);\n            });         \n          }\n          if (msg?.statusCode === 401 && this.api?.refreshToken?.length && msg?.requestMessage?.url !== this.api?.refreshUrl) {\n            return this.api.getRefreshToken(msg, this.client);\n          }\n        }\n      });\n    });\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.api.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n}     \n","const mimeTypes = {\n  'csv': 'text/csv',\n  'png': 'image/png',\n  'jpg': 'image/jpeg', \n  'webp': 'image/webp',\n  'jpeg': 'image/jpeg',\n  'pdf': 'application/pdf',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n  'xml': 'application/xml', \n  'p7m': 'application/pkcs7-mime' \n};\n\nexport class MfFileDownload {\n  constructor(api, mfApi, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast;\n  }\n  \n  exportFiles(config = { query: {}, path }, event) {\n    const fileExtension = config.fileExtension || 'zip';\n    const type = mimeTypes[fileExtension];\n    event.model.busy = true;\n\n    const params = new URLSearchParams({\n      token: this.api.accessToken,\n      ...this.filterQuery(config.query)\n    }).toString();\n\n    const requestUrl = `documents/${config.path}?${params}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withHeader('Accept', `${type}`)\n      .withHeader('Content-Type', `${type}`)\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        if (xhr) {\n          const response = xhr.response;\n          const date = new Date().toISOString().split('T')[0];\n          const blob = new Blob([response], { type });\n          const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');\n          const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n          const matches = contentDisposition?.match(regex);\n          const url = window.URL.createObjectURL(blob);\n          const anchor = document.createElement('a');\n          anchor.href = url;\n          anchor.download = matches?.[1] || `files-${date}`;\n          anchor.click();\n          this.toast.show('File scaricato con successo!', 'success');\n          setTimeout(() => window.URL.revokeObjectURL(url), 100);\n        } else {\n          this.toast.show('Errore durante l\\'esportazione', 'error');\n        }\n      })\n      .finally(() => { event.model.busy = false; });\n  }\n  fileDownload(config = { documentType, fileId, fileName }, event) {\n    const fileExtension = config.fileExtension || 'zip';\n    const type = mimeTypes[fileExtension];\n    event.model.busy = true;\n    const requestUrl = `files/${config.fileId}?attachtype=${config.documentType}&token=${this.api.accessToken}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        if (xhr) {\n          const response = xhr.response;\n          const blob = new Blob([response], { type });\n          const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');\n          const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n          const matches = contentDisposition?.match(regex);\n          const url = window.URL.createObjectURL(blob);\n          const anchor = document.createElement('a');\n          anchor.href = url;\n          anchor.download = matches?.[1] || config.fileName;\n          anchor.click();\n          this.toast.show('File scaricato con successo!', 'success');\n          setTimeout(() => window.URL.revokeObjectURL(url), 100);\n        } else {\n          this.toast.show('Errore durante il download', 'error');\n        }\n      })\n      .finally(() => { event.model.busy = false; });\n  }\n  filterQuery(query) {\n    return Object.fromEntries(\n      Object.entries(query).filter(([_, value]) => value !== undefined && value !== null)\n    );\n  }\n}\n","export class vmAgreement {\n  activate(params) {\n    this.agreement = params.agreement;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\n\n@inject(Api, KaDialog)\nexport class vmLegacyViewer {\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() { this.init(); }\n\n  init() {\n    if (this.params.view === 'billing-profiler') {\n      this.config = {\n        view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n        model: {\n          userId: this.params.userId,\n          profileUuid: this.params.profileUuid,\n          callback: (completed) => {\n            if (!completed) {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler uscire senza salvare il profilo di fatturazione?`}).whenClosed(response => {\n                if (!response.wasCancelled && this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            } else {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: `Profilo di fatturazione correttamente salvato!`}).whenClosed(response => {\n                if (this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class view_routeViewName {\n\n  tabs = [\n    {\n      id: 'tab1',\n      label: 'tabName1',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName1')\n    }, {\n      id: 'tab2',\n      label: 'tabName2',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName2')\n    }\n  ];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { tab1: true, tab2: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('OPERATOR_ROLE');\n    return;\n    // Tab 1\n    if (this.privileges.isOperator && this.api.hasRole('OPERATOR_ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    } else if (!this.privileges.isOperator && this.api.hasRole('ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    }\n    // Tab 2\n    if (this.api.hasRole('ROLE_FOR_TAB_2')) {\n      this.privileges.tabs.tab2 = true;\n    }\n  }\n}","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName1 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-routerViewName-tabName1-table',\n      client: this.api,\n      endpoint: 'users/me/users',\n      query: 'include=user-profiles'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-routerViewName-tabName1-search',\n      table: this.tableInterface,\n      schema: {\n        control1: {\n          control: 'text',\n          label: 'Control 1',\n          required: true,\n          query: 'text-search'\n        },\n        control2: {\n          control: 'text',\n          label: 'Control 2',\n          required: false,\n          query: 'control2-query-filter-name'\n        },\n        control3: {\n          control: 'text',\n          label: 'Control 3',\n          required: false,\n          query: 'control3-query-filter-name'\n        },\n        control4: {\n          control: 'text',\n          label: 'Control 4',\n          required: false,\n          query: 'control4-query-filter-name'\n        },\n        control5: {\n          control: 'text',\n          label: 'Control 5',\n          required: false,\n          query: 'control5-query-filter-name'\n        },\n        control6: {\n          control: 'text',\n          label: 'Control 6',\n          required: false,\n          query: 'control6-query-filter-name'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.searchInterface.search();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName2 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\nexport class ServiceDialogUserProfile {\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.missingProperties = params;\n  }\n}\nexport class missingPropertiesValueConverter {\n  toView(value) {\n    if (!value) return;\n    let missingProperties = {\n      zipCode: 'CAP',\n      streetAddress: 'Indirizzo',\n      admLvl1: 'Regione',\n      admLvl2: 'Provincia',\n      admLvl3: 'Comune',\n      countryCode: 'Nazione',\n      businessType: 'Attività',\n      companyLegalFormCode: 'Forma giuridica',\n      displayName: 'Mittente'\n    };\n    return missingProperties[value] || value;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdMarketing from 'services/md-marketing';\nimport environment from 'environment';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Login {\n  environment = environment;\n  mdMarketing = mdMarketing;\n  username = '';\n  password = '';\n  resource = {\n    schema: {\n      username: {\n        field: 'username',\n        label: 'Username',\n        control: 'text',\n        required: true\n      },\n      password: {\n        field: 'password',\n        label: 'Password',\n        control: 'password',\n        required: true\n      },\n    },\n    data: {}\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.email = params.email;\n    this.source = params.source;\n    this.api.marketingCode = this.mdMarketing.capture(params?.mkt);\n  }\n\n  attached() {\n    if (this.api.isAuthenticated) this.api.logout();\n    if (this.email) this.resource.data.username = this.email;\n  }\n\n  login($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.resource.data.username, this.resource.data.password).catch(error => {\n      if (error.statusCode !== 423) {\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      }\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class Logout {\n\n  constructor(api) {\n    api.logout();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdMarketing from 'services/md-marketing';\n\n@inject(Api, KaToast)\nexport class viewRecupero {\n  marketingCode;\n  success = false;\n  uniqueIdentifier = null;\n  mdMarketing = mdMarketing;\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.marketingCode = this.mdMarketing.capture(params?.mkt);\n  }\n\n  start($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    \n    this.uid.input.validator.errors = [];\n\n    this.uid.input.validate().then(x => {\n        this.api.post('users/login-recovery-requests', { uniqueIdentifier: this.uniqueIdentifier }).then(x => {\n        this.email = x.response.emailAddress;\n      }).catch(x => {\n        this.uid.input.validator.errors.push('Identificativo non riconosciuto');\n        this.uid.input.element.classList.add('error');\n        this.toast.show('Identificazione utente fallita!', 'error');\n      }).finally(() => {\n        if ($event && $event.model) $event.model.busy = false;\n      });\n    }).catch(e => {\n      if ($event && $event.model) $event.model.busy = false;\n    }).finally(x => {\n    });\n  }\n  end($event) {\n    if ($event && $event.model) $event.model.busy = true;\n\n    this.error = false;\n    this.pass1.input.validator.errors = [];\n    this.pass2.input.validator.errors = [];\n\n    let promises = [];\n    promises.push(this.pass1.input.validate());\n    promises.push(this.pass2.input.validate());\n\n    Promise.all(promises).then(() => {\n      if (this.password1 !== this.password2) {\n        this.pass2.input.validator.errors.push('Le password non combaciano');\n        this.pass2.input.element.classList.add('error');\n        if ($event && $event.model) $event.model.busy = false;\n      } else {\n          const password = this.password1;\n          const marketingCode = this.marketingCode;\n          const data = { password, ...(marketingCode && { marketingCode }) };\n          this.api.post(`users/login-recovery-requests/${this.params.token}/password-resets`, data).then(() => {\n          this.success = true;\n        }).catch((error) => {\n          let response = JSON.parse(error.response);\n          if (response.source?.parameters?.length && response.source?.parameters[0].messages?.length) {\n            this.error = response.source.parameters[0].messages[0];\n          } else if (response.detail) {\n            this.error = response.detail;\n          }\n          this.toast.show('Cambio password utente fallito!', 'error');\n        }).finally(() => {\n          if ($event && $event.model) $event.model.busy = false;\n        });\n      }\n    }).catch((error) => {\n      if ($event && $event.model) $event.model.busy = false;\n    });  \n  }\n}\n","export class vmDeleteAccount {}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogAddResellerTag {\n  pendingInit = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { \n          table: `bo/resellers?user-status-in=ACTIVE&reseller-status=ACTIVE`,\n          query: { search: 'full-text-search', item: 'uuid-in' }\n        },\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}',\n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      rewardedServiceCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pendingInit = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.rewardedServiceCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - bo/resellers - GET', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      this.api.post(`bo/prospect-landing-pages/${this.params.referralCode}/reseller-tags`, this.resource.data).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        console.log('reseller-tags', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });    \n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogSponsorAgreement {\n  pendingSave;\n  resource = {\n    controls: {},\n    schema: {\n      agreementText: {\n        label: 'Inserisci il testo dell\\'email.',\n        required: true,\n        control: 'editor'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.loadAgreementText();\n  }\n\n  loadAgreementText() {\n    this.params.agreementText ? this.resource.data.agreementText = this.params.agreementText : null;\n  }\n\n  save() {\n    this.pendingSave = true;\n    this.api.patch(`bo/prospect-landing-pages/${this.params.referralCode}`, this.resource.data).then(() => {\n       this.controller.ok();\n    }).catch((error) => {\n       console.log('Prospect-landing-pages - PATCH', error);\n       this.api.dialogError(error);\n    }).finally(() => {\n      this.pendingSave = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\nimport { vmAgreement } from '../../_agreement/agreement';\n@inject(Api, KaToast, KaDialog)\nexport class LandingPages {\n  endpoint = 'bo/prospect-landing-pages';\n  editEnabled = false;\n  priceLists = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.getPriceLists().then(() => { this.initTableInterface(); });\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'landing-pages-table',\n      client: this.api,\n      endpoint: this.endpoint,\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    this.searchInterface = new SearchInterface({\n      name: 'landing-pages-search',\n      table: this.tableInterface,\n      schema: {\n        referralCode: {\n          label: 'Codice referral',\n          control: 'text',\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'referral-code-like'\n        },\n        listCode: {\n          label: 'Codice listino',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'price-list-code-in'\n        },\n        searchStatus: {\n          label: 'Stato',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status'\n        },\n        sponsorUuid: {\n          label: '',\n          control: 'combo',  \n          datasource: { \n            table: `bo/users?include=user-profiles&country-code-in=IT&status=ACTIVE&user-group-in=SPONSOR`, \n            query: { search: 'text-search', item: 'uuid-in'} \n          },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n        },\n        description: {\n          label: '',\n          control: 'text'\n        },\n        definitivePriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        status: {\n          label: '',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n        },\n        temporaryPriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        temporaryPriceListCodeDurationInDays: {\n          label: '',\n          control: 'number'\n        }\n      },\n      data: {}\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  getPriceLists() {\n    return this.api.get('bo/price-lists').then((xhr) => {\n      this.priceLists = xhr.response;\n    }).catch((error) => {\n      this.priceLists = [];\n      console.error('Error GET bo/price-lists', error);\n    });\n  }\n\n  edit(record) {\n    if (!this.editEnabled || !record.referralCode || record.referralCode === undefined) return;\n    setTimeout(() => {\n      let recordFormatted = {\n        description: record.description,\n        sponsorUuid: record.sponsorUuid,\n        status: record.status,\n        temporaryPriceListCode: record.temporaryPriceListCode || null,\n        definitivePriceListCode: record.definitivePriceListCode,\n        ...(!record.sponsorUuid && { agreementText: null }),\n      };\n\n      if (record.temporaryPriceListCodeDurationInDays) recordFormatted.temporaryPriceListCodeDurationInDays = record.temporaryPriceListCodeDurationInDays;\n    \n      this.api.patch(`bo/prospect-landing-pages/${record.referralCode}`, recordFormatted).then(() => {\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.error(error);\n        let errorPayload = mdt.parsers.apiError(error, record.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      })\n    }, 0);\n  }\n\n  addResellerTag(record) {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/add-reseller-tag'),\n      viewModelParams: { referralCode: record.referralCode }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.tableInterface.load();\n      }\n    });\n  }\n\n  deleteResellerTag(tag) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler rimuovere questo segnalatore?`\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.api.delete(`bo/prospect-landing-pages/${tag.prospectLandingPageReferralCode}/reseller-tags/${tag.uuid} `).then(() => {\n            this.toast.show('Segnalatore eliminato con successo', 'success');\n            this.tableInterface.load();\n          }).catch(error => {\n            console.error(error);\n          });\n        }\n      });\n  }\n\n  openSponsorDialog(record) {\n    return this.dialog.open({\n      title: 'Accordo con Sponsor',\n      class: 'sponsor-agreement',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/sponsor-agreement'),\n      viewModelParams: { \n        referralCode: record.referralCode,\n        agreementText: record.agreementText\n      },\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.toast.show('Accordo modificato con successo', 'success');\n          this.tableInterface.load();\n        }\n      });\n  }\n}","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class RevisioneAbiCab {\n  endpoint = 'bo/unknown-iban-coordinates-it/current';\n  editEnabled = false;\n  priceLists = null;\n  resource = {\n    controls: {},\n    schema: {\n      abiCode: {\n        label: 'ABI',\n        control: 'text',\n        readonly: true\n      },\n      cabCode: {\n        label: 'CAB',\n        control: 'text',\n        readonly: true\n      },\n      instituteName: {\n        label: 'Istituto',\n        control: 'text'\n      },\n      officeName: {\n        label: 'Nome ufficio',\n        control: 'text'\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n        query: 'country-code-in'\n      },\n      admLvl1: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-1-uuid-in'\n      },\n      admLvl2: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-2-uuid-in'\n      },\n      admLvl3: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-3-uuid-in'\n      },\n      streetAddress: {\n        label: 'Indirizzo',\n        control: 'text'\n      },\n      zipCode: {\n        label: 'Cap',\n        control: 'text'\n      },\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.loadData();\n  }\n\n  loadData() {\n    return this.api.get(this.endpoint).then((xhr) => {\n      this.resource.data = xhr.response;\n      this.resource.data.countryCode = 'IT';\n    });\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/1/divisions`;\n      this.resource.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/2/divisions?parent-uuid=${this.resource.data.admLvl1}`;\n      this.resource.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/3/divisions?parent-uuid=${this.resource.data.admLvl2}`;\n      this.resource.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl3 = null;\n    }\n    this.resource.controls[type].control._initialized = true;\n  }\n\n  reset() {\n    const controls = this.resource.controls;\n    for (const controlKey in controls) {\n      const control = controls[controlKey];\n      if (!['countryCode', 'abiCode', 'cabCode'].includes(control.name)) control.clear();\n    }\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    const data = {\n      abiCode: this.resource.data.abiCode,\n      cabCode: this.resource.data.cabCode,\n      instituteName: this.resource.data.instituteName,\n      officeName: this.resource.data.officeName,\n      countryCode: this.resource.data.countryCode,\n      admLvl2: (this.resource.controls.admLvl2?.control?.valueModel?.endonym) || null,\n      admLvl3: (this.resource.controls.admLvl3?.control?.valueModel?.endonym) || null,\n      streetAddress: (this.resource.data?.streetAddress) || null,\n      zipCode: (this.resource.data?.zipCode) || null\n    };\n\n    this.resource.validate().then(() => {\n      this.api.post(`bo/bank-offices`, data).then(() => {\n        this.toast.show('Dati salvati con successo!', 'success');\n        this.loadData().then(() => {\n          this.reset();\n        });\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    }).catch(() => {\n      this.pendingSave = false;\n    });\n  }\n}","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\nimport {KaDialog, KaToast} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from '../../../environment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaDati {\n  endpoint = 'users/me/contacts';\n  environment = environment;\n  mdt = mdt;\n  contact = {\n    loaded: false,\n    endpoint: 'users/me/contacts',\n    query: null,\n    schema: {\n      firstname: {\n        control: 'text', \n        label: 'Nome'\n      },\n      lastname: {\n        control: 'text', \n        label: 'Cognome'\n      },\n      nickname: {\n        control: 'text', \n        label: 'Soprannome'\n      },\n      companyName: {\n        control: 'text', \n        label: 'Denominazione'\n      },\n      jobTitle: { \n        label: 'Titolo',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n      },\n      admLvl1Uuid: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl2Uuid: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl3Uuid: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      locality: {\n        control: 'text', \n        label: 'Località'\n      },\n      addressee: {\n        control: 'text', \n        label: 'Presso'\n      },\n      streetAddress: {\n        control: 'text', \n        label: 'Indirizzo'\n      },\n      zipCode: {\n        control: 'text', \n        label: 'Cap'\n      },\n      fiscalCode: {\n        control: 'text', \n        label: 'Codice Fiscale'\n      },\n      vatCode: {\n        control: 'text', \n        label: 'Partita IVA'\n      },\n      homePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      homePhoneNumber: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      workPhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      workPhoneNumber: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      mobilePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Cellulare'\n      },\n      mobilePhoneNumber: {\n        control: 'text', \n        label: 'Cellulare (verrà utilizzato per invio Sms)'\n      },\n      faxNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Fax'\n      },\n      faxNumber: {\n        control: 'text', \n        label: 'Fax'\n      },\n      emailAddress: {\n        control: 'text', \n        label: 'Email'\n      },\n      certifiedEmailAddress: {\n        control: 'text', \n        label: 'Pec'\n      },\n      webSiteUrl: {\n        control: 'text', \n        label: 'Web'\n      },\n      contactGroups: { \n        control: 'combo',\n        label: 'Gruppo',\n        datatext: 'name',\n        datavalue: 'id',\n        datamultiple: true,\n        datapreload: true,\n        datasource: { table: 'users/me/contact-groups' }\n      },\n      notes: {\n        control: 'textarea', \n        label: 'Note'\n      },\n      newsletterOptIn: {\n        label: 'Consenti Newsletter',\n        control: 'check',\n      },\n      newsletterOptInDate: {\n        label: 'Data Consenso',\n        control: 'date'\n      },\n      uniqueCode: {\n        label: 'Unique Code',\n        control: 'text' \n      }\n    },\n    data: {\n      countryCode: 'IT',\n      newsletterOptInDate: null,\n      homePhoneNumberInternationalPrefix: '+39',\n      workPhoneNumberInternationalPrefix: '+39',\n      mobilePhoneNumberInternationalPrefix: '+39',\n      faxNumberInternationalPrefix: '+39'\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.contact.data));\n      ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n        if (data[field]) {\n          data[field] = (String(data[`${field}InternationalPrefix`] || '+39') + String(data[field])).replace(/\\s+/g, \"\");\n        }\n        delete data[`${field}InternationalPrefix`];\n      });\n      if (data.contactGroups === null) {\n        data.contactGroups = [];\n      }\n      if (data.id) {\n        this.contact.resource.save(data, `users/me/contacts/${data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.contact.resource.save(data, 'users/me/contacts', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.pending = true;\n      this.api.get(`users/me/contacts/${this.params.id}`).then(xhr => {\n        let data = xhr.response;\n        ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n          data[`${field}InternationalPrefix`] = data[`${field}InternationalPrefix`] || '+39';\n          data[field] = String((data[field] || '').replace(data[`${field}InternationalPrefix`], '')).trim();\n        });\n        this.contact.data = data;\n      }).catch(error => {\n        console.log('ERROR - users/me/contacts GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.pending = false;\n      });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n    \n    childControl = this.contact.resource.controls[childField];\n    childSchema = this.contact.schema[childField];\n    childData = this.contact.data;\n    countryCode = this.contact.data['countryCode'];\n    admLvls = this.contact.resource.controls['countryCode'].objectValue?.administrativeLevels;\n    \n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class RubricaDialogEliminaGruppo {\n  deleteContacts = false;\n  constructor() {\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class RubricaDialogElimina {\n  multipleRecords = false;\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (params && params.length) {\n      if (params.length !== 1) this.multipleRecords = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaGruppi {\n  mdt = mdt;\n  group = {\n    loaded: false,\n    endpoint: 'users/me/contact-groups',\n    query: '',\n    schema: {\n      name: {\n        control: 'text', \n        label: 'Nome gruppo'\n      },\n    },\n    data: {},\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.group.data.id) {\n        this.group.resource.save(this.group.data, `users/me/contact-groups/${this.group.data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.group.resource.save(this.group.data, 'users/me/contact-groups', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    /* Table Interface */\n    this.groupsTableInterface = new TableInterface({\n      name: 'groups-table',\n      client: this.api,\n      endpoint: 'users/me/contact-groups',\n      query: null\n    });\n\n    /* Initialize table */\n    this.groupsTableInterface.initialize().then(() => { this.load(); }).catch(error => { console.log('groupsTable-initialize failed', error); });\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.api.get(`users/me/contact-groups/${this.params.id}`).then(xhr => {\n        this.group.data = xhr.response;\n      });\n    } else if (!this.params.id) {\n      this.groupsTableInterface.load().catch(error => { console.log('groupsTable-load failed', error); });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: 'new' });\n  }\n\n  elimina(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo'),\n      viewModelParams: record\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        if (response.output.deleteContacts) {\n          this.api.delete(`users/me/contact-groups/${record.id}/contacts`).then(() => {\n            this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n              this.load();\n              this.toast.show('Gruppo e relativi contatti eliminati con successo!', 'success');\n            }).catch(x => {\n              this.api.dialogError(x);\n            });\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        } else {\n          this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n            this.load();\n            this.toast.show('Gruppo eliminato con successo!', 'success');\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: record.id });\n  }\n\n  contatti() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewRubricaImportazione {\n  records = false;\n  loading = false;\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {}\n\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result\n      };\n      this.api.post('users/me/contacts/bulk-import', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            console.log('400', response)\n            for (let parameter of response.source.parameters) {\n              if (/^data\\.attributes\\.fileData/.test(parameter.parameter)) {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        } else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigateToRoute('anagrafiche/rubrica');\n    this.records = false;\n  }\n}\n\n","\nimport {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubrica {\n  mdt = mdt;\n  contactGroups = null;\n  selected = [];\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    // Load contact groups\n    this.api.get('users/me/contact-groups').then(xhr => {\n      let groups = {};\n      for (let group of xhr.response) {\n        groups[group.id] = group;\n      }\n      this.contactGroups = groups;\n    });\n  }\n\n  attached() {\n    /* Table interface */\n    this.rubricaTableInterface = new TableInterface({\n      name: 'rubrica-table',\n      client: this.api,\n      endpoint: 'users/me/contacts',\n      query: null\n    });\n\n    /* Table Search */\n    this.rubricaSearchInterface = new SearchInterface({\n      name: 'rubrica-table-search',\n      table: this.rubricaTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: 'Ricerca libera',\n          query: 'text-search'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-3-uuid-in'\n        },\n        group: { \n          control: 'combo',\n          label: 'Gruppo',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: true,\n          datapreload: true,\n          datasource: { table: 'users/me/contact-groups' },\n          query: 'group-uuid-in'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n      }\n    });\n    this.rubricaTableInterface.initialize().then(() => {\n      this.rubricaSearchInterface.initialize().then(() => {\n        this.initGeo('countryCode', true);\n        setTimeout(() => { this.ricerca(); }, 500);\n      }).catch(error => { console.log('rubrica-search-intialize failed', error); });\n    }).catch(error => { console.log('rubrica-table-initialize failed', error); });\n  }\n\n  ricerca() {\n    this.rubricaSearchInterface.search().catch(error => { console.log('rubrica-search-interface failed', error); });\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.rubricaSearchInterface.data)) this.rubricaSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: 'new' });\n  }\n\n  gruppi() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  importa() {\n    this.router.navigateToRoute('anagrafiche/rubrica-importazione');\n  }\n\n  modifica($event, record) {\n    $event.stopPropagation();\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: record.id });\n  }\n\n  elimina($event, record) {\n    $event.stopPropagation();\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/me/contacts/${record.id}`).then(() => {\n          this.toast.show('Contatto eliminato con successo!', 'success');\n          this.ricerca();\n        }).catch(x => {\n          this.api.dialogError(x);\n        });\n      }\n    });\n  }\n\n  esporta() {\n    if (!this.selected.length) return;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let csv = ['nome;cognome;denominazione;numero;indirizzo;cap;comune;localita;provincia;nazione'];\n    for (let record of this.selected) {\n      csv.push([\n        record.firstname,\n        record.lastname,\n        record.companyName,\n        record.mobilePhoneNumber || record.homePhoneNumber || record.workPhoneNumber || null,\n        record.streetAddress,\n        record.zipCode,\n        record.admLvl3,\n        record.locality,\n        record.admLvl2,\n        record.countryCode,\n      ].join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'rubrica-invio-tradizionale.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.consume();\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/1/divisions`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl1.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl1.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl1 = null;\n      }\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl1}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl2.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl2.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl2 = null;\n      }\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl2}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl3.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl3.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl3 = null;\n      }\n    }\n  }\n\n  selectContact(record) {\n    if (this.selected.find(x => x.id === record.id)) this.selected.splice(this.selected.findIndex(x => x.id === record.id), 1);\n    else this.selected.push(record);\n  }\n\n  deleteContacts() {\n    if (this.selected && this.selected.length) {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n        viewModelParams: this.selected\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = []\n          this.selected.forEach(contact => {\n            promises.push(this.api.delete(`users/me/contacts/${contact.id}`));\n          });\n          if (promises.length) return Promise.all(promises).then(() => {\n            this.toast.show(`${this.selected.length > 1 ? 'Contatti eliminati' : 'Contatto eliminato'} con successo`, 'success');\n            this.selected = [];\n            this.ricerca();\n          }).catch(() => {\n            this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Impossibile eliminare i contatti selezionati' });\n          });\n        }\n      });\n    }\n  }\n\n  toggleAllContacts(records) {\n    if (records.length > this.selected.length) {\n      this.selected = [];\n      records.forEach(x => {\n        this.selected.push(x);\n      });\n    } else {\n      this.selected = [];\n    }\n    return;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, DialogController, KaDialog, KaToast)\nexport class DialogMigrateSubuser {\n  pendingSave;\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  selectedUser;\n  resource = {\n    controls: {},\n    schema: {\n      migrationRecipient: {\n        control: 'combo',\n        label: 'Nuovo utente padre',\n        required: true,\n        datatext: 'profile[0].displayName',\n        datavalue: 'id',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }},\n        query: 'text-search'\n      },\n      migrationReason: {\n        control: 'text',\n        label: 'Nota',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, DialogController, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.controller = DialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    this.resource.validate().then(() => {\n      let data = {};\n      data.migrationReason = this.resource.data.migrationReason;\n      data.migrationSubuserUuid = this.params.uuid;\n      this.api.post(`bo/users/${this.resource.data.migrationRecipient}/users`, data).then(() => {\n        this.params.dialog.ok();\n        this.toast.show('Migrazione avvenuta con successo', 'success');\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class ServiceDialogProfiloAddReseller {\n  pending = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { table: `bo/resellers?reseller-status=ACTIVE`, query: { search: 'text-search', item: 'uuid-in' }},\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}', \n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      serviceGroupCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pending = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.serviceGroupCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - rbo/resellers - GET', error);\n    });\n  }\n\n  save() {\n    let data = { ...this.resource.data };\n    delete data.uuid;\n    this.api.post(`bo/users/${this.params.id}/resellers`, data).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR - /resellers - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ProfiloDeleteBillingProfile {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, DialogController)\nexport class ProfiloDocumentUpload {\n  mdt = mdt;\n  pending = false;\n  buttonPending = false;\n  error = null;\n  ibanCodes = null;\n  userProfile = null;\n  resource = {\n    controls: {},\n    schema: {\n      file: {\n        label: 'Documento',\n        control: 'file',\n        required: true\n      },\n      placeholder: {\n        label: 'Etichetta',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n    this.uploadSessionUuid = params.uploadSessionUuid;\n    this.type = params.type;\n    this.document = params.document || null;\n  }\n\n  attached() {\n    if (this.type?.placeholderType === 'IBAN' && this.api.hasRole(['LIST_USER_BILLING_PROFILE_IBAN_CODES', 'LIST_ANY_USER_BILLING_PROFILE_IBAN_CODES'])) {\n      this.pending = true;\n      if (this.userId === 'me') this.getIbanCodes();\n      else this.getUser().then(() => { this.getIbanCodes(); });   \n    } else {\n      this.resource.schema.placeholder.placeholder = this.type.placeholderType || null;\n    }\n  }\n\n  getIbanCodes() {\n    this.api.get(`users/${this.userId}/billing-profile-iban-codes`).then(xhr => {\n      this.ibanCodes = xhr.response;\n      this.ibanCodes.forEach(ibanCode => {\n        ibanCode.label = `<strong>${ibanCode.label}: </strong><br>${ibanCode.code}`\n      });\n      this.resource.schema.placeholder = {\n        label: this.userId === 'me' ? 'IBAN dai miei profili di fatturazione' : `IBAN dai profili di fatturazione di ${this.userProfile.displayName}`,\n        control: 'combo',\n        datasource: this.ibanCodes,\n        datavalue: 'code',\n        datatext: `label`,\n        required: true\n      }\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profile-iban-codes GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n      this.userProfile = xhr.response.profile[0] || null;\n    }).catch(error => {\n      console.log('ERROR user profile - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  upload(endpoint, file) {\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => reject(error));\n      }).catch(error => reject(error));\n    });\n  }\n\n  save($event) {\n    this.buttonPending = $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let endpoint = `users/${this.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n      this.upload(endpoint, this.resource.data.file[0]).then(xhr => {\n        let data = { uploadedFileUuid: xhr.id };\n        if (this.type.placeholderType) data.placeholder = this.resource.data.placeholder;\n\n        // Buckets\n        if (this.document) {\n          this.api.put(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents/${this.document.uuid}`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - PUT', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.pending = $event.model.busy = false; }, 0);\n          });\n        } else {\n          data.documentType = this.type.code;\n          this.api.post(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          });\n        }       \n      }).catch(error => {\n        console.error('ERROR - upload file', error);\n        this.api.dialogError(error);\n        setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n      });\n    }).catch(() => {\n      this.buttonPending = $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class UtentiDialogArchiviaNuovo {\n  resource = {\n    controls: {},\n    schema: {\n      reason: {\n        label: 'Operazione',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'ARCHIVING', text: 'Archiviazione'}, /*{ value: 'MIGRATION', text: 'Migrazione'}*/],\n        required: true\n      },\n      newParentUserUuid: {\n        label: 'Migra verso',\n        control: 'combo', \n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'uuid', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        if (control.validator) control.validator.errors = [];\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.resource.client = this.api;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.params.id}/archiving`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n        this.toast.show(`${this.resource.data.reason === 'MIGRATION' ? 'Migrazione' : 'Archiviazione'} avvenuta con successo`, 'success');\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class UtentiImportazioneDialogSovrascrittura {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","export class viewGestioneUtenti {\n\n/* REGISTER SUB VIEWS */\n\n  views = {\n    elenco:                 { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/elenco')},\n    importazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/importazione')},\n    anagrafica:             { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/anagrafica')},\n    documenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/documenti')},\n    documenti_approvazione: { vm: PLATFORM.moduleName('views/backoffice/documenti/tabs/documenti-gestione')},\n    fatturazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione')},\n    segnalatori:            { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/segnalatori')},\n    compensi:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/compensi')},\n    cashback:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/cashback')},\n    impostazioni:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/impostazioni')},\n    pagamenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/pagamenti')},\n  };\n\n  /* AURELIA'S COMPONENT LIFECYCLE'S HOOK METHODS */\n\n  activate(params, routeConfig, currentInstruction) {\n    /* ROUTE CAN BE\n    anagrafiche/utenti\n    anagrafiche/utenti/666\n    anagrafiche/utenti/666/anagrafica\n    anagrafiche/utenti/{id}/{view}\n    anagrafiche/utenti/importazione\n    anagrafiche/utenti/documenti\n    anagrafiche/utenti/fatturazione\n    gestione/profilo/me\n    */\n    if (routeConfig.route === 'gestione/profilo/me') {\n      params.id = 'me';\n    }\n    if (params.id && !params.view) {\n      params.view = 'anagrafica';\n    }\n    // Overwrite default class name for <router> element\n    currentInstruction.config.className = currentInstruction.config.name.replace('/','-') + (params.view ? `-${params.view}` : '');\n\n    this.params = params;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\n\n\n@inject(Aurelia, Router, Api, MdUser, KaDialog, KaToast)\nexport class Anagrafica {\n  endpoint;\n  pendingLoad;\n  pendingInit;\n  parentUser;\n  legalForms;\n  legalFormTypes;\n  legalFormSelected;\n  oldSelectedCountryCode;\n  resource = {\n    controls: {},\n    schema: {\n      group: { \n        control: 'combo',  \n        label: 'Tipo accesso', \n        datatext: 'label',\n        datavalue: 'code', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        readonly: true\n      },\n      password: {\n        control: 'password', \n        label: 'Imposta nuova password'\n      },\n      profile: {\n        username: {\n          control: 'text',\n          label: 'Username'\n        },\n        displayName: { \n          control: 'text',\n          label: 'Etichetta'\n        },\n        courtesyTitle: { \n          label: 'Titolo',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n        },\n        holderName: {\n          companyName: {\n            control: 'text', \n            label: 'Denominazione',\n            required: false\n          },\n          firstname: {\n            control: 'text', \n            label: 'Nome',\n            required: false\n          },\n          lastname: {\n            control: 'text', \n            label: 'Cognome',\n            required: false\n          }\n        },\n        businessType: { \n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        companyLegalFormCode: {\n          label: 'Forma giuridica',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        fiscalCode: {\n          control: 'text', \n          label: 'Codice fiscale',\n          required: false\n        },\n        vatCode: {\n          control: 'text', \n          label: 'Partita iva',\n          required: false\n        },\n        location: {\n          streetAddress: {\n            control: 'text', \n            label: 'Indirizzo',\n            required: true,\n          },\n          locality: {\n            control: 'text', \n            label: 'Località'\n          },\n          countryCode: { \n            label: 'Nazione', \n            control: 'combo',  \n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n            required: true\n          },\n          admLvl1Uuid: {\n            label: 'Regione',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl2Uuid: {\n            label: 'Provincia',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl3Uuid: {\n            label: 'Comune',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text',\n            required: true,\n          }\n        },\n        email: {\n          control: 'text', \n          label: 'Email'\n        },\n        pec: {\n          control: 'text',\n          label: 'PEC'\n        },\n        phoneNumber: {\n          control: 'text', \n          label: 'Telefono'\n        },\n        mobilePhoneNumber: {\n          control: 'text', \n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text', \n          label: 'Fax'\n        }\n      }\n    },\n    data: {\n      group: 'BASIC_USER',\n      profile: {\n        location: {\n          countryCode: 'IT'\n        }\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, mdUser, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    let promises = [];\n    if (this.isOperator) promises.push(this.getUserGroups());\n    if (this.params.id && this.params.id !== 'new') promises.push(this.load());\n    return Promise.all(promises).catch(error => {\n      console.error(`GET - init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.getBusinessType();\n      this.setCompanyLegalFormCodeDatasource();\n    });\n  }\n\n  load() {\n    return this.getUserProfile();\n  }\n\n  changeLegalForm() {\n    if (this.legalForms) {\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n      this.resource.controls['profile.vatCode'].required = this.legalFormSelected?.vatCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected?.fiscalCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected?.companyNameNeeded === 'YES';\n      this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected?.personNameNeeded === 'YES';\n    }\n  }\n\n  getUserProfile() {\n    this.pendingLoad = true;\n    return this.api.get(`users/${this.params.id || 'me'}?include=user-profiles,user-roles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      if (response.profile.holderName && !response.profile.holderName.companyName) response.profile.holderName.companyName = response.profile.holderName.lastname + ' ' + response.profile.holderName.firstname;\n      this.resource.data = response;\n      this.pendingLoad = false;\n    }).catch(error => {\n      console.error(`GET - users`, error);\n      this.pendingLoad = false;\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    });\n  }\n\n  getUserGroups() {\n    return this.api.get('user-groups').then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.group.datasource = response; \n    });\n  }\n\n  setBusinessTypeEndpoint() {\n    let endpoint = `user-business-types`;\n    if (this.params.id === 'new') return `user-business-types`;\n    else return `${endpoint}?applicable-to-user-uuid=${this.resource.data.uuid}`;\n  }\n\n  getBusinessType() {\n    const endpoint = this.setBusinessTypeEndpoint();\n    return this.api.get(endpoint).then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: response });\n    });\n  }\n\n  setLegalFormsEndpoint() {\n    let endpoint = `legal-forms`;\n    let filters = [`country-code=${this.resource.data.profile.location.countryCode}`];\n\n    // Master user creating a subuser\n    if (this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n      filters.push(`legal-form-type=BUILDING`);\n    } else if (this.params.id !== 'new') {\n      filters.push(`applicable-to-user-uuid=${this.resource.data.uuid}`);\n    }\n\n    return `${endpoint}?${filters.join('&')}`;\n  }\n\n  setCompanyLegalFormCodeDatasource() {\n    const legalFormsEndpoint = this.setLegalFormsEndpoint();\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(legalFormsEndpoint)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n  \n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode'].control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    } \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly; // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.oldSelectedCountryCode = countryCode;\n      this.resource.data.profile.companyLegalFormCode = null;\n      this.setCompanyLegalFormCodeDatasource();\n    }\n  }\n\n  copyServiceToken() {\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      konsole.debug(token);\n      this.toast.show('Service token copiato in Console!', 'success');\n      if (navigator.clipboard) navigator.clipboard.writeText(token).then(() => {\n        this.toast.show('Service token copiato in Clipboard!', 'success');\n      }, error => { throw error; });\n    }).catch(error => {\n      console.error('ERROR - cross-login-tokens/current - GET', error);\n      this.toast.show('Impossibile copiare il service token in Clipboard!', 'error');\n    });\n  }\n\n  parseResourceData() {\n    if (this.resource.data?.profile?.location) {\n      if (this.resource.data.profile.location.admLvl1) delete this.resource.data.profile.location.admLvl1;\n      if (this.resource.data.profile.location.admLvl2) delete this.resource.data.profile.location.admLvl2;\n      if (this.resource.data.profile.location.admLvl3) delete this.resource.data.profile.location.admLvl3;\n    }\n\n    let data = { ...this.resource.data };\n    // A bulding administrator can only have bulding as sub-users\n    if ((this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') || (this.params.id !== 'new' && this.resource.schema.profile.businessType.datasource.length === 1)) {\n      data.profile.businessType = 'BUILDING';\n    }\n    if (data.profile?.businessType === 'BUILDING') {\n      // The building tax code is assigned by the server as a username\n      data.profile.username = null;\n      // Password can be assigned when edit\n      if (!data.uuid) data.password = null;\n    }\n    return data;\n  }\n\n  save($event) {\n    const data = this.parseResourceData();\n\n    // if data is an empty array\n    if (!Object.entries(data).length) return $event.model.busy = false;\n\n    return this.resource.validate().then(() => {\n      $event.model.busy = true;\n\n      // Edit resource\n      if (data.uuid) {\n        let endpoint = this.api.user.uuid === data.uuid ? `users/me` : `${this.endpoint}/${data.uuid}`;\n        return this.api.put(endpoint, data).then(async () => {\n          this.load();\n          if (this.api.user.uuid === data.uuid) {\n            await this.mdUser.initData();\n            this.api.user = this.mdUser.data;\n          }\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n        }).catch((error) => {\n          console.error(`PUT ${endpoint}`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } \n      \n      // Create resource\n      else {\n        return this.api.post(this.endpoint, data).then((xhr) => {\n          let response = xhr.response;\n          this.toast.show('Profilo creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/utenti', { id: response.id, view: 'anagrafica' });\n        }).catch(error => {\n          console.error(`ERROR - ${this.endpoint} - PUT`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Cashback {\n  savedData;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  isInitializing = true;\n  resource = {\n    controls: {},\n    schema: {\n      percentageOnServices: {\n        label: 'Percentuale di cashback calcolata sull\\'utile del credito servizio derivante dalle spedizioni MultInvio',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [\n          { value: 10, text: '10' }, \n          { value: 15, text: '15' }, \n          { value: 20, text: '20' }\n        ],\n      }\n    },\n    data: {\n      percentageOnServices: 10\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.api.hasRole(['MODIFY_ANY_USER_CASHBACK_STATUS', 'MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES'])) {\n      this.readEnabled = this.writeEnabled = true;\n    } else if (this.api.hasRole(['LIST_ANY_USER_CASHBACK_SETTINGS'])) {\n      this.readEnabled = true;\n      this.writeEnabled = false;\n    } else {\n      this.readEnabled = this.params.id === 'me' && this.api.hasRole('LIST_USER_CASHBACK_SETTINGS') ? true : false;\n    }\n\n    return this.load();\n  }\n\n  load() {\n    this.isLoading = true;\n    if (this.readEnabled) {\n      this.api.get(`users/${this.params.id}/cashback-settings`).then((xhr) => {\n        const response = xhr.response;\n        this.resource.data = response;\n        this.savedData = structuredClone(response);\n      }).catch(() => {\n        console.log('ERROR - /cashback-settings - GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = this.isLoading = false;\n      });\n    } else this.isInitializing = this.isLoading = false;\n  }\n\n  openDialogEditPercentageOnServices() {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: `Modificando la percentuale di cashback per le spedizioni MultiInvio verrà generata una nuova versione del contratto. <strong>Confermi di voler salvare?</strong>`\n    });\n  }\n\n  submitAction($event) {\n    if (this.params.id) {\n      if (this.savedData.percentageOnServices !== this.resource.data.percentageOnServices) {\n        return this.openDialogEditPercentageOnServices().whenClosed((response) => {\n          if (!response.wasCancelled) return this.save($event);   \n        });\n      } else {\n        return this.save($event);\n      }\n    }\n  }\n\n  save($event) {\n    this.resource.validate().then(() => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.resource.data));\n      this.api.patch(`users/${this.params.id}/cashback-settings`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /cashback-settings - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport {KaDialog, KaToast} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmCompensi {\n  isInitializing = true;\n  isLoading = true;\n  resource = {\n    summaryTableInterface: null,\n    detailsTableInterface: null,\n    usersTableInterface: null,\n    usersSummaryTableInterface: null,\n    summarySearchInterface: null,\n    detailsSearchInterface: null,\n    usersSearchInterface: null,\n    usersSummarySearchInterface: null,\n    readEnabled: false,\n    search: {\n      endpoint: {},\n      resource: {},\n      schema: {\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        associatedUser: {\n          label: 'Utente associato', \n          control: 'combo',  \n          datatext: 'displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'associated-user-uuid-in'} },\n          query: 'associated-user-uuid-in'\n        },\n        serviceGroup: {\n          label: 'Tipologia',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'service-group-code-in'\n        }\n      },\n      data: {\n        createdAtStart: null,\n        createdAtEnd: null,\n        associatedUser: null,\n        serviceGroup: null\n      },\n      params: null,\n      init: () => {\n        // Field service Groups\n        this.resource.loadServiceGroups();\n\n        // Summary Table Interface\n        this.resource.summaryTableInterface = new TableInterface({\n          name: 'commissions-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/summary`,\n          query: null\n        });\n        // Summary Search Interface\n        this.resource.summarySearchInterface = new SearchInterface({\n          name: 'commissions-summary-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Details Table Interface\n        this.resource.detailsTableInterface = new TableInterface({\n          name: 'commissions-details-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details`,\n          query: null\n        });\n        // Details Search Interface\n        this.resource.detailsSearchInterface = new SearchInterface({\n          name: 'commissions-details-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users Table Interface\n        this.resource.usersTableInterface = new TableInterface({\n          name: 'commissions-users-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/associated-users`,\n          query: 'with-amount-summary=false'\n        });\n        // Users Search Interface\n        this.resource.usersSearchInterface = new SearchInterface({\n          name: 'commissions-users-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users-Summary Table Interface\n        this.resource.usersSummaryTableInterface = new TableInterface({\n          name: 'commissions-users-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details-by-user`,\n          query: null\n        });\n        // Users-Summary Interface\n        this.resource.usersSummarySearchInterface = new SearchInterface({\n          name: 'commissions-users-summary-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        this.resource.usersSummarySearchInterface.data.createdAtStart = moment().utc().subtract(2, \"year\").toISOString();\n        let promisesT = [\n          this.resource.summaryTableInterface.initialize(), \n          this.resource.detailsTableInterface.initialize(), \n          this.resource.usersTableInterface.initialize(),\n          this.resource.usersSummaryTableInterface.initialize()\n        ];\n        return Promise.all(promisesT).then(() => {      \n          this.resource.summarySearchInterface.table = this.resource.summaryTableInterface;\n          this.resource.detailsSearchInterface.table = this.resource.detailsTableInterface;\n          this.resource.usersSearchInterface.table = this.resource.usersTableInterface;\n          this.resource.usersSummarySearchInterface.table = this.resource.usersSummaryTableInterface;\n          let promises = [\n            this.resource.summarySearchInterface.initialize(), \n            this.resource.detailsSearchInterface.initialize(), \n            this.resource.usersSearchInterface.initialize(),\n            this.resource.usersSummarySearchInterface.initialize()\n          ];\n          Promise.all(promises).then(() => { \n            this.resource.loadCommissions();\n          });\n        });\n      },\n      apply: () => {\n        this.resource.loadCommissions();\n      }\n    },\n    loadServiceGroups: () => {\n      let endpoint = 'resell/service-groups';\n      if (this.api.user.isReseller) endpoint = `resell/service-groups?reseller-uuid=${this.api.user.uuid}`;\n      this.api.get(endpoint).then(xhr => { \n        this.resource.search.schema.serviceGroup.datasource = xhr.response; \n      }).catch(error => {\n        console.log('ERROR - service-groups - GET', error);\n        this.api.dialogError(error);\n      });\n    },\n    loadCommissions: () => {\n      this.isLoading = true;\n      this.resource.search.schema.associatedUser.datasource.table = `users/${this.params.id}/commissions/associated-users`;\n      this.resource.detailsSearchInterface.data = this.resource.summarySearchInterface.data;\n      this.resource.usersSearchInterface.data = { ...this.resource.summarySearchInterface.data };\n      this.resource.usersSummarySearchInterface.data = Object.assign({}, this.resource.summarySearchInterface.data, {\n        createdAtStart: this.resource.usersSummarySearchInterface.data.createdAtStart,\n        createdAtEnd: this.resource.usersSummarySearchInterface.data.createdAtEnd\n      });\n\n      // Remove createdAt search filter from Users\n      this.resource.usersSearchInterface.data.createdAtStart = null;\n      this.resource.usersSearchInterface.data.createdAtEnd = null;\n\n      Promise.all([\n        this.resource.summarySearchInterface.search(), \n        this.resource.detailsSearchInterface.search(), \n        this.resource.usersSearchInterface.search(),\n        this.resource.usersSummarySearchInterface.search()\n      ]).then(() => {\n        this.resource.usersTableInterface.data?.forEach(associatedUser => { associatedUser.tag = { old: associatedUser.tag, new: associatedUser.tag } });\n        this.isInitializing = this.isLoading = false;\n      });\n    },\n    exportSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.summarySearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/summary`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportDetail: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.detailsSearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/details`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-mensile.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsers: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSearchInterface.last.params || {}, { format: 'csv', 'with-amount-summary': true });\n      this.api.get(`users/${this.params.id}/commissions/associated-users`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-utenti-associati.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsersSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSummarySearchInterface.last.params || {}, { format: 'csv' });\n      this.api.get(`users/${this.params.id}/commissions/details-by-user`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-utenti.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    setTag: (user, context) => {\n      if (user.tag.new.length > 32) {\n        user.tag.new = user.tag.old;\n        return this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Massimo 32 caratteri consentiti'});\n      }\n      if (user.tag.new === '' || context === 'delete') user.tag.new = null;\n      return this.api.patch(`users/${this.params.id}/commissions/associated-users/${user.uuid}`, { tag: user.tag.new }).then(() => {\n        user.tag.old = user.tag.new;\n        this.toast.show('Tag salvato con successo!', 'success');\n      }).catch(error => {\n        konsole.error(error);\n        user.tag.new = user.tag.old;\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Si è verificato un errore. Riprova'});\n      }).finally(() => {\n        user.userTagEnabled = !user.userTagEnabled\n      });\n    },\n    cancelTag: (user) => {\n      if (user.tag.new && user.tag.old) user.tag.new = user.tag.old;\n      user.userTagEnabled = !user.userTagEnabled\n    },\n    counter: (id, start, end, duration) => {\n      let isInt = true;\n      let digits = null;\n      if (end % 1 != 0) isInt = false;\n      let startTimestamp = null;\n      if (!this.counter) this.counter = {};\n      if (!this.counter[id]) this.counter[id] = 0;\n      const step = (timestamp) => {\n        if (!startTimestamp) startTimestamp = timestamp;\n        const progress = Math.min((timestamp - startTimestamp) / duration, 1);\n        if (isInt) digits = Math.floor(progress * (end - start) + start);\n        else digits = progress * (end - start) + start;\n        this.counter[id] = isInt ? digits : digits.toFixed(2);\n        if (progress < 1) window.requestAnimationFrame(step);\n      };\n      window.requestAnimationFrame(step);\n    },\n    impersonate: (user) => {\n      this.api.impersonate(user.userId).then(() => {}).catch(error => { this.api.dialogError(error); });\n    }\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.search.init();\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  isLoading = false;\n  contextUser = null; // contains data of user on which we are operating\n  uploadSessionUuid = null;\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTableInterface().then(() => {\n      if (!this.params.id) {\n        this.initSearchInterface();\n      } else {\n        this.search();\n      }\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'anagrafiche-utenti-documenti-table',\n      client: this.api,\n      endpoint: null//`users/${this.params.id}/uploadable-certifiable-document-types`\n    });\n    return this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-documenti-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali documenti visualizzare?',\n          datasource: [\n            { value: 'USER', text: 'I miei documenti' },\n            { value: 'SUBUSER', text: 'I documenti dei miei ' + mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        subuser: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        }\n      },\n      data: { context: 'SUBUSER' }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    if (!this.params.id && this.searchInterface?.data?.context === 'USER') {\n      this.contextUser = { id: 'me' };\n      this.searchInterface.data.subuser = null;\n    } else if (!this.params.id && this.searchInterface?.data?.context === 'SUBUSER') {\n      this.contextUser = { id: this.searchInterface.data.subuser || null };\n    } else {\n      this.contextUser = { id: this.params.id || null };\n    }\n    if (!this.contextUser?.id) return;\n\n    this.isLoading = true;\n    this.tableInterface.endpoint = `users/${this.contextUser.id}/uploadable-certifiable-document-types`;\n    this.fetchUserData().then(() => {\n      (this.params.id ? this.tableInterface.load() : this.searchInterface.search()).then(() => {\n        this.alterData(this.tableInterface.data).then(data => {\n          this.tableInterface.data = data;\n        });\n      }).catch(error => {\n        console.error(error);\n      }).finally(() => {\n        this.isLoading = false;\n      });\n    });\n  }\n\n  fetchUserData() {\n    return new Promise((resolve, reject) => {\n      console.log('context', this.searchInterface?.data?.context);\n      if (this.params.id) {\n        resolve(); // this.contextUser.profile not needed if this.params.id\n      } else if (this.searchInterface?.data?.context === 'USER') {\n        resolve(this.contextUser.profile = this.api.user.profile);\n      } else if (this.searchInterface?.data?.context === 'SUBUSER') {\n        this.api.get(`users/me/users?include=user-profiles&id-in=${this.contextUser.id}`).then(xhr => {\n          resolve(this.contextUser.profile = xhr.response[0]?.profile[0]);\n        }).catch(error => {\n          reject(error);\n        });\n      }\n    });\n  }\n\n  alterData(data) {\n    return new Promise((resolve, reject) => {\n      data.forEach(documentType => {\n        documentType.documentsBucket = [];\n        documentType.notRefusedDocumentsCount = 0;\n        if (documentType.code === 'SUBUSER-MANDATE' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n          documentType.label = 'Verbale di nomina amministratore';\n        }\n      });\n      // Certifiable-document-buckets\n      this.api.get(`users/${this.contextUser.id}/certifiable-document-buckets/current`).then(xhr => {\n        let currentCertifiableDocumentBuckets = xhr.response;\n        this.uploadSessionUuid = currentCertifiableDocumentBuckets.uploadSessionUuid;\n        if (currentCertifiableDocumentBuckets.documents && currentCertifiableDocumentBuckets.documents.length) {\n          currentCertifiableDocumentBuckets.documents.forEach(document => {\n            // Approval/rejection date parse \n            if (document.approvedAt) document.approvedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.approvedAt);\n            if (document.refusedAt) document.refusedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.refusedAt);\n\n            if (data.find(documentType => documentType.code === document.code)) {\n              // Counting of non-REFUSED documents\n              if (!document.refusedAt) data.find(documentType => documentType.code === document.code).notRefusedDocumentsCount++;\n              data.find(documentType => documentType.code === document.code).documentsBucket.push(document);\n            }\n            if (data.find(documentType => documentType.code === 'MAV-VECTOR-CONTRACT') && document.code === 'MAV-VECTOR-CONTRACT-OLD-POPSO') {\n               data.find(documentType => documentType.code === 'MAV-VECTOR-CONTRACT').documentsBucket.push(document);\n            } \n          });\n        }\n        resolve(data);\n      }).catch(error => {\n        this.api.dialogError(error);\n        reject(error);\n      });\n    });\n  }\n\n  upload(type, document) {\n    this.dialog.open({\n      title: `${document ? 'Sostituisci' : 'Aggiungi'} documento`,\n      class: 'small utenti-dialog-documenti-upload',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-document-upload'),\n      viewModelParams: { userId: this.contextUser.id, uploadSessionUuid: this.uploadSessionUuid, type, document }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.toast.show(`Documento ${document ? 'sostituito' : 'caricato'} con successo!`, 'success');\n      }\n    });\n  }\n\n  approval(type, document) {\n    if (document && document.uploadedAt) {\n      this.dialog.open({\n        title: `Stato documento`,\n        class: 'small documenti-approval',\n        viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n        viewModelParams: { userId: this.contextUser.id, type, document }\n      }, true).whenClosed(response => {\n        let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n        if (!response.wasCancelled) {\n          this.search();\n          this.toast.show(`Documento ${certification} con successo!`, 'success');\n        }\n      });\n    }\n  }\n\n  delete(type, document) {\n    if (document.uuid) {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>${type.label}.</strong><br>Confermi di voler cancellare questo documento?` }).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.contextUser.id}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`).then(() => {\n            this.toast.show(`Documento eliminato con successo!`, 'success');\n            this.search();\n          }).catch(error => {\n            console.log('ERROR certifiable-documents - DELETE', error);\n            this.api.dialogError(error);\n          })\n        }\n      });\n    }\n  }\n\n  download(file) {\n    if (!file.downloadUri) return;\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(ENVIRONMENT.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    })\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n\n  toggleType(type) {\n    let typeRow = document.getElementById(type.code);\n    typeRow.classList.toggle('open');\n    let documentRows = document.querySelectorAll(`tr[data-type=\"${type.code}\"]`);\n    documentRows.forEach(row => {\n      setTimeout(() => {\n        if (typeRow.classList.contains('open') && !row.classList.contains('visible')) row.classList.add('visible');\n        else if (!typeRow.classList.contains('open') && row.classList.contains('visible')) row.classList.remove('visible');\n      }, 200);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewUtenti {\n  mdt = mdt;\n  migratePending;\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isAdvancedUser = this.api.hasRole('LIST_ANY_USER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n    this.isImpersonateUser = this.api.hasRole('IMPERSONATE_ANY_USER');\n    this.endpoint = this.isAdvancedUser ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    /* Table interface */\n    this.usersTableInterface = new TableInterface({\n      name: 'users-table',\n      client: this.api,\n      endpoint: this.isAdvancedUser ? 'bo/users' : 'users/me/users',\n      query: this.isAdvancedUser ? 'include=user-profiles,user-sponsors' : 'include=user-profiles'\n    });\n    this.usersTableInterface.initialize();\n\n    /* Table Search */\n    this.usersSearchInterface = new SearchInterface({\n      name: 'users-table-search',\n      table: this.usersTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          query: 'text-search',\n          label: 'Ricerca libera',\n          placeholder: 'Inserire almeno 3 caratteri'\n        },\n        group: { \n          control: 'combo',\n          label: 'Tipo accesso',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'user-group-in'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-3-uuid-in'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          query: 'zip-code-in'\n        },\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'business-type-in'\n        },\n        priceList: {\n          label: 'Listino', \n          control: 'combo',  \n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'price-list-code-in'\n        },\n        client: {\n          label: 'Gestionale', \n          control: 'combo',  \n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid-in'\n        },\n        registeredAtStart: {\n          label: 'Dal', \n          control: 'date',  \n          query: 'registered-at-gte'\n        },\n        registeredAtEnd: {\n          label: 'al', \n          control: 'date',  \n          query: 'registered-at-lte'\n        },\n        parent: {\n          label: 'Utente padre', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'parent-uuid-in'\n        },\n        reseller: {\n          label: 'Segnalatore', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&business-type-in=SYSTEM-BUSINESS-SCOUT`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'reseller-uuid-in'\n        },\n        status: {\n          label: 'Stato', \n          control: 'combo',  \n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'ACTIVE', text: 'Attivo'}, { value: 'NOT-ACTIVE', text: 'Non attivo'}, { value: 'ARCHIVED', text: 'Archiviato'}],\n          query: 'status'\n        },\n        sepaDirectDebit: {\n          label: 'SDD',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'null', text: 'Tutti'}, { value: 'TRUE', text: 'Attivo'}, { value: 'FALSE', text: 'Non attivo'}],\n          query: 'sepa-direct-debit'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n        registeredAtStart: null,\n        registeredAtEnd: null,\n        status: 'ACTIVE',\n        sepaDirectDebit: 'null'\n      }\n    });\n    \n    let promises = this.isAdvancedUser ? [\n      this.api.get('user-business-types').then(xhr => {\n        this.usersSearchInterface.schema.businessType.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-business-types - GET', error);\n        this.usersSearchInterface.schema.businessType.datasource = [];\n      }),\n      this.api.get('user-groups').then(xhr => {\n        this.usersSearchInterface.schema.group.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-groups - GET', error);\n        this.usersSearchInterface.schema.group.datasource = [];\n      }),\n      this.api.get('users/me/clients').then(xhr => {\n        this.usersSearchInterface.schema.client.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.client.datasource = [];\n      }),\n      this.api.get('bo/price-lists').then(xhr => {\n        this.usersSearchInterface.schema.priceList.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.priceList.datasource = [];\n      }),\n    ] : [ true /* ficca qui dentro eventuali altre promises */ ];\n    \n    Promise.all(promises).finally(() => {\n      this.usersSearchInterface.initialize();\n      setTimeout(() => {\n        if(!this.isAdvancedUser) this.ricerca();\n      }, 500);\n    });\n  }\n\n  importa() {\n    this.api.get(`users/me/billing-profiles/parent`).then(() => {\n      this.router.navigate(`anagrafiche/utenti/importazione`);\n    }).catch(error => {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Non è possibile procedere con l\\'importazione '+mdt.parsers.contextualize(this.api.user, 'utenti')+'.</strong><br>È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?'}).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.router.navigate(`anagrafiche/utenti/${this.api.user.id}/fatturazione`);\n        }\n      });\n    });\n  }\n\n  // Activate & Deactivate\n  attivazione(record) {\n    if (this._attivazionePending) return;\n    this._attivazionePending = true;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let endpoint = this.api.hasRole('MODIFY_ANY_USER_STATUS') ? `bo/users/${record.uuid}` : `users/me/users/${record.uuid}`;\n    new Promise((resolve, reject) => {\n      if (record.statusCode === 'ACTIVE') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Confermi di voler <strong>disattivare</strong> l'utente selezionato?<br>Verrà disattivato il rinnovo per tutti i servizi sottoscritti dal condominio.`\n        }).whenClosed(response => {\n          if (!response.wasCancelled) resolve();\n          else reject();\n        });\n      } else resolve();\n    }).then(() => {\n      this.api.patch(endpoint, { statusCode: record.statusCode === 'ACTIVE' ? 'NOT-ACTIVE' : 'ACTIVE' }).then(() => {\n        this.usersTableInterface.load().catch(error => { console.log('users-table-interface-load', error); });\n        this.toast.show(`Stato utente modificato con successo!`, 'success');\n      }).catch(error => { \n        if (error) { console.log('error', error); this.api.dialogError(error); } \n      });\n    }).catch(error => { \n      if (error) { console.log('error', error); this.api.dialogError(error); } \n    }).finally(() =>{\n      this._attivazionePending = false;\n      this.toast.consume();\n    });\n  }\n\n  // Archiving\n  archiviazione(id) {\n    return this.dialog.open({\n      title: 'Archiviazione utenti',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo'),\n      viewModelParams: { id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.ricerca();\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: record.id, view: 'anagrafica' });\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: 'new', view: 'anagrafica' });\n  }\n\n  impersonifica(record) {\n    this.api.impersonate(record.id).then(() => {}).catch(error => { this.api.dialogError(error); });\n  }\n\n  abbonamenti(record) {\n    this.router.navigateToRoute('servizi/abbonamenti', { id: record.id });\n  }\n\n  ricerca() {\n    this.usersSearchInterface.search();\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.usersSearchInterface.data)) this.usersSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  initGeo(type, init = false) {\n    console.log(`initGeo ${type} ${init?'initialization':''}`);\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/1/divisions`;\n      this.usersSearchInterface.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl1}`;\n      this.usersSearchInterface.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl2}`;\n      this.usersSearchInterface.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl3 = null;\n    }\n    this.usersSearchInterface.controls[type].control._initialized = true;\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    let query = null;\n    if (this.usersSearchInterface?.table?._query) query = `?${decodeURIComponent(decodeURIComponent(this.usersSearchInterface.table._query))}`;\n    let path = this.isAdvancedUser ? 'bo/users/export-users.csv' : 'users/export-users/mine.csv';\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  migrate(record) {\n    this.migratePending = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'migrate-subuser small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/migrate-subuser'),\n      viewModelParams: {uuid: record.uuid}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.ricerca();\n      this.migratePending = false;\n    });\n  }\n\n  findMigrationProfile(uuid) {\n    this.api.get(`bo/users?uuid-in=${uuid}`).then((xhr) => {\n      let profileId = xhr.response[0].id;\n      this.router.navigateToRoute('anagrafiche/utenti', {id: profileId, view: 'anagrafica'});\n    }).catch((error) => {\n      console.error('ERROR - bo/users?uuid-in GET', error);\n    });\n  }\n}\nexport class SponsorsFormatValueConverter {\n  toView(value) {\n    if (!value || !value.length) return;\n    let sponsors = [];\n    value.forEach(sponsor => {\n      let sponsorInitials = '['+sponsor.sponsorDisplayName.match(/(^\\w{2})/g)[0].toUpperCase()+']';\n      sponsors.push(`<span title=\"${sponsor.sponsorDisplayName}\">${sponsorInitials}</span>`);\n    });\n    return `Sponsors: ${sponsors.join('')}`;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\n\n@inject(Api, KaDialog, KaToast)\nexport class FatturazioneEditor {\n  mdt = mdt;\n  legalForms;\n  mavRequests;\n  taxPercentage;\n  legalFormTypes;\n  bankAccountInfo;\n  legalFormSelected;\n  billingProfileUuid;\n  billingProfileIban;\n  pendingInit = true;\n  hasProfileOwnership;\n  changeLegalFormPending;\n  checkSDDPassed = false;\n  pendingPopulateMissingData;\n  anagrafica = { data: {} };\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-Approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  resource = {\n    schema: {\n      label: {\n        control: 'text',\n        label: 'Etichetta'\n      },\n      legalFormCode: {\n        label: 'Forma giuridica',\n        control: 'combo',\n        datatext: 'label',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: [],\n        required: true\n      },\n      name: {\n        control: 'text',\n        label: 'Denominazione'\n      },\n      firstName: {\n        control: 'text',\n        label: 'Nome'\n      },\n      lastName: {\n        control: 'text',\n        label: 'Cognome'\n      },\n      fiscalCode: {\n        control: 'text',\n        label: 'Codice fiscale',\n      },\n      vatCode: {\n        control: 'text',\n        label: 'Partita IVA',\n      },\n      officeCode: {\n        control: 'text',\n        label: 'Codice Univoco Ufficio'\n      },\n      ipaCode: {\n        control: 'text',\n        label: 'Codice iPA'\n      },\n      contact: {\n        emailAddress: {\n          control: 'text',\n          label: 'Email'\n        },\n        phoneNumber: {\n          control: 'text',\n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text',\n          label: 'Fax'\n        }\n      },\n      location: {\n        streetAddress: {\n          control: 'text',\n          label: 'Indirizzo',\n          required: true\n        },\n        locality: {\n          control: 'text',\n          label: 'Località'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          required: true\n        },\n        admLvl1Uuid: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl2Uuid: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl3Uuid: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          required: true\n        }\n      },\n      payments: {\n        splitPaymentsEnabled: {\n          label: 'Pagamenti separati',\n          control: 'check',\n          description: 'Abilita pagamenti separati',\n        },\n        banking: {\n          lastFourIbanDigits: {\n            label: 'Codice verifica',\n            control: 'text',\n            min: 0,\n            max: 4\n          },\n          iban: {\n            label: 'IBAN',\n            control: 'text'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Domiciliazione bancaria (SDD)',\n            description: 'Abilita domiciliazione bancaria',\n            control: 'check'\n          }\n        }\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.mavRequest = new MavRequest(this.isOperator);\n  }\n\n  activate(params) {\n    this.userId = params.userId; // is always required\n    this.billingProfileUuid = params.profileUuid;\n    this.callback = params.callback || ((completed) => { });\n    this.navigateBack = params.navigateBack;\n    this.init();\n  }\n\n  async init() {\n    return this.getBankAccountInfo().then(() => {\n      return this.getUser().then(() => {\n        return this.setCompanyLegalFormCodeDatasource().finally(() => {\n          return this.load().then(() => {\n            if (this.billingProfileUuid) {\n              return this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n            }\n          });\n        });\n      });\n    });\n  }\n\n  async getBankAccountInfo() {\n    return new Promise((resolve, reject) => {\n      if (this.billingProfileUuid) {\n        return this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}/bank-accounts/current`).then((xhr) => {\n          let response = xhr.response;\n          return resolve(this.bankAccountInfo = response);\n        }).catch((error) => {\n          // Replies 404 if there is no iban and 409 if the iban is invalid\n          console.error('bank-accounts/current', error);\n          return resolve(error);\n        });\n      } else resolve();\n    });\n  }\n\n  async getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      // User profile\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n\n      // If there is no companyName\n      if (!response.profile?.holderName?.companyName && response.profile?.holderName?.lastname && response.profile?.holderName?.firstname) {\n        response.profile.holderName.companyName = `${response.profile.holderName.lastname} ${response.profile.holderName.firstname}`;\n      }\n\n      return this.anagrafica.data = response;\n    }).catch((xhr) => {\n      console.log('ERROR user-profile GET', xhr);\n      this.toast.show('Errore durante il caricamento dei dati', 'error');\n      throw xhr;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?applicable-to-user-uuid=${this.anagrafica.data.uuid}`)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalForms = xhrs[1]?.response || null;\n      this.legalFormTypes = xhrs[0]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.legalFormCode = Object.assign({}, this.resource.schema.legalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n      throw xhr;\n    });\n  }\n\n  async load() {\n    let promises = [];\n    if (this.billingProfileUuid) {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}`).then((xhr) => {\n        this.hasProfileOwnership = xhr.originalResponse.meta.isVisitor === 'NO' ? true : false;\n        this.resource.data = xhr.response;\n        if (this.anagrafica.data?.profile?.companyLegalFormCode && !this.resource.data.legalFormCode) {\n          this.resource.data.legalFormCode = this.anagrafica.data.profile.companyLegalFormCode;\n        }\n        if (this.resource.data.payments?.banking?.iban) {\n          this.resource.data.payments.banking.iban = this.billingProfileIban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n        }\n      }).catch((error) => {\n        console.log(`ERROR /billing-profiles - GET`, error);\n        this.callback();\n      }));\n    } else {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles`).then((xhr) => {\n        this.autoPopulate = !xhr.response.length;\n        if (this.autoPopulate) this.populate();\n        else this.resource.data = {\n          payments: { banking: {} },\n          legalFormCode: this.anagrafica.data.profile.companyLegalFormCode || null\n        }\n      }));\n    }\n    return Promise.all(promises).catch(xhr => {\n      console.log(`ERROR /billing-profiles - GET`, xhr);\n      this.toast.show('Errore durante il caricamento dei dati', xhr);\n      throw xhr;\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  mavAuthorizationRequests(userId, billingProfileUuid) {\n    if (!this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return;\n\n    this.mavRequests = [];\n    if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      if (!this.hasProfileOwnership) {\n        this.getMavAuthorizationRequest('privileged-user', userId, billingProfileUuid);\n      } else {\n        this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n      }\n    } else {\n      this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n    }\n  }\n\n  getMavAuthorizationRequest(context, userId, billingProfileUuid) {\n    if (context === 'trustee') {\n      return this.api.get(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations/mine`).then(xhr => {\n        this.mavRequests.push(xhr.response);\n      }).catch(error => {\n        // If it is \"Not found\" it means that there are no requests in progress.\n        console.log(`${error.statusCode === 404 ? 'ERROR 404 not-found' : 'ERROR'} mav-order-self-printing-authorizations/mine - GET`, error);\n        if (error.statusCode === 404) this.mavRequests = [];\n        else this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n    if (context === 'privileged-user') {\n      return this.api.get(`bo/users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`).then(xhr => {\n        this.mavRequests = xhr.response;\n      }).catch(error => {\n        console.log(`ERROR bo/ mav-order-self-printing-authorizations - GET`, error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n  }\n\n  mavCreateAuthorizationRequest($event, userId, billingProfileUuid) {\n    $event.model.busy = true;\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.mavAuthorizationRequests(userId, billingProfileUuid);\n        this.toast.show('Richiesta MAV creata con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n      this.callback({ ownerLegacyId: this.userId, uuid: this.billingProfileUuid });\n    });\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(status) {\n    return (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && ['PENDING-DOCUMENT-DOWNLOAD', 'PENDING-APPROVAL', 'PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status)) || (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && status === 'ACTIVE');\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.operatorDeleteMAVRequest($event, request.uuid);\n        }\n        else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.userDeleteMAVRequest($event, request);\n        }\n      }\n    });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${this.userId}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    if (this.resource.data?.location) {\n      for (const key in this.resource.data.location) {\n        if (key.match(/admLvl(\\d)$/)) delete this.resource.data.location[key];\n      }\n    }\n    if (this.resource.data.payments?.banking?.iban) {\n      this.resource.data.payments.banking.iban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n    }\n    if (this.resource.data.uuid) {\n      this.isVisibleForTheSelectedLegalForm('vatCode');\n      this.isVisibleForTheSelectedLegalForm('fiscalCode');\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles/${this.resource.data.uuid}`, 'put').then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - PUT', error);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    } else {\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles`, 'post').then(x => {\n        this.toast.show('Profilo creato con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - POST', error);\n        this.toast.show('Errore nella creazione del profilo!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  cancel() {\n    this.callback();\n  }\n\n  checkSDD() {\n    konsole.log('checkSDD', this.resource.data.payments.banking.sepaDirectDebitEnabled, this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS'));\n    this.checkSDDPassed = !this.resource.data.payments.banking.sepaDirectDebitEnabled && this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS').length === 1;\n    konsole.log('checkSDDPassed', this.checkSDDPassed);\n  }\n\n  changeLegalForm() {\n    this.changeLegalFormPending = true;\n    setTimeout(() => {\n      let legalFormCodeFound = this.resource.schema.legalFormCode.datasource.find(x => x.code === this.resource.data.legalFormCode);\n      this.taxPercentage = legalFormCodeFound ? legalFormCodeFound.taxPercentage : null;\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.legalFormCode) || null;\n      this.resource.data.legalFormType = this.legalFormSelected?.type || null;\n\n      this.setFieldSchemaRequired(['name'], 'companyNameNeeded');\n      this.resetUnrequiredFieldData(['name'], 'companyNameNeeded');\n      this.setFieldSchemaRequired(['vatCode'], 'vatCodeNeeded');\n      this.resetUnrequiredFieldData(['vatCode'], 'vatCodeNeeded');\n      this.setFieldSchemaRequired(['fiscalCode'], 'fiscalCodeNeeded');\n      this.resetUnrequiredFieldData(['fiscalCode'], 'fiscalCodeNeeded');\n      this.setFieldSchemaRequired(['firstName', 'lastName'], 'personNameNeeded');\n      this.resetUnrequiredFieldData(['firstName', 'lastName'], 'personNameNeeded');\n\n      // Advice when creating a profile\n      if (this.resource.data.legalFormType === 'BUILDING' && this.anagrafica.data?.profile?.businessType !== 'BUILDING') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Si sconsiglia di inserire profili di fatturazione di condomini su utenti che non sono di tipo condominio, si intende procedere lo stesso?`\n        });\n      }\n      this.changeLegalFormPending = false;\n    }, 0);\n  }\n\n  isVisibleForTheSelectedLegalForm(necessityStatement) {\n    return ['OPTIONAL', 'REQUIRED', 'YES'].includes(this.legalFormSelected?.[`${necessityStatement}`]);\n  }\n\n  setFieldSchemaRequired(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (this.resource.schema[property] && this.legalFormSelected?.[`${necessityStatement}`]) {\n        this.resource.schema[property].required = ['REQUIRED', 'YES'].includes(this.legalFormSelected[`${necessityStatement}`]);\n      }\n    });\n  }\n\n  resetUnrequiredFieldData(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (!this.isVisibleForTheSelectedLegalForm(necessityStatement)) {\n        delete this.resource.data[property];\n      }\n    });\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n\n    childControl = this.resource.resource.controls[`location.${childField}`];\n    childSchema = this.resource.schema.location[childField];\n    childData = this.resource?.data?.location;\n    countryCode = childData ? childData['countryCode'] : null;\n    admLvls = this.resource.resource.controls['location.countryCode'].objectValue?.administrativeLevels;\n\n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n\n  populate() {\n    const profile = this.anagrafica?.data?.profile;\n    if (profile) {\n      const holderName = profile?.holderName;\n      const location = profile?.location;\n\n      if (!this.billingProfileUuid) {\n        this.resource.data = {\n          ...this.resource.data,\n          ...((this.isVisibleForTheSelectedLegalForm('vatCodeNeeded') && profile?.vatCode) && { vatCode: profile.vatCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.lastname) && { lastName: holderName.lastname }),\n          ...((this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded') && profile?.fiscalCode) && { fiscalCode: profile.fiscalCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('companyNameNeeded') && holderName.companyName) && { name: holderName.companyName }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.firstname) && { firstName: holderName.firstname }),\n          contact: {\n            ...(profile?.email && { emailAddress: profile.email }),\n            ...(profile?.faxNumber && { faxNumber: profile.faxNumber }),\n            ...(profile?.mobilePhoneNumber && { phoneNumber: profile.mobilePhoneNumber })\n          },\n          location: {\n            ...(location?.zipCode && { zipCode: location.zipCode }),\n            ...(location?.locality && { locality: location.locality }),\n            ...(location?.countryCode && { countryCode: location.countryCode }),\n            ...(location?.admLvl1Uuid && { admLvl1Uuid: location.admLvl1Uuid }),\n            ...(location?.admLvl2Uuid && { admLvl2Uuid: location.admLvl2Uuid }),\n            ...(location?.admLvl3Uuid && { admLvl3Uuid: location.admLvl3Uuid }),\n            ...(location?.streetAddress && { streetAddress: location.streetAddress })\n          }\n        };\n        return this.toast.show('Dati recuperati con successo!', 'success');\n      } else {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        return this.populateMissingData(profile);\n      }\n    } else {\n      if (!profile) return this.toast.show('Errore. Impossibile recuperare i dati!', 'error');\n    }\n  }\n\n  flattenResource(property) {\n    property = structuredClone(property);\n    if (property?.contact) {\n      Object.assign(property, property.contact);\n      delete property.contact;\n    }\n    if (property?.location) {\n      Object.assign(property, property.location);\n      delete property.location;\n    }\n    delete property.label;\n    delete property.ipaCode;\n    delete property.payments;\n    delete property.officeCode;\n    return property;\n  }\n\n  populateMissingData(profile, data = structuredClone(this.resource.data)) {\n    let admLvl1Uuid;\n    let admLvl2Uuid;\n    let admLvl3Uuid;\n    let promises = [];\n    this.pendingPopulateMissingData = true;\n    const contact = ['emailAddress', 'phoneNumber', 'faxNumber'];\n    const schema = Object.keys(this.flattenResource(this.resource.schema));\n    const location = ['streetAddress', 'locality', 'zipCode', 'countryCode', 'admLvl1Uuid', 'admLvl2Uuid', 'admLvl3Uuid'];\n    schema.forEach((key) => {\n      if (location.includes(key)) {\n        if ([null, undefined].includes(data?.location?.[key])) {\n          switch (key) {\n            case 'zipCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.zipCode && { [key]: profile.location?.zipCode })\n              }\n              break;\n            case 'locality':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.locality && { [key]: profile.location.locality })\n              }\n              break;\n            case 'countryCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.countryCode && { [key]: profile.location?.countryCode })\n              }\n              break;\n            case 'admLvl1Uuid':\n              if (profile.location.admLvl1Uuid) admLvl1Uuid = profile.location?.admLvl1Uuid;\n              break;\n            case 'admLvl2Uuid':\n              if (profile.location.admLvl2Uuid) admLvl2Uuid = profile.location?.admLvl2Uuid;\n              break;\n            case 'admLvl3Uuid':\n              if (profile.location?.admLvl3Uuid) admLvl3Uuid = profile.location.admLvl3Uuid;\n              break;\n            case 'streetAddress':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.streetAddress && { [key]: profile.location.streetAddress })\n              }\n              break;\n          }\n        }\n      } else if (contact.includes(key)) {\n        if ([null, undefined].includes(data?.contact?.[key])) {\n          switch (key) {\n            case 'faxNumber':\n              data.contact = {\n                ...data.contact,\n                ...(profile.faxNumber && { [key]: profile.faxNumber })\n              }\n              break;\n            case 'emailAddress':\n              data.contact = {\n                ...data.contact,\n                ...(profile.email && { [key]: profile.email })\n              }\n              break;\n            case 'phoneNumber':\n              data.contact = {\n                ...data.contact,\n                ...((profile.mobilePhoneNumber || profile.phoneNumber) && { [key]: profile.mobilePhoneNumber || profile.phoneNumber })\n              }\n              break;\n          }\n        }\n      } else {\n        if ([null, undefined].includes(data[key])) {\n          if (key === 'vatCode' && this.isVisibleForTheSelectedLegalForm('vatCodeNeeded')) {\n            if (profile.vatCode) data[key] = profile.vatCode;\n          } else if (key === 'name' && this.isVisibleForTheSelectedLegalForm('companyNameNeeded')) {\n            if (profile.holderName?.companyName) data[key] = profile.holderName.companyName;\n          } else if (key === 'fiscalCode' && this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')) {\n            if (profile.fiscalCode) data[key] = profile.fiscalCode;\n          } else if (this.isVisibleForTheSelectedLegalForm('personNameNeeded')) {\n            switch (key) {\n              case 'firstName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.firstname && { firstName: profile.holderName.firstname })\n                }\n                break;\n              case 'lastName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.lastname && { lastName: profile.holderName.lastname })\n                }\n                break;\n            }\n          }\n        }\n      }\n    });\n    this.resource.data = data;\n    if (admLvl1Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl1Uuid = admLvl1Uuid; resolve() }, 500) })\n    );\n    if (admLvl2Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl2Uuid = admLvl2Uuid; resolve() }, 1000) })\n    );\n    if (admLvl3Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl3Uuid = admLvl3Uuid; resolve() }, 1500) })\n    );\n    Promise.all(promises).finally(() => {\n      setTimeout(() => {\n        this.pendingPopulateMissingData = false;\n        this.toast.show('Dati mancanti recuperati con successo!', 'success');\n      }, 500);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast, Router)\nexport class vmFatturazione {\n  mdt = mdt;\n  legalForms = [];\n  isInitializing = true;\n  isLoading = false;\n  isSetAsDefaultLoading;\n  staticTooltipMavAuthorization = {\n    subtitle: 'Autorizzazioni stampa di bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  // Selected (checked) billing profiles\n  selectedBillingProfiles = {\n    allSelected: false,\n    list: [],\n    select: (record) => {\n      if (record?.payments?.banking?.sepaDirectDebitEnabled) return;\n      let selected = [...this.selectedBillingProfiles.list];\n\n      // Referenced to tableInterface.data (record is referenced to selected)\n      let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n      let selectedProfile = selected.find(x => x.uuid === record.uuid) || null;\n\n      // Reset the IBAN field (only newIban)\n      profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n      // Remove error messages\n      profile.errors = null;\n\n      // Remove errors from the record control\n      if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n      // If the record is selected, it removes it, otherwise it adds it\n      if (selected.length && selectedProfile) selected.splice(selected.findIndex(x => x.uuid === record.uuid), 1);\n      else selected.push(record);\n\n      return this.selectedBillingProfiles.list = [...selected];\n    },\n    selectAll: () => {\n      let records = this.tableInterface.data.filter(x => x.payments?.banking?.sepaDirectDebitEnabled === false) || null;\n      if (!records) return;\n      let selected = [...this.selectedBillingProfiles.list];\n      if (records.length > selected.length) {\n        selected = [];\n        records.forEach(record => {\n          // Referenced to tableInterface.data (record is referenced to selected)\n          let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n\n          // Reset the IBAN field (only newIban)\n          profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n          // Remove error messages\n          profile.errors = null;\n\n          // Remove errors from the record control\n          if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n          selected.push(record);\n        });\n        this.selectedBillingProfiles.allSelected = true;\n        return this.selectedBillingProfiles.list = [...selected];\n      } else {\n        selected = [];\n        this.selectedBillingProfiles.allSelected = false;\n        return this.selectedBillingProfiles.list = [...selected];\n      }\n    },\n    activeSdd: ($event) => {\n      let promises = [];\n      let selected = [...this.selectedBillingProfiles.list];\n      if (!selected.length) return;\n\n      $event.model.busy = true;\n      selected.forEach((record, index) => {\n        // Referenced to tableInterface.data (record is referenced to selected)\n        let profile = this.tableInterface.data.find(x => x.uuid === record.uuid);\n\n        // Delete all errors\n        profile.errors = null;\n\n        let data = { payments: { banking: { sepaDirectDebitEnabled: true } } };\n        if (profile.payments?.banking?.newIban || profile.payments?.banking?.oldIban) data.payments.banking.iban = profile.payments.banking.newIban || profile.payments.banking.oldIban;\n\n        promises.push(\n          this.api.patch(`users/${record.ownerLegacyId}/billing-profiles/${record.uuid}`, data).then(() => {\n            profile.payments.banking.sepaDirectDebitEnabled = true;\n\n            // Remove record from selected list\n            this.selectedBillingProfiles.list.splice(this.selectedBillingProfiles.list.findIndex(x => x.uuid === record.uuid), 1);\n            this.selectedBillingProfiles.allSelected = false;\n          }).catch(xhr => {\n            console.log('ERROR billing-profiles PATCH', xhr);\n\n            // All the errors received\n            let errorPayload = mdt.parsers.apiError(xhr, selected[index].controls, ['payments.banking.iban', 'payments.banking.sepaDirectDebitEnabled']);\n            profile.errors = errorPayload.body || null;\n          })\n        );\n      });\n      return Promise.all(promises).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  // Editor fatturazione\n  editor = {\n    view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n    model: null,\n    callback: (billingProfile) => {\n      this.editor.model = null;\n      if (billingProfile) {\n        setTimeout(() => { this.edit(billingProfile); }, 0);\n      } else if (!this.tableInterface) {\n        this.router.navigate(`anagrafiche/utenti/${this.params.id}/fatturazione`, { replace: true });\n      } else {\n        if (this.params.id) {\n          this.load();\n        } else {\n          this.search();\n        }\n      }\n    }\n  }\n\n  // Payments (Sdi code)\n  sdiEnabled = false;\n  resource = {\n    controls: {},\n    schema: {\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI',\n          control: 'text'\n        },\n        genericSubuserCode: {\n          control: 'text'\n        }\n      }\n    },\n    data: {\n      sdi: {\n        code: null,\n        genericSubuserCode: null\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast, router) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n\n    this.privileges = {\n      isAdmin: this.api.hasRole('LIST_USER_BILLING_PROFILE'),\n      isOperator: this.api.hasRole('LIST_ANY_USER_BILLING_PROFILE')\n    };\n\n    this.searchContext = new SearchContext();\n    this.mavRequest = new MavRequest(this.privileges.isOperator);\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    if (this.params.id) {\n      if (this.params.profileUuid && this.params.source === 'sent-mavs') {\n        return this.edit({ ownerLegacyId: this.params.id, uuid: this.params.profileUuid });\n      }\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchContextUser(this.params.id);\n      this.load();\n    } else {\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchInterface();\n      this.search();\n    }\n  }\n\n  initSearchContextUser(id) {\n    if ([String(this.api.user.id), 'me'].includes(id)) return Promise.resolve(this.searchContext.user = this.api.user);\n    else return this.api.get(`${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&id-in=${id}`).then(xhr => {\n      let response = xhr.response[0];\n      response.profile = response.profile[0];\n      this.searchContext.user = response;\n    });\n  }\n\n  initLegalForms() {\n    return this.api.get('legal-forms').then(xhr => {\n      xhr.response.forEach(legalForm => {\n        this.legalForms[legalForm.code] = legalForm.label;\n      });\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: `anagrafiche-utenti-fatturazione-table-${this.params.id}`,\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach(profile => {\n        profile.controls = { 'payments.banking.iban': null };\n        profile.payments.banking.oldIban = profile.payments.banking.newIban = profile.payments.banking.iban || null;\n      });\n      return response;\n    };\n\n    // reset selected profiles counter & checkboxes\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      this.selectedBillingProfiles.list = [];\n      this.selectedBillingProfiles.allSelected = false;\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-fatturazione-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali profili di fatturazione visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: []\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?status=ACTIVE&include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        fiscal_code: {\n          label: 'Codice fiscale/Partita Iva',\n          control: 'text',\n          query: 'fiscal-code'\n        },\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban'\n        },\n        sdd: {\n          label: 'Domiciliazione bancaria (SDD)',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti' },\n            { value: 'YES', text: 'Attiva' },\n            { value: 'NO ', text: 'Non attiva' }\n          ],\n          datamultiple: false,\n          query: 'sdd-active'\n        },\n        mav_authorization_status: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          datavalue: 'status',\n          label: 'Richiesta di autorizzazione MAV',\n          query: 'mav-self-printing-authorization-status-in',\n          datasource: this.mavRequest.setDatasourceMavAuthorizationStatus([{ status: 'NONE', text: 'Nessuna richiesta' }])\n        }\n      },\n      data: {}\n    });\n\n    this.setDefaultSearchInterfaceData();\n    this.updateContextDatasource();\n    this.searchContext.searchInterface = this.searchInterface;\n    return this.searchInterface.initialize();\n  }\n\n  setDefaultSearchInterfaceData() {\n    return this.searchInterface.data = {\n      sdd: 'null',\n      user_active: true,\n      mav_authorization_status: 'null',\n      context: this.privileges.isOperator ? 'USER' : 'SUBUSERS'\n    }\n  }\n\n  load() {\n    this.updateTableInterfaceEndpoint();\n    this.tableInterface.load().then(() => {\n      this.getPaymentPreferences();\n    });\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search().then(() => {\n      this.lastSearchContext = new SearchContext(this.searchContext.user, { data: structuredClone(this.searchInterface.data) });\n    });\n  }\n\n  updateTableInterfaceEndpoint() {\n    const suffix = (this.searchContext.isChildUsers && (this.privileges.isOperator || !this.searchContext.hasUser)) ? '/~subs' : '';\n    return this.tableInterface.endpoint = (this.privileges.isOperator && !this.searchContext.hasUser) ? 'bo/billing-profiles/' : `users/${this.searchContext.user?.id || 'me'}/billing-profiles${suffix}`;\n  }\n\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchContext.isChildUsers && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchContext.isChildUsers && !this.searchContext.hasUser && this.searchInterface.data.user_active;\n    return this.tableInterface.query = (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) ? `owner-status-in=ACTIVE` : null;\n  }\n\n  updateContextDatasource() {\n    if (!this.privileges.isOperator) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    } else if (this.searchContext.user?.parentId) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'utente')}` },\n      ];\n      this.searchInterface.data.context = 'USER';\n    } else {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei suoi ${mdt.parsers.contextualize(this.searchContext.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    }\n  }\n\n  searchContextChange() {\n    if (!this.privileges.isOperator && this.searchInterface?.data?.context === 'USER') {\n      this.searchInterface.data.user = null;\n      this.searchContext.user = null;\n    }\n  }\n  async searchContextUserChange() {\n    if (this.searchInterface.data.user && this.searchInterface.controls.user.control.valueModel?.profile) {\n      this.searchContext.user = Object.assign({}, this.searchInterface.controls.user.control.valueModel, { profile: this.searchInterface.controls.user.control.valueModel.profile[0] });\n    } else if (this.searchInterface.data.user) {\n      await this.initSearchContextUser(this.searchInterface.data.user);\n    } else {\n      this.searchContext.user = null;\n\n    }\n    this.updateContextDatasource();\n  }\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  resetSearch() {\n    this.setDefaultSearchInterfaceData();\n    this.search();\n  }\n\n  get profileContextInfo() {\n    if (!this.lastSearchContext) return;\n    let label;\n    switch (true) {\n      case this.lastSearchContext.isChildUsers:\n        label = 'dell\\'utente';\n        break;\n      case this.lastSearchContext.hasUser && !this.lastSearchContext.isUserMaster:\n        label = 'dell\\'utente';\n        break;\n      default:\n        label = 'dell\\'account';\n    }\n    return this.mdt.parsers.contextualize(this.lastSearchContext?.user || this.api.user, label);\n  }\n\n  createProfile() {\n    if (this.searchContext.user.parentId) {\n      this.isLoading = true;\n      this.api.get(`users/${this.searchContext.user.id}/billing-profiles/parent`).then(() => {\n        this.isLoading = false;\n        this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n      }).catch(error => {\n        console.warn(error);\n        this.isLoading = false;\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: '<strong>Non è possibile creare un profilo di fatturazione per questo ' + mdt.parsers.contextualize(this.api.user, 'utente') + '.</strong><br><div class=\"dialog-p mt-2\">È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?</div>'\n        }).whenClosed(response => {\n          if (!response.wasCancelled) this.router.navigate(`anagrafiche/utenti/${this.searchContext.user.parentId}/fatturazione`);\n        });\n      });\n    } else {\n      this.isLoading = false;\n      this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n    }\n  }\n\n  edit(billingProfile) {\n    this.editor.model = {\n      userId: billingProfile.ownerLegacyId,\n      profileUuid: billingProfile.uuid,\n      callback: this.editor.callback,\n      navigateBack: this.params.source === 'sent-mavs' ? () => this.router.navigate('riscossioni/mav-inviati') : null\n    };\n  }\n\n  delete(billingProfile) {\n    let forceEnabled = this.tableInterface.data.length === 1 && this.api.hasRole('DELETE_LAST_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS');\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'delete-billing-profile small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile'),\n      viewModelParams: { forceEnabled }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${this.searchContext.user.id}/billing-profiles/${billingProfile.uuid}${response.output ? '/YES' : ''}`).then(() => {\n          this.toast.show('Profilo eliminato con successo!', 'success');\n          if (this.params.id) this.load();\n          else this.search();\n        }).catch(error => {\n          console.error(error);\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  setAsDefault(billingProfile) {\n    const userId = billingProfile.ownerLegacyId;\n    const billingProfileUuid = billingProfile.uuid;\n\n    if (this.isSetAsDefaultLoading !== true) {\n      this.isSetAsDefaultLoading = true;\n\n      return this.getBillingProfile(userId, billingProfileUuid).then(() => {\n        this.patchDefault(userId, billingProfileUuid).then(() => {\n          this.toast.show('Profilo aggiornato con successo!', 'success');\n          this.params.id ? this.load() : this.search();\n        }).catch((error) => {\n          throw new Error(error);\n        }).finally(() => {\n          this.isSetAsDefaultLoading = false;\n        });\n      }).catch((error) => {\n        console.error('setAsDefault', error);\n        this.api.dialogError(error);\n        this.isSetAsDefaultLoading = false;\n      })\n    }\n  }\n  patchDefault(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}/default`;\n    return this.api.patch(endpoint, {});\n  }\n  getBillingProfile(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}`;\n    return this.api.get(endpoint);\n  }\n\n  getPaymentPreferences() {\n    return new Promise((resolve, reject) => {\n      if (this.searchContext.user.parentId) {\n        this.api.get(`users/${this.searchContext.user.id}/preferences`).then(xhr => {\n          let data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n          // !!! Se apro un condominio, devo gestire il campo sdi con una logica particolare (vedi sezione analoga in pagamenti.js)\n          // nel caso l'utente sia il condominio stesso, non faccio nulla\n          if ([this.api.user.id, 'me'].includes(this.params.id)) return this.resource.data = data;\n          // nel caso sdi = null creo l'oggetto, vuoto.\n          if (!data.sdi) data.sdi = { code: null, genericSubuserCode: null };\n          // se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio.\n          if (xhr.response.requested?.payment?.sdi?.code) data.sdi.code = xhr.response.requested.payment.sdi.code;\n          // in tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore.\n          // else data.sdi.code = data.sdi?.genericSubuserCode;\n          resolve(this.resource.data = data);\n        }).catch(error => {\n          reject(error);\n          this.api.dialogError(error);\n        });\n      } else {\n        resolve();\n      }\n    });\n  }\n\n  saveBillingProfileIban(profile) {\n    let data = { payments: { banking: { iban: profile.payments.banking.newIban || null } } };\n    this.api.patch(`users/${profile.ownerLegacyId}/billing-profiles/${profile.uuid}`, data).then(() => {\n      this.toast.show('Codice IBAN impostato con successo', 'success');\n      this.searchInterface.search();\n    }).catch(xhr => {\n      if (profile.controls['payments.banking.iban']) mdt.parsers.apiError(xhr, profile.controls);\n    });\n  }\n\n  saveCustomSdi($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { sdi: { code: this.resource.data.sdi.code } };\n      this.api.patch(`users/${this.searchContext.user.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.sdiEnabled = !this.sdiEnabled;\n        this.getPaymentPreferences();\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n      this.sdiEnabled = !this.sdiEnabled;\n      this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n    });\n  }\n\n  mavCreateAuthorizationRequest(userId, billingProfileUuid) {\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n    }\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(profile) {\n    const banking = profile?.payments?.banking;\n    if (banking) {\n      return this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && banking.mavSelfPrintingAuthorizationStatus === 'ACTIVE' && banking.mavSelfPrintingAuthorizationUuid;\n    }\n  }\n  dialogDeleteMavRequest(profile) {\n    const mavSelfPrintingAuthorizationUuid = profile.payments?.banking?.mavSelfPrintingAuthorizationUuid;\n    const body = '<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>';\n    if (mavSelfPrintingAuthorizationUuid) {\n      this.dialog.open({\n        body,\n        class: 'small',\n        type: 'confirm',\n        title: 'Attenzione!'\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) this.deleteMavRequest(mavSelfPrintingAuthorizationUuid);\n      });\n    }\n  }\n  deleteMavRequest(mavSelfPrintingAuthorizationUuid) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${mavSelfPrintingAuthorizationUuid}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta di autorizzazione dismessa con successo', 'success');\n    }).catch((error) => {\n      this.toast.consume();\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest(userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n      });\n    } else {\n      this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest(userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.params.id ? this.load() : this.search();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n\nclass SearchContext {\n  #user = null;\n  #searchInterface = null;\n  constructor(user, searchInterface) {\n    if (user) this.#user = user;\n    if (searchInterface) this.#searchInterface = searchInterface;\n  }\n  set searchInterface(value) {\n    this.#searchInterface = value;\n  }\n  set user(value) {\n    return this.#user = value;\n  }\n  get user() {\n    return /*this.#searchInterface?.controls?.user?.control?.valueModel ||*/ this.#user || null;\n  }\n  get isRequestedUser() {\n    return this.#searchInterface?.data?.context === 'USER';\n  }\n  get isChildUsers() {\n    return this.#searchInterface?.data?.context === 'SUBUSERS';\n  }\n  get hasUser() {\n    return this.user !== null;\n  }\n  get isUserMaster() {\n    return this.user?.group === 'MASTER_USER';\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewUtentiImportazione {\n  endpoint = 'users/me/users';\n  records = false;\n  loading = false;\n  selectAllProfile = true;\n  selectAllBilling = true;\n  autocomplete = true;\n  importStatus = {\n    promises: [],\n    errors: [],\n    pending: false,\n    profile: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    },\n    billing: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    }\n  };\n  schema = {\n    userData: {\n      profile: {\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          colClassName: 'medium_size'\n        },\n        displayName: {\n          label: 'Denominazione',\n          control: 'text',\n          colClassName: 'max_size'\n        },\n        holderName: {\n          companyName: {\n            label: 'Ragione sociale',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n        },\n        fiscalCode: {\n          label: 'Codice fiscale',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        location: {\n          countryCode: {\n            label: 'Nazione', \n            control: 'text', \n            min: 2,\n            max: 2,\n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [],\n            colClassName: 'medium_size'\n          },\n          admLvl1: { \n            label: 'Regione', \n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl2: { \n            label: 'Provincia',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl3: {\n            label: 'Comune',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text'\n          },\n          locality: {\n            label: 'Località',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          streetAddress: {\n            label: 'Indirizzo',\n            control: 'text',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    },\n    billingProfileData: {\n      type: {\n        label: 'Tipo profilo fatturazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        colClassName: 'medium_size'\n      },\n      name: {\n        label: 'Denominazione',\n        control: 'text',\n        colClassName: 'max_size'\n      },\n      fiscalCode: {\n        label: 'Codice fiscale',\n        control: 'text',\n        colClassName: 'medium_size'\n      },\n      location: {\n        countryCode: {\n          label: 'Nazione',\n          control: 'text',\n          min: 2,\n          max: 2,\n          datatext: 'name',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: []\n        },\n        admLvl1: { \n          label: 'Regione', \n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl2: { \n          label: 'Provincia',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text'\n        },\n        locality: {\n          label: 'Località',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        streetAddress: {\n          label: 'Indirizzo',\n          control: 'text',\n          colClassName: 'max_size'\n        }\n      },\n      payments: {\n        banking: {\n          iban: {\n            label: 'IBAN',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Abilita',\n            control: 'check',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    }\n  }\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.api.get('user-business-types').then(xhr => {\n      this.schema.userData.profile.businessType.datasource = xhr.response;\n    });\n    this.api.get('geo/countries').then(xhr => {\n      this.schema.userData.profile.location.countryCode.datasource = xhr.response;\n      this.schema.billingProfileData.location.countryCode.datasource = xhr.response;\n    });\n    this.api.get('billing-profile-types').then(xhr => {\n      this.schema.billingProfileData.type.datasource = xhr.response;\n    });\n  }\n  attached() {\n    \n  }\n  objToArray(obj) {\n    return Object.entries(obj);\n  }\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result,\n        fillBillingProfileWithUserProfileValues: this.autocomplete\n      };\n      this.api.post('users/me/users/bulk-import-requests', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n        this.api.get(`users/me/users/bulk-import-requests/${x.response.id}/items`).then(xhr => {\n          this.selectAllProfile = true;\n          this.selectAllBilling = true;\n          this.importStatus.pending = false;\n          this.importStatus.profile.countImported = this.importStatus.billing.countImported = null;\n          this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = null;\n          this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = null;\n          let records = xhr.response;\n          for (let record of records) {\n            record.profile = { _selected: true, _imported: false, controls: {} };\n            record.billing = { _selected: true, _imported: false, controls: {} };\n            if (!record.userData.profile.location.countryCode) record.userData.profile.location.countryCode = 'IT';\n            if (!record.billingProfileData.location.countryCode) record.billingProfileData.location.countryCode = 'IT';\n            if (record.matchedUserUuid) record.profile._status = 'duplicated';\n            if (record.matchedBillingProfileUuid) record.billing._status = 'duplicated';\n            if (record.billingProfileData.payments?.banking?.iban && record.billingProfileData.payments?.banking?.iban.length > 0) record.billingProfileData.payments.banking.sepaDirectDebitEnabled = true;\n          }\n          this.records = records;\n          this.countSelected();\n          setTimeout(() => {\n            this.importTable.querySelector('colgroup col.profile').animate([{width: 'calc(100% / 12)'}], { duration: 500, easing: 'ease-in' }).onfinish = () => {\n              this.importTable.classList.add('expanded');\n            };\n          }, 0);\n        }).finally(() => {\n          this.loading = false;\n        });\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.parameter === 'data.attributes.fileData') {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigate('anagrafiche/utenti');\n    this.records = false;\n  }\n  add() {\n    this.records.push({\n      profile: { _selected: true, _imported: false, controls: {} },\n      billing: { _selected: true, _imported: false, controls: {} },\n      userData: {\n        profile: {\n          holderName: {},\n          location: {}\n        }\n      },\n      billingProfileData: {\n        location: {},\n        payments: {\n          banking: {}\n        }\n      }\n    });\n  }\n  toggleAllProfile(value) {\n    for (let record of this.records) {\n      record.profile._selected = value;\n      record.billing._selected = record.profile._selected;\n    }\n    this.countSelected();\n  }\n  toggleAllBilling(value) {\n    for (let record of this.records) {\n      record.billing._selected = value;\n    }\n    this.countSelected();\n  }\n  selectProfile(record) {\n    record.billing._selected = record.profile._selected;\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  selectBilling(record) {\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  countSelected() {\n    this.importStatus.profile.countSelected = this.records.filter(x => x.profile._selected).length;\n    this.importStatus.billing.countSelected = this.records.filter(x => x.billing._selected).length;\n  }\n  resetErrors() {\n    for (let record of this.records) {\n      for (let [field, item] of Object.entries(record.profile.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n      for (let [field, item] of Object.entries(record.billing.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n    }\n  }\n  importa() {\n    this.resetErrors();\n    this.importStatus.pending = true;\n    this.importStatus.promises = [];\n    this.importStatus.errors = [];\n    this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = 0;\n    this.importStatus.profile.countImported = this.importStatus.billing.countImported = 0;\n    this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = 0;\n    for (let record of this.records) {\n      this.importStatus.promises.push(this.importProfile(record));\n    }\n    Promise.all(this.importStatus.promises).finally(() => {\n      this.importStatus.pending = false;\n      if (this.importStatus.errors.length) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Si sono verificati i seguenti errori:</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + this.importStatus.errors.join('<br>') + '</div>'});\n\n    });\n  }\n  importProfile(record) {\n    if (record.profile._selected && record.profile._status !== 'success' && !record.profile._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.profile.countProcessing += +1;\n      record.profile._status = 'pending';\n      record.profile._disabled = record.billing._disabled = true;\n      let data = JSON.parse(JSON.stringify(record.userData));\n      data.group = 'BASIC_USER';\n      data = mdt.helpers.removeEmptyAttributes(data);\n      \n      if (update && record.matchedUserUuid) {\n        api = this.api.put(`users/me/users/${record.matchedUserUuid}`, data);\n      }\n      else {\n        api = this.api.post('users/me/users', data);\n      }\n      return api.then(xhr => {\n        record.profile._status = 'success';\n        this.importStatus.profile.countProcessing += -1;\n        this.importStatus.profile.countImported += +1;\n        record.profile._imported = true;\n        record._user = xhr.response.id;\n        this.importStatus.promises.push(this.importBilling(record));\n      }, xhr => {\n        record.profile._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.profile.countProcessing += -1;\n        record.profile._disabled = record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.profile.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else if (record.billing._selected && record.profile._status === 'success' && !record.billing._imported) {\n      return this.importBilling(record);\n    }\n  }\n  importBilling(record) {\n    if (record.billing._selected && record.billing._status !== 'success' && !record.billing._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.billing.countProcessing += +1;\n      record.billing._status = 'pending';\n      let data = JSON.parse(JSON.stringify(record.billingProfileData));\n      //data.type = 'BUILDING';\n      data = mdt.helpers.removeEmptyAttributes(data);\n\n      if (update && record.matchedBillingProfileUuid) {\n        api = this.api.put(`users/me/billing-profiles/${record.matchedBillingProfileUuid}`, data);\n      }\n      else {\n        api = this.api.post(`users/${record._user}/billing-profiles`, data);\n      }\n      return api.then(xhr => {\n        record.billing._status = 'success';\n        this.importStatus.billing.countProcessing += -1;\n        this.importStatus.billing.countImported += +1;\n        record.billing._imported = true;\n      }, xhr => {\n        record.billing._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.billing.countProcessing += -1;\n        record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.billing.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else return Promise.resolve();\n  }\n  dialogDuplicate(record, scope) {\n    this.dialog.open({\n      title: `Gestione sovrascrittura`,\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura'),\n      viewModelParams: { record, scope }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        record[scope]._overwrite = true;\n      } else {\n        record[scope]._overwrite = false;\n        if (scope === 'profile') delete record.matchedUserUuid;\n        if (scope === 'billing') delete record.matchedBillingProfileUuid;\n      }\n    });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources, KaToast)\nexport class Impostazioni {\n  isInitPending;\n  advancedPreferences;\n  resource = {\n    controls: {},\n    schema: {\n      multifatture: {\n        accountingClientSoftwareUuid: {\n          label: 'Software gestionale utilizzato per la gestione della contabilità',\n          control: 'combo',\n          datasource: [],\n          datavalue: 'id',\n          datatext: 'name',\n          datapreload: true,\n          datamultiple: false\n        }\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, MdDatasources, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('MODIFY_ANY_USER_PRIVILEGED_PREFERENCES');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isInitPending = true;\n    if (this.isOperator) {\n      this.resource.schema.grantLoginWithSupportTicket = {\n        label: 'Assistenza Multidialogo',\n        description: 'Attiva al ruolo di assistente',\n        control: 'check'\n      };\n      this.resource.schema.multifatture.enableBetaFeatures = {\n        label: 'Beta tester MultiFatture',\n        description: 'Attiva al ruolo di BETA tester',\n        control: 'check'\n      };\n    };\n\n    this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.load().finally(() => {\n      this.isInitPending = false;\n    });\n  }\n\n  load() {\n    return this.api.get(`users/${this.params?.id}/advanced-preferences`).then((xhr) => {\n      const response = xhr.response;\n      this.advancedPreferences = response;\n      if (this.isOperator) this.resource.data = response;\n      else if (!this.isOperator && response.multifatture?.accountingClientSoftwareUuid) {\n        this.resource.data.multifatture = { accountingClientSoftwareUuid: response.multifatture?.accountingClientSoftwareUuid }\n      }\n    }).catch((error) => {\n      console.log('GET advanced-preferences', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      const endpoint = `${this.isOperator ? 'bo/' : ''}users/${this.params.id}/advanced-preferences`;\n      this.api.patch(endpoint, this.resource.data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n      }).catch((error) => {\n        console.log('PATCH advanced-preferences', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdDatasources } from 'services/md-datasources';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, MdDatasources, KaDialog, KaToast)\nexport class Pagamenti {\n  mdt = mdt;\n  user = null;\n  isInitializing = true;\n  isLoading = true;\n  writeEnabled = false;\n  customSdiEnabled = false;\n  masterUserCreditSharingCheck = false;\n  resource = {\n    controls: {},\n    schema: {\n      debtGuarantorDisplayName: {\n        label: 'Garante del deposito',\n        control: 'text',  \n      },\n      debtGuarantorUuid: {\n        label: 'Garante del deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      masterUserCreditSharing: { \n        description: 'Attiva',\n        control: 'check'\n      },\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI per il mio studio',\n          control: 'text' \n        },\n        genericSubuserCode: {\n          control: 'text' \n        }\n      },\n      registerBillsAsManagementMovement: {\n        label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali',\n        description: 'Attiva',\n        control: 'check' \n      }\n    },\n    data: {},\n  }\n\n  constructor(aurelia, router, api, mdDatasources, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdDatasources = mdDatasources;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.writeEnabled = this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES']) ? true : false;\n    if (this.resource.schema.multifatture?.accountingClientSoftwareUuid?.datasource) this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.getUser();\n  }\n\n  getUser() {\n    this.api.get(`users/${this.params.id}?include=user-profiles`).then(xhr => {\n      this.user = xhr.response;\n      this.user.profile = this.user.profile[0];\n      this.resource.schema.masterUserCreditSharing.label = `Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(this.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(this.user, 'account')}`;\n      this.resource.schema.sdi.genericSubuserCode.label = `Codice univoco SdI per i miei ${mdt.parsers.contextualize(this.user, 'utenti')}`;\n      this.load();\n    }).catch(error => {\n      console.log('ERROR user-profile GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.api.get(`users/${this.params.id}/preferences`).then(xhr => {\n      this.resource.data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n\n      if (this.user.group === 'BASIC_USER') {\n        /* Se apro un condominio, devo gestire il campo sdi (sdi.code e sdi.genericSubuserCode) con una logica particolare\n        Il frontend mostra un unico campo \"Campo univoco SdI\" bindato a this.payments.data.sdi.code\n        L'endpoint GET /users/{id}/preferences ritorna uno stack di impostazioni che la funzione mergeModelData() mergia secondo un criterio gerarchico di priorità\n        Il risultato è un payload in cui il valore di sdi può essere:\n        - sdi: null\n        - sdi: {code: 'CODICE1', genericSubuserCode: 'CODICE2'}\n        - sdi: {code: 'CODICE1', genericSubuserCode: null}\n        - sdi: {code: null, genericSubuserCode: 'CODICE2'}\n        Essendo il payload this.payments.data il risultato di un merge di preferenze dell'utente condominio con preferenze dell'amministratore e altre preferenze di default, non ho modo\n        di distinguere se un codice sdi.code è originariamente settato sul condominio o sul suo amministratore, a meno che non vada a leggere nel response originale:\n        se x.response.requested.payment.sdi.code è valorizzato, il codice è settato sul condominio, altrimenti l'eventuale sdi.code che mi ritrovo nel payload è ereditato dal suo amministratore */\n        \n        // Nel caso l'utente sia il condominio stesso, non faccio nulla\n        if (this.user.id === this.api.user.id) return this.resource.data = data;\n        // nel caso sdi = null, creo l'oggetto, vuoto\n        if (!this.resource.data.sdi) this.resource.data.sdi = { code: null, genericSubuserCode: null };\n        // Se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio\n        if (xhr.response.requested?.payment?.sdi?.code) this.resource.data.sdi.code = xhr.response.requested.payment.sdi.code;\n        // In tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore\n        // else this.resource.data.sdi.code = this.resource.data.sdi?.genericSubuserCode;\n      }  \n      this.resource._data = JSON.parse(JSON.stringify(this.resource.data));\n      this.masterUserCreditSharingCheck = this.resource.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n    }).catch(error => {\n      console.log('ERROR /preferences (payments) GET', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isInitializing = this.isLoading = false;\n    });\n  }\n\n  save ($event) {\n    if (!this.params.id) return;\n    let data = this.resource.data;\n    if (this.masterUserCreditSharingCheck === true) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n    } else if (this.masterUserCreditSharingCheck === false) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n    }\n    data = mdt.helpers.diffObject(this.resource._data, this.resource.data);\n    if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n    if (data && Object.entries(data).length) {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.params?.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /preferences/payment (save) - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    } else $event.model.busy = false;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  downloadHistoryEnabled = false;\n  noAssociations = false;\n  services = [];\n  serviceGroups = []; \n  newReseller = { uuid: null, resellerCodes: null, selectedCode: null, serviceGroupCode: null };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.params.id !== 'me') {\n      if (this.api.hasRole('DOWNLOAD_RESELLERS_HISTORY')) this.downloadHistoryEnabled = true;\n      if (this.api.hasRole('CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = true;\n      else if (this.api.hasRole('LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = false;\n    }\n\n    // if there are not associations, do not show the download history button in the dom\n    this.api.get(`bo/users/${this.params.id}/resellers-history-download`).catch((error) => {\n      if (error.statusCode === 404) this.noAssociations = true;\n      else this.noAssociations = false;\n    });\n\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'segnalatori-table',\n      client: this.api,\n      endpoint: `bo/users/${this.params.id}/resellers`,\n      query: 'reseller-association-user-status=ACTIVE'\n    });\n    this.tableInterface.initialize().then(() => {\n      this.datasourceServiceGroups();\n      this.load();\n    }).catch(error => { \n      console.log('tableInterface initialization failed', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'error');\n    });\n  }\n\n  datasourceServiceGroups() {\n    this.api.get('resell/service-groups').then(xhr => { \n      this.serviceGroups = xhr.response;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.tableInterface.load().then(() => {\n      let promises = [];\n      if (this.tableInterface.data?.length) {\n        this.tableInterface.data.forEach(reseller => {\n          reseller.serviceGroups = [];\n          promises.push(this.api.get(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { filters: 'user-reseller-association-service-group-status=ACTIVE'}).then(xhr => {\n            reseller.serviceGroups = xhr.response;\n          }));\n        });\n        Promise.all(promises).catch(errors => {\n          console.log('ERROR - resellerServiceGroups - PROMISES', errors);\n          this.api.dialogError(errors);\n        }).finally(() => {\n          this.isInitializing = this.isLoading =  false;\n        });\n      } else this.isInitializing = this.isLoading = false;\n    }).catch(() => {\n      this.isInitializing = this.isLoading = false;\n      this.toast.show('Errore in fase di caricamento!', 'error');\n    });\n  }\n\n  addServiceGroup(reseller) {\n    this.api.post(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { serviceGroupCode: reseller.group.code }).then(() => {\n      this.toast.show('Servizio aggiunto con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      reseller.group = null;\n    });\n  }\n\n  deleteServiceGroup(reseller, group) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups/${group.serviceGroupCode}`, {}).then(() => {\n      this.toast.show('Servizio eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  addReseller() {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-add-reseller'),\n      viewModelParams: { id: this.params.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.load();\n      }\n    });\n  }\n\n  deleteReseller(reseller) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}`).then(() => {\n      this.toast.show('Segnalatore eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n\n  downloadHistory() {\n    if (this.downloadHistoryPending) return;\n    this.downloadHistoryPending = true;\n    this.api.client.createRequest(`/bo/users/${this.params.id}/resellers-history-download`)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n\n      this.toast.show('Storico scaricato con successo', 'success');\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n      this.toast.show('Errore in fase di scaricamento', 'error');\n    }).finally(() =>{\n      this.downloadHistoryPending = false;\n    });\n  }\n}","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdUser } from 'services/md-user';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\n\n@inject(Api, Router, DialogService, MdUser, KaDialog, KaToast)\nexport class Navigation {\n  mdt = mdt;\n  constructor(api, router, dialog, MdUser, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.mdUser = MdUser;\n    this.toast = kaToast;\n    this.router = router;\n    this.kaDialog = KaDialog;\n    this.items = [];\n    this.init();\n  }\n  init() {\n    this.items = [\n      {\n        hidden: true,\n        href: 'account/delete',\n        label: 'Cancella account',\n        route: ['account/delete'],\n        moduleId: PLATFORM.moduleName('views/account/delete/delete')\n      }, {\n        hidden: true,\n        label: 'Offerta',\n        href: 'offerta',\n        route: 'landing/offerta/:code',\n        moduleId: PLATFORM.moduleName('views/landing/offerta')\n      }, {\n        hidden: true,\n        label: 'Registrazione',\n        href: 'registrazione',\n        route: ['registrazione/prospetto/:prospectUuid?', 'registrazione'],\n        moduleId: PLATFORM.moduleName('views/landing/registrazione')\n      }, {\n        hidden: true,\n        label: 'Login',\n        name: 'login',\n        href: 'login',\n        route: ['', 'login'],\n        moduleId: PLATFORM.moduleName('views/accesso/login')\n      }, {\n        hidden: true,\n        label: 'Recupero password',\n        href: 'password-recovery',\n        route: ['password-recovery/:token?'],\n        moduleId: PLATFORM.moduleName('views/accesso/recupero')\n      }, {\n        hidden: true,\n        label: 'Conferma registrazione',\n        href: 'email-confirm',\n        route: 'email-confirm/:code',\n        moduleId: PLATFORM.moduleName('views/landing/email-confirm')\n      }, {\n        hidden: true,\n        label: 'Conferma lettura',\n        href: 'conferma-lettura',\n        route: ['landing/conferma-lettura/:token'],\n        moduleId: PLATFORM.moduleName('views/landing/email-read-confirmation')\n      }, {\n        hidden: true,\n        label: '',\n        href: 'download-app-mobile',\n        route: 'landing/download-app-mobile',\n        moduleId: PLATFORM.moduleName('views/landing/download-app-mobile')\n      }, {\n        icon: null,\n        hidden: true,\n        label: 'Profilo',\n        authRequired: true,\n        href: 'gestione/profilo',\n        route: 'gestione/profilo/:id?/:view?',\n        moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti')\n      }, {\n        hidden: true,\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Impostazioni',\n        icon: 'settings',\n        href: 'impostazioni',\n        route: ['impostazioni'],\n        moduleId: PLATFORM.moduleName('views/impostazioni/impostazioni')\n      }, {\n        label: 'Home',\n        href: 'dashboard',\n        title: 'Home dashboard',\n        authRequired: true,\n        beforeIcon: 'far fa-home-lg-alt primary',\n        route: ['dashboard'],\n        explanation: 'Dashboard',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        href: null,\n        collapsed: false,\n        label: 'Spedizioni',\n        id: 'km-layout-aside-menu-spedizioni',\n        beforeIcon: 'fad fa-shipping-fast animated',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          collapsed: false,\n          highlighted: true,\n          label: 'Multinvio',\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            authGroups: ['MASTER_USER', 'BASIC_USER'],\n            call: () => { this.openSenderui('multicanale'); }\n          }, {\n            label: 'Bozze',\n            authRoles: ['LIST_QUEUE'],\n            href: 'spedizioni/drafts',\n            route: 'spedizioni/drafts',\n            moduleId: PLATFORM.moduleName('views/spedizioni/drafts'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-drafts-outlines'))?.totalQueueDrafts;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-drafts-outlines/~all?statusCode-in=ACTIVE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Spedizioni in attesa pagamento',\n            href: 'spedizioni/pending',\n            route: 'spedizioni/pending',\n            moduleId: PLATFORM.moduleName('views/spedizioni/pending'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-outlines'))?.totalQueuesPendingPayment;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Reportistica',\n            href: 'spedizioni/reportistica',\n            route: 'spedizioni/reportistica/:view?',\n            moduleId: PLATFORM.moduleName('views/spedizioni/report/report')\n          }, {\n            hidden: true,\n            authRequired: true,\n            label: 'Destinatari',\n            href: 'spedizioni/destinatari',\n            authRoles: ['LIST_QUEUE_MESSAGE'],\n            route: ['spedizioni/destinatari/:queueOwnerId/:queueUuid'],\n            moduleId: PLATFORM.moduleName('views/spedizioni/recipients')\n          }, {\n            authRequired: true,\n            label: 'Bounces',\n            href: 'backoffice/bounces',\n            moduleId: PLATFORM.moduleName('views/backoffice/bounces'),\n            authGroups: ['ADMIN', 'BACKOFFICE', 'EXECUTIVE_OPERATOR']\n        }]\n        }, {\n          label: 'Invio SMS',\n          collapsed: false,\n          highlighted: true,\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            call: () => { this.openSenderui('sms'); },\n            authGroups: ['MASTER_USER', 'BASIC_USER']\n          }, {\n            label: 'Alias Sms',\n            href: 'backoffice/alias',\n            route: ['backoffice/alias/:id?'],\n            moduleId: PLATFORM.moduleName('views/backoffice/alias'),\n            authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE']\n          }]\n        }]\n      }, {\n        href: null,\n        collapsed: true,\n        authRequired: true,\n        label: 'Anagrafiche',\n        id: 'km-layout-aside-menu-anagrafiche',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          authRequired: true,\n          explanation: 'Profilo utente',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Account'),\n          call: () => { this.router.navigate('gestione/profilo/me/anagrafica'); }\n        }, {\n          href: 'anagrafiche/utenti',\n          hidden: !!this.api?.user?.parentId,\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utenti'),\n          moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti'),\n          route: ['anagrafiche/utenti/:id/:view?', 'anagrafiche/utenti/:view?', 'gestione/profilo/me']\n        }, {\n          authRoles: ['LIST_ANY_PROSPECT_LANDING_PAGE'],\n          label: 'Pagine di registrazione',\n          href: 'anagrafiche/landing-pages',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/landing-pages/landing-pages')\n        }, {\n          label: 'Revisione ABI/CAB',\n          authRoles: ['LIST_UNKNOWN_IBAN_COORDINATES'],\n          href: 'anagrafiche/revisione-abi-cab',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/revisione-abi-cab/revisione-abi-cab')\n        }, {\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica',\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-importazione',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-importazione')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-dati',\n          route: 'anagrafiche/rubrica-dati/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dati')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-gruppi',\n          route: 'anagrafiche/rubrica-gruppi/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-gruppi')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Contabilità',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [ {\n          label: 'Pagamenti in attesa',\n          authRequired: true,\n          href: 'contabilita/pre-checkouts',\n          route: 'contabilita/pre-checkouts',\n          authRoles: ['LIST_ANY_PRE_CHECKOUT'],\n          moduleId: PLATFORM.moduleName('views/contabilita/pre-checkouts')\n        },{\n          label: 'Ordini',\n          authRequired: true,\n          href: 'contabilita/orders',\n          route: 'contabilita/orders/:id?',\n          moduleId: PLATFORM.moduleName('views/contabilita/orders')\n        },{\n          label: 'Fatture',\n          authRequired: true,\n          href: 'contabilita/invoices-list',\n          route: 'contabilita/invoices-list',\n          authGroups: ['MASTER_USER'],\n          moduleId: PLATFORM.moduleName('views/contabilita/invoices/invoices-list')\n        }]\n      }, {\n        href: null,\n        icon: 'print',\n        collapsed: false,\n        authRequired: true,\n        label: 'Stampe',\n        authGroups: ['ADMIN', 'PRINT_BACKOFFICE', 'BACKOFFICE', 'EXECUTIVE_OPERATOR'],\n        nav: [{\n          href: 'copertine',\n          label: 'Copertine',\n          route: ['copertine'],\n          moduleId: PLATFORM.moduleName('views/print-backoffice/copertine')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Bollettini MAV',\n        id: 'km-layout-aside-menu-riscossioni',\n        hidden: this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          label: 'Inviati',\n          title: 'MAV inviati',\n          href: 'riscossioni/mav-inviati',\n          authRoles: ['LIST_QUEUE_MESSAGE_PAYMENTS'],\n          moduleId: PLATFORM.moduleName('views/riscossioni/sent-mavs/sent-mavs')\n        }, {\n          href: 'riscossioni/autorizzazioni',\n          route: 'riscossioni/autorizzazioni',\n          label: 'Richieste di autorizzazione',\n          authRoles: ['LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'],\n          moduleId: PLATFORM.moduleName('views/riscossioni/autorizzazioni/autorizzazioni')\n        },\n        {\n          href: 'riscossioni/pagamento',\n          label: 'Esiti di pagamento',\n          route: 'riscossioni/pagamento/:ka-tab?',\n          moduleId: PLATFORM.moduleName('views/riscossioni/pagamento/pagamento'),\n          authRoles: ['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Servizi',\n        icon: 'shopping_cart',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n        nav: [{\n          href: 'servizi/abbonamenti',\n          label: 'Attivazione servizi',\n          route: 'servizi/abbonamenti/:id?',\n          authRoles: ['LIST_FLAT_SERVICES'],\n          moduleId: PLATFORM.moduleName('views/servizi/abbonamenti/abbonamenti')\n        }, {\n          href: 'servizi/ricariche',\n          route: 'servizi/ricariche',\n          label: 'Ricariche per spedizioni',\n          moduleId: PLATFORM.moduleName('views/servizi/ricariche/ricariche'),\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER']\n        }, {\n          href: 'servizi/listini',\n          route: 'servizi/listini',\n          label: 'Listino prezzi spedizioni',\n          authRoles: ['LIST_USER_PRICE_LIST_SCHEDULES'],\n          moduleId: PLATFORM.moduleName('views/servizi/listini/listini')\n        }, {\n          label: 'Promozioni',\n          href: 'servizi/promozioni',\n          route: 'servizi/promozioni',\n          moduleId: PLATFORM.moduleName('views/servizi/promozioni/promozioni'),\n          authRoles: ['CREATE_ANY_USER_PROMOTION_ASSOCIATION', 'CREATE_PROMOTIONS']\n        }, {\n          label: 'Offerte',\n          href: 'backoffice/offerte',\n          route: 'backoffice/offerte',\n          moduleId: PLATFORM.moduleName('views/backoffice/offerte/offerte'),\n          authRoles: ['LIST_ANY_PROMOTION_OFFER', 'LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION']\n        }, {\n          collapsed: true,\n          label: 'Credito',\n          authRoles: ['LIST_USER_CREDIT_TRANSACTION', 'LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n          nav: [{\n            label: 'Movimenti',\n            authRoles: ['LIST_USER_CREDIT_TRANSACTION'],\n            href: 'servizi/credito/crediti',\n            route: ['servizi/credito/crediti'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/crediti')\n          }, {\n            label: 'Deposito cauzionale',\n            href: 'servizi/credito/deposito',\n            route: ['servizi/credito/deposito/:user?'],\n            authRoles: ['LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/deposito')\n          }]\n        }]\n      }, {\n        collapsed: true,\n        label: 'Cashback',\n        authRequired: true,\n        icon: 'currency_exchange',\n        hidden: !['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes?.(this.api?.user?.group),\n        authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_MOVEMENTS', 'LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS'],\n        nav: [{\n          href: 'cashback/contracts',\n          label: 'Contratti cashback',\n          route: ['cashback/contracts'],\n          moduleId: PLATFORM.moduleName('views/cashback/contracts/contracts'),\n          authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS']\n        }, {\n          href: 'cashback/transactions',\n          route: ['cashback/transactions'],\n          label: 'Movimenti e saldo cashback',\n          moduleId: PLATFORM.moduleName('views/cashback/transactions/transactions'),\n          authRoles: ['LIST_USER_CASHBACK_MOVEMENTS','LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Fidelity card',\n        authRequired: true,\n        nav: [{\n          label: 'Attivazione',\n          title: 'Fidelity card',\n          authGroups: ['MASTER_USER'],\n          href: 'fidelity-cards/activation',\n          route: ['fidelity-cards/activation'],\n          authRoles: ['LIST_USER_FIDELITY_CARDS'],\n          moduleId: PLATFORM.moduleName('views/fidelity-cards/activation')\n        }, {\n          label: 'Storico attivazioni',\n          title: 'Storico attivazioni',\n          hidden: !this.api.hasRole('CONFIRM_ANY_PRE_CHECKOUT'),\n          href: 'fidelity-cards/activation-history',\n          route: ['fidelity-cards/activation-history'],\n          authRoles: ['LIST_USER_FIDELITY_CARDS'],\n          moduleId: PLATFORM.moduleName('views/fidelity-cards/activation-history')\n        }]\n      }, {\n        collapsed: false,\n        label: 'Multicoin',\n        authRequired: true,\n        svg: 'logo-multicoin.svg',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER'],\n        nav: [\n          {\n            label: 'Accedi',\n            afterIcon: 'far fa-external-link',\n            call: () => { this.openMulticoin(); }\n          }, {\n          label: 'Movimenti e punteggio',\n          title: 'Multicoin: movimenti e punteggio',\n          href: 'multicoin/points-transaction-history',\n          route: ['multicoin/points-transaction-history'],\n          moduleId: PLATFORM.moduleName('views/multicoin/points-transaction-history')\n        }]\n      }, {\n        icon: 'savings',\n        label: 'Compensi',\n        authRoles: ['LIST_RESELLER_COMMISSIONS'],\n        href: 'anagrafiche/utenti/me/compensi?ka-tab-main=utenti-associati'\n      }, {\n        collapsed: true,\n        label: 'Sistema',\n        icon: 'settings',\n        nav: [{\n          label: 'Agreements',\n          authGroups: ['ADMIN'],\n          href: 'backoffice/agreements',\n          route: ['backoffice/agreements/:id?'],\n          moduleId: PLATFORM.moduleName('views/backoffice/agreements')\n        }, {\n          authGroups: ['ADMIN'],\n          label: 'Archiviazione S3',\n          href: 'backoffice/archiviazione',\n          moduleId: PLATFORM.moduleName('views/backoffice/archiviazione')\n        }, {\n          href: 'backoffice/notifiche',\n          label: 'Notifiche di sistema',\n          authRoles: ['LIST_ANY_USER_SYSTEM_NOTIFICATION'],\n          moduleId: PLATFORM.moduleName('views/backoffice/notifiche-sistema/notifiche')\n        },\n        {\n          label: 'Avvisi Wall',\n          href: 'backoffice/avvisi',\n          authRoles: ['LIST_WALL_ADVICES'],\n          moduleId: PLATFORM.moduleName('views/backoffice/avvisi/wall-advices')\n        },\n        {\n          label: 'MultiTrax Outbox',\n          href: 'backoffice/multitrax',\n          authRoles: ['LIST_ANY_MTRAX_OUTBOX_MESSAGE'],\n          moduleId: PLATFORM.moduleName('views/backoffice/multitrax/multitrax')\n        },\n        {\n          label: 'P.IVA non autorizzate',\n          afterIcon: 'far fa-external-link',\n          call: () => { this.dialogBlacklistedTaxCodes(); },\n          authRoles: ['LIST_BLACKLISTED_TAX_CODES'],\n        }]\n      }, {\n        collapsed: true,\n        label: 'MultiCerta',\n        svg: 'logo-multicerta.svg',\n        authGroups: ['MASTER_USER'],\n        id: 'km-layout-aside-menu-multicerta',\n        nav: [{\n          label: 'Reportistica',\n          href: 'multicerta/report',\n          authGroups: ['_MASTER_USER'],\n        }, {\n          label: 'Invita',\n          authRequired: true,\n          title: 'Multicerta',\n          href: 'multicerta/invite',\n          route: ['multicerta/invite'],\n          afterIcon: 'far fa-arrow-to-right',\n          moduleId: PLATFORM.moduleName('views/multicerta/invite')\n        }]\n      }, {\n        label: 'Multinforma',\n        authGroups: ['MASTER_USER'],\n        svg: 'logo-multinforma.svg',\n        afterIcon: 'far fa-external-link',\n        id: 'km-layout-aside-menu-multinforma',\n        call: () => { this.openMultinforma(); }\n      }\n    ];\n  }\n  dialogBlacklistedTaxCodes() {\n    return this.kaDialog.open({\n      title: 'P.IVA non autorizzate',\n      class: 'blacklisted-tax-codes',\n      viewModel: PLATFORM.moduleName('views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes')\n    }, true)\n  }\n  openMulticoin() {\n    return mdt?.general?.navigateToExternal('https://go.multicoin.it/');\n  } \n  openMultinforma() {\n    return mdt.general.getCrossLoginTokens(this.api).then((xhr) => {\n      let token = xhr.response.token;\n      return mdt?.general?.navigateToExternal(`${ENVIRONMENT.APP_URL_MULTINFORMA}?token=${token}`);\n    });\n  } \n  openSenderui(queueType) {\n    if (this.areContractualAgreementsSigned()) {\n      mdt.general.openSenderui(this.api, this.dialog, queueType);\n    }\n  }\n  areContractualAgreementsSigned() {\n    const checkAgreements = this.mdUser.checkFlow.getCheck('checkAgreements');\n    const areContractualAgreementsSigned = this.api.isImpersonated || checkAgreements && checkAgreements.hasPassed;\n    console.warn('Are the contractual agreements signed or the user has been impersonated ?', areContractualAgreementsSigned);\n    return areContractualAgreementsSigned;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, InlineViewStrategy } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  mdt = mdt;\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.items = [];\n    this.toast = toast;\n    this.dialog = dialog;\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      href: 'notifiche',\n      label: 'Notifiche',\n      icon: 'fal fa-bell',\n      route: ['notifiche'],\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche'),\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          let icon = document.querySelector('.km-layout-toolbar > a[href=\"notifiche\"] > i');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                icon.classList.remove('fa-bell');\n                icon.classList.add('fa-bell-exclamation');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      }\n    }, {\n      settings: true, // usato come riferimento per pagina elenco settings\n      authGroups: ['MASTER_USER', 'BASIC_USER'],\n      label: 'Imposta',\n      icon: 'fal fa-cog',\n        nav: [{\n          label: 'Generali',\n          icon: 'fal fa-cog',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: 'fal fa-clipboard',\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'fal fa-bell',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'fal fa-fax',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          title: 'Impostazioni SMS',\n          icon: 'fal fa-comments-alt',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms/:view?'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'fal fa-envelope',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          label: 'Email\\\\PEC',\n          icon: 'fal fa-at',\n          href: 'impostazioni/email-pec',\n          route: ['impostazioni/email-pec/:view?'],\n          authGroups: ['MASTER_USER'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/emailPec/emailPec')        \n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'fal fa-box-open',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER'],\n          label: 'MultiCerta',\n          svg: 'logo-multicerta.svg',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta/:view?'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta/multicerta')\n        }]\n      }, {\n        href: 'help',\n        label: 'Aiuto',\n        route: ['help'],\n        icon: 'fal fa-question-circle',\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.impersonate(); }\n      }, {\n        href: 'dashboard',\n        label: 'Home',\n        route: [],\n        icon: 'fal fa-home-lg-alt',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        label: 'Esci',\n        icon: 'fal fa-sign-out',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}\n\n/* OLD menù\nimport {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n  \n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.items = [];\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      label: 'Notifiche',\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      },\n      icon: 'notifications',\n      href: 'notifiche',\n      route: ['notifiche'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche')\n    }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Imposta',\n        icon: 'settings',\n        href: null,\n        settings: true, // usato come riferimento per pagina elenco settings\n        nav: [{\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Generali',\n          icon: 'settings',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'markunread_mailbox',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Email',\n          icon: 'email',\n          href: 'impostazioni/email',\n          route: ['impostazioni/email'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/email')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'all_inbox',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'MultiCerta',\n          icon: 'verified_user',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          icon: 'sms',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'print',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'notification_important',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: null,\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }]\n      }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Aiuto',\n        icon: 'help_outline',\n        href: 'help',\n        route: ['help'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'switch_account',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'switch_account',\n        call: () => { this.impersonate(); }\n      }, {\n        label: 'Esci',\n        icon: 'exit_to_app',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}  \n*/\n","import * as md5 from 'md5';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { MdApi } from 'services/md-api';\nimport { KaToast } from 'ka-components';\nimport { Toolbar } from './app-toolbar';\nimport { KaDialog } from 'ka-components';\nimport { Redirect } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { inject  } from 'aurelia-framework';\nimport ENVIRONMENT from '../../environment';\nimport { Navigation } from './app-navigation';\nimport { Advices } from '../../classes/advices';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, Navigation, Toolbar, KaToast)\nexport class App {\n  mdt = mdt;\n  isAppUpdated = false;\n  environment = ENVIRONMENT;\n  static publicRoutes = ['login', 'conferma-lettura', 'download-app-mobile', 'maintenance', 'not-found'];\n  constructor(api, navigation, toolbar, toast) {\n    this.api = api;\n    this.navigation = navigation;\n    this.toolbar = toolbar;\n    this.toast = toast;\n    \n    this.api.events.addEventListener('userDataChanged', () => this.initLayoutConfiguration());\n    this.initLayoutConfiguration();\n    \n    this.appUpdateCheck();\n    this.serverStatusCheck();\n    this.fingerprintCode();\n  }\n\n  initLayoutConfiguration() {\n    let pic = null;\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      if (this.api.user?.id === 2)   pic = '/static/mitch.gif';\n      if (this.api.user?.id === 329) pic = '/static/valente.gif';\n    }\n    this.layoutConfiguration = {\n      brand: '/static/images/brand.png',\n      user: {\n        account: this.setAccountTitle(),\n        display: this.setUserDisplayName(),\n        username: this.api.user?.email || this.api.user?.username,\n        roles: this.api.data?.roles || this.api.user?.roles || null,\n        group: this.api.data?.groups || this.api.user?.group || null,\n      },\n      profile: {\n        picture: pic,\n        href: 'gestione/profilo/me/anagrafica'\n      },\n      navigation: this.navigation,\n      toolbar: this.toolbar,\n      isDevelopmentEnvironment: this.environment.APP_DEBUG === 'true',\n      infoBox: { \n        message: '<strong>Stai operando in ambiente di sviluppo</strong><br>Non partiranno comunicazioni reali <br>e non verranno eseguiti addebiti', \n        icon: 'fal fa-tools' \n      }\n    }\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  configureRouter(config, router) {\n    this.router = router;\n    config.title = 'MultiDialogo';\n    config.options.pushState = true;\n\n    // Router routes\n    const parseNavigation = (nav, inherit) => {\n      for (let item of nav) {\n        if (item.moduleId) {\n          let route = {\n            name: item.name || item.href,\n            href: item.href,\n            route: item.route || item.href,\n            title: item.title || item.label,\n            moduleId: item.moduleId,\n            activationStrategy: 'replace',\n            settings: {\n              hasLayout: !(item.hasLayout === false),\n              hasLanguages: !!item.hasLanguages,\n              authRequired: (inherit && inherit.authRequired) || !!item.authRequired || (item.authGroups && item.authGroups.length > 0) || (item.authRoles && item.authRoles.length > 0),\n              authGroups: item.authGroups || null,\n              authRoles: item.authRoles || null\n            }\n          };\n          config.mapRoute(route);\n        }\n        if (item.nav) parseNavigation(item.nav, item);\n      }\n    };\n    parseNavigation(this.navigation.items);\n    parseNavigation(this.toolbar.items);\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      config.mapRoute({\n        name: 'template',\n        route: 'template',\n        moduleId: PLATFORM.moduleName('views/_template/routeViewName'),\n        settings: {\n          hasLayout: true,\n          authRequired: true\n        }\n      });\n    }\n    config.mapRoute({\n      name: 'legacy',\n      route: 'legacy/viewer/:view',\n      moduleId: PLATFORM.moduleName('views/_legacy/viewer'),\n      settings: {\n        hasLayout: false,\n        authRequired: true\n      }\n    });\n    config.mapRoute({\n      name: 'maintenance',\n      route: 'maintenance/:reason?',\n      moduleId: PLATFORM.moduleName('views/app/maintenance'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    config.mapUnknownRoutes({\n      name: 'not-found',\n      route: 'not-found',\n      moduleId: PLATFORM.moduleName('views/app/not-found'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    //config.fallbackRoute('not-found');\n  \n    config.addPipelineStep('authorize', AutologinStep);\n    config.addPipelineStep('authorize', AuthorizeStep);\n    config.addPipelineStep('preActivate', InitializationStep);\n    config.addPipelineStep('preActivate', NotificationsStep);\n    config.addPipelineStep('postRender', WallAdvicesStep);\n    \n\n    konsole.debug('APP CONFIG', config);\n    konsole.debug('APP ROUTER', router);\n  }\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=home`, '_blank');\n    }, xhr => {}).catch(error => {console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n\n  set appEtag(value) {\n    if (value) {\n      if (!this.savedAppEtag) this.savedAppEtag = value;\n      else this.isAppUpdated = this.savedAppEtag !== value;\n    }\n    console.debug('saved eTag', this.savedAppEtag, 'current eTag', value);\n  }\n\n  async getAppIndex() {\n    const response = await fetch('/index.html');\n    return this.appEtag = response?.headers?.get('Etag');\n  }\n\n  appUpdateCheck() {\n    this.getAppIndex();\n    return setInterval(async () => {\n      this.getAppIndex();\n    }, 900000);\n  }\n\n  serverStatusCheck() {\n    setInterval(() => {\n      this.api.get('').then(xhr => {\n        this.serverStatusResponse = xhr;\n      }).catch(xhr => {\n        console.error('serverStatusCheck error', xhr);\n        if (typeof xhr.response === 'string' && xhr.response.startsWith('{')) {\n          xhr.response = JSON.parse(xhr.response);\n        }\n        this.serverStatusResponse = xhr;\n      });\n    },\n    30000);\n  }\n\n  fingerprintCode() {\n    if (window.localStorage.getItem('xhr-fingerprint')) return;\n    let date = new Date();\n    let yearMonthDate = `${date.getFullYear()}${date.getMonth()+1}${date.getDate()}`;\n    let userAgent = md5(window.navigator.userAgent);\n    let userAgentYmd = md5(`${yearMonthDate}${userAgent}`).slice(0, 19);\n    let hourMinute = `${date.getHours()}${ date.getMinutes()}`;\n    let deviceFingerprint =  `${yearMonthDate}${userAgent}${userAgentYmd}${hourMinute}`;\n    window.localStorage.setItem('xhr-fingerprint', deviceFingerprint);\n  }\n\n  setAccountTitle() {\n    let account = 'Utente';\n    const group = this.api?.user?.group;\n    const businessType = this.api?.user?.profile?.businessType;\n    switch (true) {\n      case group === 'ADMIN':\n        account = 'amministratore';\n        break;\n      case businessType === 'BUILDING-ADMINISTRATOR':\n        account = 'studio';\n        break;\n      case businessType === 'BUILDING':\n        account = 'condominio';\n        break;\n      case ['SYSTEM-EMPLOYEE', 'BANK-OPERATOR'].includes(businessType) || ['PRINT_BACKOFFICE', 'MARKETING'].includes(group):\n        account = 'operatore';\n        break;\n    }\n    return account;\n  }\n\n  setUserDisplayName() {\n    let displayName = this.api.user?.name;\n    if (this.api.user?.firstname && this.api.user?.lastname) {\n      displayName = `${this.api.user?.firstname} ${this.api.user?.lastname}`;\n    }\n    return displayName;\n  }\n}\n\n@inject(Api)\nclass AutologinStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    konsole.debug('AutologinStep');\n    if (navigationInstruction.config.name === 'login') {\n      konsole.debug('Skipping as requesting login view which resets user\\'s authentication');\n      return next();\n    }\n    let code = new URLSearchParams(window.location.search).get('st');\n    if (code) {\n      console.group('Autologin');\n      console.log('Code:', code);\n      return this.api.login(null, null, code).then(x => {\n        console.log('Auth: successful');\n        return next();\n      }).catch(x => {\n        console.log('Auth: failed');\n        return next.cancel(new Redirect('logout'));\n      }).finally(() => {\n        console.groupEnd();\n      });\n    }\n    return next();\n  }\n}\n\n@inject(Api)\nclass AuthorizeStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    if (navigationInstruction.config.name === 'login') {\n      // Skipping as requested route is the login view which resets user's authentication\n      return next();\n    }\n    if ((['conferma-lettura', 'download-app-mobile']).includes(navigationInstruction.config.name)) {\n      // Skipping as requested route is read confirmation for email or app download which doesn't need user's authentication\n      return next();\n    }\n    let isAuthenticated = this.api.isAuthenticated;\n    let currentRoute = navigationInstruction.config;\n    let authRequired = currentRoute.settings && !!currentRoute.settings.authRequired;\n\n    if (authRequired && !isAuthenticated) {\n      const href = `${window.location.pathname}${window.location.search}`;\n      sessionStorage.setItem(btoa(`reroute`), JSON.stringify({ href }));\n      return next.cancel(new Redirect('logout'));\n    }\n    if (currentRoute.settings.authGroups && (!this.api.user || !this.api.user.group || !currentRoute.settings.authGroups.includes(this.api.user.group))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    if (currentRoute.settings.authRole && (!this.api.user || !this.api.user.roles || !this.api.hasRole(currentRoute.settings.authRole))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar)\nclass InitializationStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n    this.toolbar = Toolbar;\n  }\n  async run(navigationInstruction, next) {\n    // Login, pagine pubbliche e manutenzione: nessuna inizializzazione (e nessuna chiamata API)\n    if (App.publicRoutes.includes(navigationInstruction.config.name)) return next();\n\n    // Se le chiamate falliscono (rete, server) la navigazione si annulla in modo esplicito,\n    // invece di lasciare il router senza una pagina a cui tornare\n    try {\n      await this.mdDatasources.initialize();\n    } catch (error) {\n      console.error('InitializationStep', error);\n      return next.cancel();\n    }\n    const fragment = navigationInstruction.fragment;\n    const userCheck = await this.mdUser.check(fragment);\n\n    if (userCheck.hasPassed === false && !userCheck.redirect) return next.cancel();\n    if (userCheck.redirect) return userCheck.redirect === fragment ? next() : next.cancel(new Redirect(userCheck.redirect));\n\n    this.navigation.init();\n    this.toolbar.init();\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation)\nclass NotificationsStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n  }\n  run(navigationInstruction, next) {\n    konsole.debug('NotificationsStep');\n    if (App.publicRoutes.includes(navigationInstruction.config.name)) {\n      konsole.debug('Skipping as requested route is public or the maintenance page');\n      return next();\n    }\n    if (!this.api.isAuthenticated) {\n      konsole.debug('Skipping as authentication is missing');\n      return next();\n    }\n    let storage = { totalUnreadNotifications: null, myUnreadNotifications: null, subusersUnreadNotifications: null }\n    this.api.get('users/me/ui-notification-alerts').then(xhr => {\n      storage.totalUnreadNotifications = xhr.originalResponse.meta.totalUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalUnreadNotificationsCount, 10) : null;\n      storage.myUnreadNotifications = xhr.originalResponse.meta.totalMineUnreadNotificationsCount ?  parseInt(xhr.originalResponse.meta.totalMineUnreadNotificationsCount,10): null;\n      storage.subusersUnreadNotifications = xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount, 10) : null;\n    }).catch(error => {\n      console.error('NotificationsStep', error);\n      storage.totalUnreadNotifications = storage.myUnreadNotifications = storage.subusersUnreadNotifications = 'error';\n    }).finally(() => {\n      localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n    });\n    return next();\n  }\n}\n\n@inject(Api, Advices, KaDialog)\nclass WallAdvicesStep {\n  constructor(api, advices, dialog) {\n    this.api = api;\n    this.advices = advices;\n    this.dialog = dialog;\n  }\n\n  async run(navigationInstruction, next) {\n    if (App.publicRoutes.includes(navigationInstruction.config.name)) return next();\n    if (!this.api.hasRole(\"LIST_USER_WALL_ADVICES\") || this.api.user.group !== 'MASTER_USER') {\n      return next();\n    }\n    \n    await this.advices.initialize();\n\n    const advicesToShow = this.advices.get(navigationInstruction.config.name);\n    if (!advicesToShow) return next();\n    \n    for (const advice of advicesToShow) {\n      const result = await this.dialog.open({\n        title: ' ',\n        class: 'medium wall-advice',\n        viewModelParams: { adviceToShow: advice },\n        viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice'),\n      }).whenClosed();\n      if (!result.wasCancelled) {\n        this.advices.remove(advice);\n      } else {\n        this.advices.setAsSeen(advice);\n      }\n    }\n    return next();\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\nimport {KaDialog} from 'ka-components';\n\n@inject(DialogController, KaDialog)\nexport class DialogModalSenderUI {\n  constructor(controller, dialog){\n    this.controller = controller;\n    this.dialog = dialog;\n  }\n  activate(model) {\n    this.model = model;\n  }\n  close() {\n    if (window.senderui?.SenderUI.checkDraftSaved) {\n      window.senderui.SenderUI.checkDraftSaved().then(payload => {\n        this.controller.cancel();\n      }).catch(error => {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Confermi di voler chiudere questa finestra?</strong><br>Le modifiche sulla bozza corrente andranno perse!'}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            if (window.senderui.SenderUI.draft?.reset) window.senderui.SenderUI.draft.reset();\n            this.controller.cancel();\n          }\n        });\n      });\n    } else this.controller.cancel();\n  }\n}\n","import { HttpClient } from 'aurelia-http-client';\n\nexport class vmMaintenance {\n  constructor() {\n    this.client = new HttpClient();\n  }\n\n  activate(params) {\n    if (params.reason) this.reason = window.atob(params.reason);\n  }\n\n  attached() {\n    this.getHealthcheck();\n    setInterval(() => {\n      this.getHealthcheck();\n    }, 60000);\n  }\n\n  async getHealthcheck() {\n    try {\n      const xhr = await this.client.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`);\n      const response = JSON.parse(xhr.response);\n      if (response.status === 'WORKING') {\n        location.href = '/dashboard';\n      }\n    } catch (error) {\n      console.error('healthcheck', error);\n    }\n  }\n}\n","export class vmNotFound {\n  attached() {\n    setTimeout(() => {\n      location.href = '/dashboard';\n    }, 10000);\n  }\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewAgreements {\n  endpoint = 'bo/user-agreements';\n  isActive = false;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: null,\n    back: true\n  }\n  \n  /* Agreements */\n  agreements = {\n    schema: {\n      startAt: {\n        label: 'Data inizio',\n        control: 'date',\n        readonly: false,\n        query: 'createdAt-lte'\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text',\n        readonly: false\n      },\n      content: {\n        label: 'Descrizione',\n        readonly: false,\n        control: 'editor'\n      },\n      status: {\n        label: 'Attivazione',\n        control: 'combo',\n        datasource: [{ text: 'Attivo', value: 'ACTIVE' }, { text: 'Non attivo', value: 'NOT-ACTIVE' }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true,\n        datamultiple: false,\n        readonly: true,\n        query: 'statusCode-in'\n      }\n    }\n  };\n\n  /* Clauses */\n  clauses = {\n    schema: {\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      content: {\n        label: 'Descrizione',\n        control: 'textarea'\n      }\n    },\n    data: []\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.agreementsTableInterface = new TableInterface({\n      name: 'agreements-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.agreementsSearchInterface = new SearchInterface({\n      name: 'agreements-table-search',\n      table: this.agreementsTableInterface,\n      schema: {\n        startAtLte: {\n          label: 'Data inizio dal',\n          control: 'date',\n          query: 'createdAt-gte'\n        },\n        startAtGte: {\n          label: 'al',\n          control: 'date',\n          query: 'createdAt-lte'\n        },\n        status: this.agreements.schema.status\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.agreementsTableInterface.initialize().then(() => {\n      this.agreementsSearchInterface.initialize().then(() => {\n        this.init();\n      }).catch(error => { console.error('TableSearchInterface-initialize agreements failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize agreements failed', error); });\n  }\n\n  init() {\n    if (!this.params.id) {\n      this.agreementsSearchInterface.search().catch(error => { console.error('TableSearchInterface-search agreements failed', error); });\n    }\n    this.clauses.data = [];\n    if (this.agreements.resource) {\n      if (this.params.id !== 'new') {\n        this.agreements.resource.load(`bo/user-agreements/${this.params.id}`).then(() => {\n          if (this.agreements.resource.data.status === 'ACTIVE') this.isActive = true;\n          else this.isActive = false;\n\n          /* Clauses */\n          if (this.agreements.resource.data.clauses) {\n            this.agreements.resource.data.clauses.forEach(clause => {\n              this.clauses.data.push({ data: JSON.parse(JSON.stringify(clause)) });\n            });\n          }\n        });\n      } else if (this.params.id === 'new') {\n        if (!this.agreements.resource.data.status) {\n          this.agreements.resource.data.status = 'NOT-ACTIVE';\n          this.isActive = false;\n        }\n      }\n    };\n  }\n\n  new() {\n    this.router.navigateToRoute('backoffice/agreements', { id: 'new' });\n  }\n\n  edit(record) {\n    /* // Set readonly from schema js\n    for (let property in this.agreements.schema) this.agreements.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    for (let property in this.clauses.schema) this.clauses.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    this.agreements.schema.status.readonly = true; */\n    this.router.navigateToRoute('backoffice/agreements', { id: record.uuid });\n  }\n\n  activation(record, $event) {\n    if (record.status === 'ACTIVE') return\n    if ($event) $event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Se attivi questo agreement non potrai più modificarne il contenuto!'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.patch(`bo/user-agreements/${record.uuid}`, { status: 'ACTIVE' }).then(() => {\n          this.init();\n        }).catch(error => {\n          this.toast.show('Errore in fase di attivazione!', 'error');\n          console.log('Agreement activation', error);\n        }).finally(() => {\n          if ($event) $event.model.busy = false;\n        })\n      }\n    });\n  }\n\n  view(record) {\n    this.agreement.view = record;\n  }\n\n  cancel() {\n    this.agreement.view = null;\n    this.router.navigateToRoute('backoffice/agreements');\n  }\n\n  save(event) {\n    event.model.busy = true;\n    let method = 'post';\n    let endpoint = this.endpoint;\n    if (!Object.entries(this.agreements.resource.data).length) {\n      event.model.busy = false;\n      return;\n    } else if (this.params.id !== 'new') {\n      method = 'patch';\n      endpoint = `bo/user-agreements/${this.params.id}`;\n    }\n    if (this.agreements.resource.data.status !== 'ACTIVE') {\n      this.saveData(event, endpoint, method);\n      event.model.busy = false;\n    }\n  }\n\n  saveData(event, endpoint, method) {\n    event.model.busy = true;\n\n    // Clauses\n    let promises = [];\n    let newClause = false;\n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (this.params.id !== 'new' && newClause) {\n      this.clauses.data.forEach(clause => {\n        if (clause.data?.id === undefined) promises.push(clause.resource.save(clause.data, `bo/user-agreements/${this.params.id}/clauses`, 'post'));\n      });\n    }\n\n    // Save\n    this.agreements.resource.save(this.agreements.resource.data, endpoint, method).then(xhr => {\n      Promise.all(promises).then(() => {\n        if (this.params.id !== 'new' || (this.params.id === 'new' && this.agreements.resource.data.status === 'ACTIVE')) this.cancel();\n        else if (this.params.id === 'new' && this.agreements.resource.data.status === 'NOT-ACTIVE') {\n          this.params.id = xhr.response.uuid;\n          this.init();\n        }\n        this.toast.show('Agreement creato con successo!', 'success');\n      }).catch(error => {\n        console.error('Save clauses', error);\n        this.toast.show('Errore nel salvataggio!', 'error');\n      });\n    }).catch(error => {\n      console.error('Save agreements', error);\n      this.toast.show('Errore nel salvataggio!', 'error');\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  deleteClause(event, id = null, idx) {\n    let newClause = false \n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (id) {\n      if (newClause) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Tutte le clausole non salvate saranno cancellate'}).whenClosed(response => {\n          if (!response.wasCancelled) this.deleteClauseData(event, id);\n        });\n      } else this.deleteClauseData(event, id);\n    } else this.clauses.data.splice(idx, 1);\n  }\n\n  deleteClauseData(event, id) {\n    event.model.busy = true;\n    if (!id) return\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai cancellando questa clausola definitivamente. Confermi?'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`bo/user-agreements/${this.params.id}/clauses/${id}`).then(() => {  \n          this.toast.show('Clausola eliminata!', 'success');\n          this.init();\n        }).catch(() => {\n          this.toast.show('Errore nella cancellazione!', 'error');\n        }).finally(() => {\n          event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  addClause() {\n    this.clauses.data.unshift({\n      data: { label: null, content: null }\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api)\nexport class viewAlias {\n  endpoint = 'bo/sms-aliases';\n\n  constructor(router, api) {\n    this.router = router;\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (!this.params.id) {\n      /* Table interface */\n      this.aliasTableInterface = new TableInterface({\n        name: 'table-alias',\n        client: this.api,\n        endpoint: 'bo/sms-aliases',\n        query: null\n      });\n\n      /* Table Search */\n      let schema = AliasSchema;\n      schema.requestedAt.label = 'Data richiesta dal';\n      this.aliasSearchInterface = new SearchInterface({\n        name: 'alias-table-search',\n        table: this.aliasTableInterface,\n        schema: {\n          requestedAtGte: schema.requestedAt,\n          requestedAtLte: {\n            label: 'al',\n            control: 'date',\n            datatype: 'datetime',\n            utc: true,\n            query: 'requestedAt-lte'\n          },\n          displayName: schema.displayName,\n          companyName: schema.companyName,\n          status: schema.status\n        },\n        data: {}\n      });\n\n      /* Initialize & Search function */\n      this.aliasTableInterface.initialize().then(() => {\n        this.aliasSearchInterface.initialize().then(() => {\n          this.aliasSearchInterface.search().catch(error => { console.error('search alias failed', error); });\n        }).catch(error => { console.error('table-search-initialize alias failed', error); });\n      }).catch(error => { console.error('table-interface-initialize alias failed', error); });\n    } else {\n      this.resource.schema = AliasSchema;\n      this.resource.endpoint = 'bo/sms-aliases' + (this.params.id !== 'new' ? `/${this.params.id}` : '');\n      if (this.params.id !== 'new') { this.resource.load(); }\n    }\n  }\n\n  edit(record) {\n    this.router.navigateToRoute('backoffice/alias', { id: record.id });\n  }\n\n  cancel() {\n    this.router.navigateToRoute('backoffice/alias');\n  }\n\n  /* save() {\n    if (this.params.id === 'new') {\n      this.resource.save().then();\n    } else {\n      this.resource.save(undefined, undefined, 'patch').then();\n    }\n  } */\n}\n\n\nexport const AliasSchema = {\n  displayName: {\n    label: 'Mittente SMS',\n    control: 'text',\n    query: 'displayName-like'\n  },\n  companyName: {\n    label: 'Azienda',\n    control: 'text',\n    query: 'companyName-like'\n  },\n  vatCode: {\n    label: 'Partita IVA',\n    control: 'text'\n  },\n  fiscalCode: {\n    label: 'Codice fiscale',\n    control: 'text'\n  },\n  streetAddress: {\n    label: 'Indirizzo',\n    control: 'text'\n  },\n  zipCode: {\n    label: 'CAP',\n    control: 'text'\n  },\n  country: {\n    label: 'Nazione',\n    control: 'text'\n  },\n  email: {\n    label: 'Email',\n    control: 'text'\n  },\n  phoneNumber: {\n    label: 'Telefono',\n    control: 'text'\n  },\n  requestedAt: {\n    label: 'Data richiesta',\n    control: 'date',\n    datatype: 'datetime',\n    utc: true,\n    query: 'requestedAt-gte'\n  },\n  status: {\n    label: 'Stato attivazione',\n    control: 'combo',\n    datatext: 'text',\n    datavalue: 'value',\n    datapreload: true,\n    datasource: [{ text: 'In attesa di registrazione', value: 'PENDING'}, { text: 'Richiesta registrata', value: 'REGISTERED' }, { text: 'Attivo', value: 'COMPLETED' }, { text: 'Errore', value: 'ERROR' }, { text: 'Richiesta rifiutata', value: 'REFUSED' }],\n    query: 'statusCode-in'\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class viewArchiviazioneDialog {\n  preview = null;\n  result = null;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: false\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.preview = x.response;\n    });\n  }\n\n  archivia($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: true\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.result = x.response;\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog)\nexport class viewArchiviazione {\n  archives = [];\n  data = {\n    yearFrom: moment().subtract(6, 'months').format('YYYY'),\n    monthFrom: moment().subtract(6, 'months').format('MM'),\n    yearTo: moment().format('YYYY'),\n    monthTo: moment().format('MM')\n  };\n  datasources = {\n    years: Array.from({length: 11}, (v, i) => { let y = new Date().getFullYear() - 11 + i + 1; return {text: y, value: y} }),\n    months: Array.from({length: 12}, (v, i) => { let m = moment(i+1, 'M'); return {text: m.locale('it').format('MMMM'), value: m.format('MM')} })\n  };\n\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    this.api.get('bo/mi-queue/archive-files', this.data).then(x => {\n      konsole.debug(x.response);\n      this.archives = x.response.months;\n    });\n  }\n\n  archivia(record, test) {\n    this.dialog.open({\n      title: 'Archiviazione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/backoffice/archiviazione-dialog'),\n      viewModelParams: { record }\n    }, true).whenClosed(response => {\n      this.load();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { Advices } from '../../../../classes/advices';\n\nexport class EditorWallAdvice {\n  wallAdvice;\n  isExpiredAdvice;\n  isPendingInit = true;\n\n  static inject = [Api, KaDialog, KaToast, DialogController, Advices];\n  constructor(api, dialog, toast, dialogController, advices) {\n    this.endpoint = 'bo/wall-advices';\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.advices = advices;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.tools = params.parent.tools;\n    this.wallAdvice = params.wallAdvice;\n    this.init();\n  }\n\n  detached() {\n    this.editorSenderuiWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        title: {\n          required: true,\n          control: 'text',\n          label: 'Titolo'\n        },\n        tag: {\n          label: 'Tag',\n          required: true,\n          control: 'text'\n        },\n        htmlContent: {\n          control: 'editor',\n          required: true,\n          params: {\n            language: 'it',\n            toolbar: {\n              items: [\n                'heading',\n                'bold',\n                'italic',\n                'strikethrough',\n                'removeFormat',\n                '|',\n                'bulletedList',\n                'numberedList',\n                '|',\n                'link',\n                '|',\n                'undo',\n                'redo'\n              ]\n            }\n          }\n        },\n        summaryHtmlContent: {\n          control: 'editor',\n          required: false,\n          params: {\n            language: 'it',\n            toolbar: {\n              items: [\n                'heading',\n                'bold',\n                'italic',\n                'strikethrough',\n                'removeFormat',\n                '|',\n                'bulletedList',\n                'numberedList',\n                '|',\n                'link',\n                '|',\n                'undo',\n                'redo'\n              ]\n            }\n          }\n        },\n        type: {\n          required: true,\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Tipologia avviso',\n          datasource: [\n            { value: 'SIMPLE', text: 'Semplice: nascosto dopo la chiusura.' },\n            { value: 'REMINDER', text: 'Con Reminder: riproposto ad ogni sessione.' }\n          ]\n        },\n        targetCodes: {\n          required: true,\n          label: 'Sezioni target',\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'code',\n          datamultiple: true,\n          datasource: this.advices.targetRoutes\n        },\n        startAt: {\n          required: true,\n          control: 'date',\n          label: 'Data attivazione',\n        },\n        endAt: {\n          label: 'Data scadenza',\n          required: false,\n          control: 'date',\n        },\n        public: {\n          label: 'Visibilità',\n          required: true,\n          control: 'combo',\n          datapreload: true,\n          datamultiple: false,\n          datavalue: \"value\",\n          datatext: \"text\",\n          datasource: [\n            { value: 'YES', text: 'Pubblico' },\n            { value: 'NO', text: 'Privato' },\n          ],\n        },\n        showInSenderUi: {\n          required: false,\n          control: 'check',\n          description: 'Visualizza l\\'avviso su Multinvio',\n        },\n        showInSenderUiEndAt: {\n          label: 'Data scadenza (max 15gg)',\n          control: 'date',\n          required: false\n        }\n      },\n      data: {},\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n    };\n  }\n\n  init() {\n    this.initResource();\n    if (this.wallAdvice) {\n      this.getWallAdvice();\n    } else {\n      this.isPendingInit = false;\n    }\n  }\n\n  getWallAdvice() {\n    this.isPendingInit = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.resource.data = {\n        ...response,\n        showInSenderUi: response.showInSenderUi === 'YES' ? true : false\n      }\n      if (this.checkIsExpiredAdvice(response.endAt)) {\n        this.isExpiredAdvice = true;\n      } else {\n        this.isExpiredAdvice = false;\n      }\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.isPendingInit = false;\n      if (this.resource.data.showInSenderUi) this.onShowInSenderUiChange(500);\n    });\n  }\n\n  expandEditorSenderuiWrapper() {\n    if (this.resource.data.showInSenderUi) {\n      requestAnimationFrame(() => {\n        this.editorSenderuiWrapper.style.height = (this.editorSenderuiWrapper.scrollHeight + 20) + 'px';\n        this.editorSenderuiWrapper.style.opacity = '1';\n      });\n      this.handleExpandWrapper = () => {\n        this.editorSenderuiWrapper.style.height = 'auto';\n      };\n      this.editorSenderuiWrapper.addEventListener('transitionend', this.editorSenderuiWrapper, { once: true });\n    } else {\n      this.editorSenderuiWrapper.style.opacity = '0';\n      this.editorSenderuiWrapper.style.height = '0';\n    }\n  }\n\n  onShowInSenderUiChange(delay = 0) {\n    const required = !!this.resource.data.showInSenderUi;\n    this.resource.schema.showInSenderUiEndAt.required = required;\n    this.resource.schema.summaryHtmlContent.required = required;\n    if (required) {\n      this.setDefaultEndAtTime();\n      this.resource.schema.summaryHtmlContent.validationRule = {\n        satisfies: () => this.resource.data.summaryHtmlContent,\n        withMessage: 'Campo obbligatorio.'\n      };\n    } else {\n      this.resource.data.summaryHtmlContent = null;\n      this.resource.data.showInSenderUiEndAt = null;\n      this.resource.schema.summaryHtmlContent.validationRule = null;\n    }\n    setTimeout(() => {\n      this.expandEditorSenderuiWrapper();\n    }, delay);\n  }\n\n  editWallAdvice($event) {\n    $event.model.busy = true;\n    return this.dialogAdviceConfirmation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.resource.validate().then(() => {\n          const data = {\n            ...this.resource.data,\n            showInSenderUi: this.resource.data.showInSenderUi ? 'YES' : 'NO'\n          };\n          return this.api[this.isExpiredAdvice ? 'post' : 'put'](`${this.endpoint}${this.isExpiredAdvice ? '' : '/' + this.wallAdvice.id}`, data).then((xhr) => {\n            if (this.isExpiredAdvice) {\n              const update = new Event(\"updateActiveList\");\n              window.dispatchEvent(update);\n            }\n            this.toast.show(\"Avviso modificato corretamente!\", \"success\");\n            this.controller.ok();\n          }).catch((error) => {\n            console.error(error);\n            this.api.dialogError(error, this.resource.controls);\n          }).finally(() => {\n            $event.model.busy = false;\n          })\n        }).catch(() => {\n          $event.model.busy = false;\n        })\n      } else {\n        $event.model.busy = false;\n      }\n    });\n  }\n\n  checkIsExpiredAdvice(date) {\n    const endDate = new Date(date);\n    const currentDate = new Date();\n    return endDate < currentDate;\n  }\n\n  normalizeStartAtDateTime() {\n    let date = new Date(this.resource.data.startAt);\n    date.setHours(0, 0, 0)\n    this.resource.data.startAt = date.toISOString().replace(/\\.\\d{3}/, '');\n    this.setDefaultEndAtTime();\n  }\n\n  normalizeEndAtDateTime(endAt) {\n    let date = new Date(endAt);\n    date.setHours(23, 59, 59)\n    endAt = date.toISOString().replace(/\\.\\d{3}/, '');\n  }\n\n  setDefaultEndAtTime() {\n    if (this.resource.data.startAt) {\n      const date = new Date(this.resource.data.startAt);\n      date.setDate(date.getDate() + 7);\n      date.setHours(23, 59, 59);\n      const endAt = date.toISOString().replace(/\\.\\d{3}/, '');\n      if (!this.resource.data.endAt) this.resource.data.endAt = endAt;\n      if (!this.resource.data.showInSenderUiEndAt && this.resource.data.showInSenderUi) this.resource.data.showInSenderUiEndAt = endAt;\n    }\n  }\n\n  dialogAdviceConfirmation() {\n    const currentDate = new Date().getTime();\n    const visibilityStartDate = new Date(this.resource.data.startAt).getTime();\n    let visibilityEndDate;\n    let alreadyVisible;\n    if (this.resource.data.endAt) {\n      visibilityEndDate = new Date(this.resource.data.endAt).getTime();\n      alreadyVisible = currentDate >= visibilityStartDate && currentDate <= visibilityEndDate;\n    } else {\n      alreadyVisible = currentDate >= visibilityStartDate;\n    }\n    return this.dialog.open({\n      title: 'Attenzione!',\n      class: 'confirm-advice',\n      type: 'confirm',\n      body: `<p class=\"m-0\"><strong>Stai per ${this.wallAdvice ? 'modificare un' : 'creare un nuovo'} avviso!</strong></p><p class=\"m-0\">${(this.resource.data.public === 'YES') ? `${alreadyVisible ? `Sarà visibile agli utenti fin da subito` : `Sarà visibile agli utenti a partire dalla data prescelta`}, confermi di voler procedere?` : 'Non sarà visibile agli utenti finchè rimarrà privato.'}</p>`\n    });\n  }\n\n  createWallAdvice($event) {\n    $event.model.busy = true;\n    return this.resource.validate()\n      .then(() => {\n        return this.dialogAdviceConfirmation().whenClosed((response) => {\n          if (!response.wasCancelled) {\n            const data = {\n              ...this.resource.data,\n              showInSenderUi: this.resource.data.showInSenderUi ? 'YES' : 'NO'\n            };\n            return this.api.post(this.endpoint, data)\n              .then(() => {\n                this.toast.show(\"Avviso creato correttamente!\", \"success\");\n                this.controller.ok();\n              })\n              .catch((error) => {\n                console.error(error);\n                this.api.dialogError(error, this.resource.controls);\n              })\n              .finally(() => {\n                $event.model.busy = false;\n              });\n          } else {\n            $event.model.busy = false;\n          }\n        });\n      })\n      .catch(() => {\n        $event.model.busy = false;\n      });\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nconst CONTENT_FIELD = {\n  Multidialogo: 'htmlContent',\n  SenderUi: 'summaryHtmlContent',\n};\n\nexport class PreviewWallAdvice {\n  title;\n  content;\n  isErrorInit = false;\n  isPendingInit = true;\n\n  static inject = [DialogController];\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.parent = params.parent;\n    this.api = this.parent.api;\n    this.wallAdvice = params.wallAdvice;\n    this.context = params.context;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    const field = CONTENT_FIELD[this.context];\n    if (this.wallAdvice[field]) {\n      this.setPreviewData(this.wallAdvice);\n    } else {\n      this.getWallAdvice();\n    }\n  }\n\n  setPreviewData(datasource) {\n    this.title = datasource?.title;\n    this.content = datasource?.[CONTENT_FIELD[this.context]];\n    this.isPendingInit = false;\n  }\n\n  getWallAdvice() {\n    return this.api.get(`bo/wall-advices/${this.wallAdvice.id}`)\n      .then(({ response }) => this.setPreviewData(response))\n      .catch((error) => {\n        console.error('GET wall advice', error);\n        this.isErrorInit = true;\n        this.isPendingInit = false;\n      });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class WallAdvice {\n  wallAdvice;\n  htmlTemplate;\n  pendingGetWallAdvice;\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.endpoint;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.wallAdvice) {\n      this.endpoint = \"bo/wall-advices\"\n      this.wallAdvice = params.wallAdvice;\n      this.getWallAdvice();\n    }\n    if (this.params.adviceToShow) {\n      this.wallAdvice = this.params.adviceToShow;\n      this.endpoint = \"users/me/wall-advices\";\n      this.htmlTemplate = this.wallAdvice.htmlContent;\n    }\n  }\n\n  attached() {\n    const elementHeader = document.querySelector('ux-dialog.wall-advice ux-dialog-header h2');\n    const title = elementHeader.appendChild(document.createElement('span'));\n    title.classList.add('title');\n    title.innerHTML = 'Avviso importante!';\n  }\n\n  acknowledgedAdvice() {\n    return this.api.patch(`${this.endpoint}/${this.wallAdvice.id}`, { acknowledged: 'YES' }).then(() => {\n    }).catch((error) => {\n      console.error(\"Error patching advice acknowledge\", error);\n    }).finally(() => {\n      this.controller.ok();\n    })\n  }\n\n  getWallAdvice() {\n    this.pendingGetWallAdvice = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.htmlTemplate = response.htmlContent;\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.pendingGetWallAdvice = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewCurrentAdvices {\n\n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    window[`active-advices-update-handler`] = () => { this.search(); };\n    window.addEventListener(\"updateActiveList\", window[`active-advices-update-handler`]);\n  }\n\n  detached() {\n    window.removeEventListener('updateActiveList', window[`active-advices-update-handler`]);\n    delete (window[`active-advices-update-handler`]);\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=ACTIVE,SCHEDULED\"\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-activeAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'Tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: \"active-at-lte\"\n        },\n        public: {\n          control: \"check\",\n          description: \"escludi privati\",\n          label: \"Visibilità\",\n          query: \"exclude-private\"\n        }\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    data.public = (data.public) ? \"YES\" : \"NO\";\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  openEditorWallAdvice(event, record) {\n    this.tools.dialogEditorWallAdvice(event, record).whenClosed((response) => {\n      if (event.model) event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewExpiredAdvices {\n\n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=EXPIRED\",\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-expiredAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: 'active-at-lte'\n        },\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  dialogConfirmExpiredAdviceDeletion($event, adviceUuid) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\"><strong class=\"d-block\">Stai eliminando un Avviso Wall.</strong>Confermi di voler procedere con l'eliminazione?</p>`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteExpiredAdvice($event, adviceUuid);\n      }\n    });\n  }\n\n  openEditorWallAdvice(event, record) {\n    this.tools.dialogEditorWallAdvice(event, record).whenClosed((response) => {\n      if (event.model) event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  deleteExpiredAdvice(event, adviceUuid) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    } return this.api.delete(`bo/wall-advices/${adviceUuid}`).then(() => {\n      this.search();\n      this.toast.show('Avviso Wall eliminato con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/wall-advices', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmAdvices {\n  privileges = {};\n  tabs = [\n    {\n      id: 'activeAdvices',\n      label: 'Avvisi Wall Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/active-advices')\n    },\n    {\n      id: 'expiredAdvices',\n      label: 'Avvisi Wall Non Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/expired-advices')\n    },\n  ];\n\n  constructor(api, dialog, toast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      dialogEditorWallAdvice: (event, record) => {\n        if (event) {\n          if (event.model) event.model.busy = true;\n          else event.model = { busy: true };\n        }\n        return this.dialog.open({\n          title: `${record ? 'Modifica' : 'Crea nuovo'} avviso`,\n          class: 'editor-wall-advice',\n          viewModelParams: { wallAdvice: record, parent: this },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/editor-wall-advice')\n        });\n      },\n      dialogWallAdvicePreview: (event, record, context) => {\n        if (event) {\n          if (event.model) event.model.busy = true;\n          else event.model = { busy: true };\n        }\n        this.dialog.open({\n          title: 'Anteprima avviso',\n          class: 'medium wall-advice-preview',\n          viewModelParams: { wallAdvice: record, parent: this, context },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice-preview')\n        }).whenClosed(() => {\n          event.model.busy = false;\n        });\n      },\n      normalizeStartAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(0, 0, 0)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      },\n      normalizeEndAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(23, 59, 59)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    if (this.api.hasRole('LIST_WALL_ADVICES')) {\n      ['activeAdvices', 'expiredAdvices'].forEach((id) => { this.privileges.tabs[id] = true; })\n    }\n  }\n}\n","\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class dialogBlacklistedTaxCodes {\n  isErrorInit;\n  isPendingInit;\n\n  static inject = [Api, DialogController];\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n  attached() {\n    this.init();\n  }\n  async init() {\n    await this.initTableInterface();\n    this.tableInterface.load().finally(() => {\n      this.isPendingInit = false;\n    }).catch(() => {\n      this.isErrorInit = true;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name:  'blacklisted-tax-codes-table',\n      endpoint: 'bo/blacklisted-tax-codes'\n    });\n    return this.tableInterface.initialize();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api)\nexport class viewBounces {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.bouncesTableInterface = new TableInterface({\n      name: 'table-bounces',\n      client: this.api,\n      endpoint: 'bo/email-bounces',\n      query: null\n    });\n\n    /* Table Search */\n    this.bouncesSearchInterface = new SearchInterface({\n      name: 'bounces-table-search',\n      table: this.bouncesTableInterface,\n      schema: {\n        email: { \n          control: 'text', \n          label: 'Email',\n          query: 'emailLike'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.bouncesTableInterface.initialize().then(() => {\n      this.bouncesSearchInterface.initialize().then(() => {\n        this.bouncesSearchInterface.search().catch(error => { console.error('search bounces failed', error); });\n      }).catch(error => { console.error('table-search-initialize bounces failed', error); });\n    }).catch(error => { console.error('table-interface-initialize bounces failed', error); });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogDocumentiApproval {\n  schema = {\n    status: {\n      label: 'Stato documento',\n      control: 'combo',\n      datasource: [{ value: 'APPROVED', text: 'Approva' }, { value: 'REFUSED', text: 'Rifiuta' }],\n      datavalue: 'value',\n      datatext: 'text',\n      datapreload: true,\n      datamultiple: false,\n      required: true\n    },\n    statusReason: {\n      label: 'Motivazione',\n      control: 'text'\n    }\n  };\n  data = {};\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId || null;\n    this.document = params.document;\n    this.type = params.type;\n    this.data = { status: this.document.approvedAt ? 'REFUSED' : 'APPROVED' };\n  }\n\n  save($event, data) {\n    if (!data) return\n    if (data.status === 'REFUSED') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm',\n        body: `<strong>Questa azione è irreversibile.</strong><br>Confermi comunque di voler procedere?`}).whenClosed(response => {\n        if (!response.wasCancelled) this.editStatus($event, this.userId || this.document.userId, this.document, data);\n      });\n    } else {\n      this.editStatus($event, this.userId || this.document.userId, this.document, data);\n    }\n  }\n\n  editStatus($event, userId, document, data) {\n    $event.model.busy = true;\n    this.api.patch(`users/${userId}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`, data).then(() => {\n      this.controller.ok(data.status);\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets - PATCH', error);\n      this.toast.show(`Errore!. Documento ${data.status === 'APPROVED' ? 'non approvato' : 'non rifiutato'}`, 'error');\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport environment from '../../../../environment';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmDocumentiGestione {\n  environment = environment;\n  documentTypes = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.documentTypes = JSON.parse(sessionStorage.getItem(btoa('certifiable-document-types'))) || null;\n    if (this.documentTypes) this.init();\n    else this.getDocumentTypes();\n  }\n\n  getDocumentTypes() {\n    this.api.get(`certifiable-document-types`).then(xhr => {\n      this.documentTypes = xhr.response;\n      sessionStorage.setItem(btoa('certifiable-document-types'), JSON.stringify(this.documentTypes));\n      this.init();\n    });\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: 'bo/certifiable-document-buckets/certifiable-documents',\n      query: 'sort=-uploadedAt'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        uuid: {\n          control: 'combo',  \n          label: 'Utente', \n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'uuid-in'} }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'uuid-in'\n        },\n        status: {\n          control: 'combo', \n          label: 'Stato',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'PENDING', text: 'In attesa di approvazione' }, { value: 'APPROVED', text: 'Approvato' }, { value: 'REFUSED', text: 'Rifiutato' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'PENDING'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.status = this.params.filterStatus || this.searchInterface.data.status;\n      this._search();\n    }).catch(error => { \n      console.log('ERROR - searchInterface initialization failed', error);\n    });\n  }\n\n  setPlaceholderType() {\n    this.tableInterface.data.forEach(document => {\n      document.placeholderType = this.documentTypes.find(documentType => documentType.code === document.code)?.placeholderType || null;\n    });\n  }\n\n  _search() {\n    this.searchInterface.search().then(() => {\n      this.setPlaceholderType();\n    }).catch(error => {\n      console.log('ERROR - searchInterface search failed', error);\n    });\n  }\n\n  approval(item) {\n    if (!item) return\n\n    this.dialog.open({\n      title: `Stato documento`,\n      class: 'small documenti-approval',\n      viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n      viewModelParams: { document: item }\n    }, true).whenClosed(response => {\n      let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        this.toast.show(`Documento ${certification} con successo!`, 'success');\n      }\n    });\n  }\n\n  download(file) {\n    if (!file.downloadUri) return this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server: percorso Uri non disponibile' });\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(this.environment.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    });\n  }\n}\n","import { inject } from \"aurelia-framework\";\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { DateTime } from 'luxon';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class VMMultitrax {\n  endpoint = 'mtrax/outbox-messages';\n  editEnabled = false;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTable();\n  }\n\n  async initTable() {\n    this.tableInterface = new TableInterface({\n      name: 'tableInterface',\n      endpoint: this.endpoint,\n      client: this.api\n    });\n    this.searchInterface = new SearchInterface({\n      name: 'searchInterface',\n      table: this.tableInterface,\n      client: this.api,\n      schema: {\n        strategyIn: {\n          label: 'Modalità', \n          control: 'text',  \n          query: 'strategy-in'\n        },\n        typeIn: {\n          label: 'Tipologia', \n          control: 'text',  \n          query: 'type-in'\n        },\n        createdAtStart: {\n          label: 'Data creazione dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        lastAttemptStart: {\n          label: 'Ultimo tentativo dal', \n          control: 'date',  \n          query: 'last-failed-attempt-gte'\n        },\n        lastAttemptEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'last-failed-attempt-lte'\n        },\n        deliveredAtStart: {\n          label: 'Data elaborazione mtrax dal', \n          control: 'date',  \n          query: 'delivered-at-gte'\n        },\n        deliveredAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'delivered-at-lte'\n        },\n        notDelivered: {\n          description: '',\n          control: 'check',\n          query: 'delivered-at'\n        },\n        excludeFromRetry: {\n          label: 'Escludi da retry automatico',\n          control: 'combo',\n          datasource: [{\n            \"text\": \"Sì\",\n            \"value\": \"YES\"\n          }, {\n            \"text\": \"No\",\n            \"value\": \"NO\"\n          }],\n          query: 'exclude-from-retry'\n        }\n      },\n      data: {}\n    });\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        return this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  deleteRecord(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler eliminare questo record?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`mtrax/outbox-messages/${record.id}`).then(() => {\n          this.toast.show('Segnalatore eliminato con successo', 'success');\n          this.tableInterface.load();\n        }).catch(error => {\n          console.error(error);\n        });\n      }\n    });\n  }\n\n  setExcludeFromRetry(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n  \n  setNotDelivered(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    data.deliveredAt = null;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n}\n\nexport class DaysFormatValueConverter {\n  toView(value) {\n    if (!value) return value;\n    let difference = DateTime.fromISO(value).diffNow('days').days;\n    let result = Math.floor(Math.abs(difference));\n    return `${result > 0 ? result : '' } ${result === 1 ? 'giorno' : (result === 0 ? 'meno di 24h' : 'giorni')} fa`;\n  }\n}","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogNotificationDetail {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    this.userDisplayName = this.params.userDisplayName;\n    this.notificationUuid = this.params.notificationUuid;\n    this.getNotification();\n  }\n\n  getNotification() {\n    this.api.get(`bo/users/${this.userId}/system-notifications/${this.notificationUuid}`).then(xhr => {\n      this.notification = xhr.response;\n      this.dataParse();\n\n      // Iframe\n      setTimeout(() => {\n        let emailFrame = document.getElementById(\"emailFrame\");\n        emailFrame.srcdoc = this.notification.emailHtmlBody;\n      }, 100)\n    });\n  }\n\n  dataParse() {\n    let channels = [];\n    if (this.notification.scheduleEmail === 'YES') {\n      channels.push('email');\n      const buildEmail = (pattern = '') => {\n        return {\n          recipientEmailAddress: this.notification[`recipientEmailAddress${pattern}`],\n          emailDispatchedAt: this.notification[`email${pattern}DispatchedAt`],\n          emailDispatchErrorAt: this.notification[`email${pattern}DispatchErrorAt`],\n          emailDispatchErrorMessage: this.notification[`email${pattern}DispatchErrorMessage`],\n          emailDeliveredAt: this.notification[`email${pattern}DeliveredAt`],\n          emailBouncedAt: this.notification[`email${pattern}BouncedAt`],\n          emailBounceReason: this.notification[`email${pattern}BounceReason`]\n        }\n      }\n      let emails = [];\n      emails.push(buildEmail());\n      if (this.notification.recipientEmailAddress2) emails.push(buildEmail('2'));\n      if (this.notification.recipientEmailAddress3) emails.push(buildEmail('3'));\n      this.notification.emails = emails;\n    }\n    if (this.notification.scheduleSms === 'YES') channels.push('sms');\n    if (this.notification.scheduleUiNotice === 'YES') channels.push('ui');\n\n    this.notification.channels = channels;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmNotifiche {\n  tabs = [\n    {\n      id: 'notifiche',\n      label: 'Notifiche di sistema',\n      vm: PLATFORM.moduleName('views/backoffice/notifiche-sistema/tabs/lista-notifiche')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { notifiche: false }, buttons: {} };\n    if (this.api.hasRole('LIST_USER_SYSTEM_NOTIFICATIONS')) {\n      this.privileges.tabs.notifiche = true;\n    }\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListaNotifiche {\n  userId = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-notifiche-sistema',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n\n    // PARSE query\n    this.tableInterface.parseQuery = (query) => {\n      query = new URLSearchParams(query);\n      if (query.has('schedules-email')) {\n         query.set('schedules-email', query.get('schedules-email') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-sms')) {\n        query.set('schedules-sms', query.get('schedules-sms') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-ui')) {\n        query.set('schedules-ui', query.get('schedules-ui') === 'true' ? 'YES' : 'NO');\n      }\n      return query.toString();\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-notifiche-sistema-search',\n      table: this.tableInterface,\n      schema: {\n        user: { \n          control: 'combo', \n          label: 'Utente',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        code: {\n          control: 'combo', \n          label: 'Codice',\n          datasource: { table: 'system-notification-templates' },\n          datavalue: 'code', \n          datatext: 'code',\n          datamultiple: false,\n          datapreload: true,\n          query: 'code'\n        },\n        scheduleEmail: {\n          label: 'Notifiche Email',\n          control: 'check',\n          description: 'Canale Email',\n          query: 'schedules-email'\n        },\n        statusEmail: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-email'\n        },\n        scheduleSms: {\n          label: 'Notifiche SMS',\n          control: 'check',\n          description: 'Canale SMS',\n          query: 'schedules-sms'\n        },\n        statusSms: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-sms'\n        },\n        scheduleUiNotice: {\n          label: 'Notifiche UI',\n          control: 'check',\n          description: 'Canale UI',\n          query: 'schedules-ui'\n        },\n        statusUI: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{value: 'null', text: 'Nessuno stato'}, {value: 'DISPATCHED', text: 'Inviate'}, {value: 'DISPATCH-FAILED', text: 'Non Inviate'}, {value: 'DELIVERED', text: 'Consegnate'}, {value: 'BOUNCED', text: 'Non Consegnate'}],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-ui'\n        }\n      },\n      data: {\n        statusEmail: 'null',\n        statusSms: 'null',\n        statusUI: 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.selectedChannel();\n      if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.userId = this.searchInterface.data.user;\n    this.tableInterface.endpoint = `bo/users/${this.userId}/system-notifications`;\n    this.searchInterface.search().then(() => {\n      // User profile\n      this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n        let response = xhr.response;\n        if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n        this.selectedUser = response;\n      });\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.selectedChannel();\n  }\n\n  selectedChannel() {\n    if (!this.searchInterface.data.scheduleEmail) this.searchInterface.data.statusEmail = 'null';\n    if (!this.searchInterface.data.scheduleSms) this.searchInterface.data.statusSms = 'null';\n    if (!this.searchInterface.data.scheduleUiNotice) this.searchInterface.data.statusUI = 'null';\n  }\n\n  statusTooltip(step, channel, item) {\n    let dispatchedAt = `${channel}DispatchedAt`;\n    let dispatchError = `${channel}DispatchErrorAt`;\n    let dispatchErrorMessage = `${channel}DispatchErrorMessage`;\n    let deliveredAt = `${channel}DeliveredAt`;\n    let bounced = `${channel}BouncedAt`;\n    let bounceReason = `${channel}BounceReason`;\n    let date = this.aurelia.resources.valueConverters.dateFormat.toView(item.createdAt);\n\n    // Tooltip\n    if (step == 1) {\n      return `<div class=\"notifications-tooltip success\"><strong>Creata</strong><br><em>${date}</em></div>`;\n    } else if (step == 2) {\n      date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchError] ? item[dispatchError] : item[dispatchedAt]);\n      if (item[dispatchError]) return `<div class=\"notifications-tooltip error\"><strong>Non inviata</strong><br>${item[dispatchErrorMessage]}<br><em>${date}</em></div>`;\n      if (item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip success\"><strong>Inviata</strong><br><em>${date}</em></div>`;\n      if (item.createdAt && !item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere inviata</strong></div>`;\n    } else if (step == 3) {\n      if (channel === 'ui' && dispatchedAt) {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchedAt]);\n        return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><em>${date}</em></div>`\n      } else {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[bounced] ? item[bounced] : item[deliveredAt]);\n        if (item[bounced]) return `<div class=\"notifications-tooltip error\"><strong>Non consegnata</strong><br>${item[bounceReason]}<br><em>${date}</em></div>`;\n        if (item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><br><em>${date}</em></div>`;\n        if (item[dispatchedAt] && !item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere consegnata</strong></div>`;\n      }\n    }\n  }\n\n  detail(item) {\n    this.dialog.open({\n      title: `Dettaglio notifica per ${this.selectedUser.profile.displayName}`,\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio'),\n      viewModelParams: { notificationUuid: item.uuid, userId: this.userId, userDisplayName: this.selectedUser.profile.displayName }\n    }, true);\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogAssignEditor {\n  resource = {\n    controls: {},\n    schema: {\n      user: {\n        label: 'Utente assegnatario',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        query: 'owner-uuid-in'\n      },\n      email: {\n        label: 'Email nuovo utente da registrare',\n        control: 'text'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = null;\n      // two different logics: multidialogo existent user | email of user who needs to register\n      if (this.resource.data.user) {\n        data = {\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`users/${this.resource.data.user}/promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = {\n          email: this.resource.data.email,\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast, DateTime } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogOfferteEditor {\n  resource = {\n    controls: {},\n    schema: {\n      title: {\n        label: 'Titolo',\n        control: 'text',\n        required: true\n      },\n      description: {\n        label: 'Descrizione',\n        control: 'textarea',\n        required: true\n      },\n      startAt: {\n        label: 'Data inizio validità',\n        control: 'datetime',\n        readonly: false,\n        required: true\n      },\n      endAt: {\n        label: 'Data fine validità',\n        control: 'datetime',\n        required: true\n      },\n      code: {  \n        label: 'Codice offerta',\n        control: 'text',\n        readonly: false,\n        required: true\n      },\n      targetUserType: {\n        label: 'Applicabile a',\n        control: 'combo',\n        datasource: [{ value: 'PARENT', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      contextBusinessType: {\n        label: 'Contesto attività',\n        control: 'combo',\n        datasource: [{ value: 'BUILDING-ADMINISTRATOR', text: 'Amministratore' }, { value: '', text: 'N/D' }],\n        readonly: false\n      },\n      promotionCode: {\n        control: 'combo', \n        label: 'Codice promozione', \n        datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }}, \n        datavalue: 'code', \n        datatext: 'code', \n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      deadlineType: {\n        label: 'Seleziona la tipologia di scadenza',\n        control: 'combo',\n        datasource: [\n          { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n          { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      deadlineAt: {\n        label: null,\n        control: 'datetime',\n        required: true\n      },\n      public: {\n        label: 'Disponibilità',\n        control: 'check',\n        description: 'Offerta privata'\n      }\n    },\n    data: {\n      deadlineType: 'USER-CREATION'\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params) {\n      this.resource.data = this.params.offer;\n      this.resource.schema.startAt.readonly = this.resource.schema.code.readonly = this.resource.schema.promotionCode.readonly = this.resource.schema.targetUserType.readonly = this.resource.schema.contextBusinessType.readonly = this.resource.schema.public.readonly = true;\n    }\n  }\n\n  deadlineTypeChange() {\n    return this.resource.controls.deadlineAt.label = this.resource.data?.deadlineType === 'USER-CREATION' ? 'Scadenza per iscrizione utente' : 'Scadenza per sottoscrizione servizio';\n  }\n\n  save($event) {\n    $event.model.busy = true\n    this.resource.validate().then(() => {\n      let data = null;\n      if (this.params) {\n        data = {\n          title: this.resource.data.title,\n          description: this.resource.data.description,\n          endAt: this.resource.data.endAt,\n          deadlineType: this.resource.data.deadlineType,\n          deadlineAt: this.resource.data.deadlineAt\n        }\n        this.api.patch(`bo/promotion-offers/${this.params.offer.code}`, data).then(() => {\n          this.toast.show(`Modifiche effettuate con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - PATCH', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = structuredClone(this.resource.data);\n        data.public = (this.resource.data.public === true ? 'NO' : 'YES');\n        this.api.post(`bo/promotion-offers`, data).then(() => {\n          this.toast.show(`Offerta creata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmOfferte {\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione offerte',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-gestione')\n    },\n    {\n      id: 'prenotate',\n      label: 'Offerte prenotate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-prenotate')\n    },\n    {\n      id: 'riscattate',\n      label: 'Offerte riscattate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-riscattate')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { gestione: false, prenotate: false, riscattate: false } };\n    if (this.api.hasRole(['LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION', 'LIST_ANY_PROMOTION_OFFER'])) {\n      this.privileges.tabs.gestione = this.privileges.tabs.prenotate = this.privileges.tabs.riscattate = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteGestione {\n  mdt = mdt;\n  currentDate = new Date().toISOString();\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offers'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'code'\n        },\n        status: {\n        label: 'Stato offerta',\n        control: 'combo',\n        datasource: [\n          { value: 'ACTIVE', text: 'Attiva' },\n          { value: 'EXPIRED', text: 'Scaduta' },\n          { value: 'INCOMING', text: 'Non ancora attivabile' }\n        ],\n        query: 'status'\n        },\n        promotionCode: {\n          control: 'combo',\n          label: 'Codice promozione', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }},\n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: false,\n          query: 'promotion-code'\n        },\n        createdAtGte: {\n          label: 'Offerta creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        startAtGte: {\n          label: 'Inizio validità dal',\n          control: 'date',\n          query: 'start-at-gte'\n        },\n        startAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'start-at-lte'\n        },\n        endAtGte: {\n          label: 'Fine validità dal',\n          control: 'date',\n          query: 'end-at-gte'\n        },\n        endAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'end-at-lte'\n        },\n        deadlineType: {\n          label: 'Seleziona la tipologia di scadenza',\n          control: 'combo',\n          datasource: [\n            { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n            { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'deadline-type'\n        },\n        deadlineAtGte: {\n          label: null,\n          control: 'date',\n          query: 'deadline-at-gte'\n        },\n        deadlineAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'deadline-at-lte'\n        },\n        serviceCreationDeadlineGte: {\n          label: 'Scadenza sottoscrizione servizio dal',\n          control: 'date',\n          query: 'user-creation-deadline-gte'\n        },\n        serviceCreationDeadlineLte: {\n          label: 'al',\n          control: 'date',\n          query: 'user-creation-deadline-lte'\n        },\n        targetUserType: {\n          label: 'Applicabile a',\n          control: 'combo',\n          datasource: [\n            { value: 'PARENT', text: 'Utenti' }, \n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          readonly: this.params?.offer ? true : false,\n          query: 'target-user-type'\n        },\n        public: {\n          label: 'Offerte private',\n          control: 'combo',\n          datasource: [\n            { value: 'NO', text: 'Mostra solo offerte private' },\n            { value: 'YES', text: 'Mostra solo offerte pubbliche' },\n          ],\n          query: 'public'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => { \n      this.searchInterface.data.createdAtGte = this.searchInterface.data.createdAtLte = null;\n      this.searchInterface.data.startAtGte = this.searchInterface.data.startAtLte = null;\n      this.searchInterface.data.endAtGte = this.searchInterface.data.endAtLte = null;\n      this.searchInterface.data.userCreationDeadlineGte = this.searchInterface.data.userCreationDeadlineLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.code}`, 'Link offerta');\n  }\n\n  deadlineTypeChange() {\n    if (this.searchInterface.data) {\n      if (this.searchInterface.data.deadlineType) {\n        let deadline = this.searchInterface.data.deadlineType === 'USER-CREATION' ? 'iscrizione utente' : 'sottoscrizione servizio';\n        return this.searchInterface.controls.deadlineAtGte.label = `Scadenza ${deadline} dal`;\n      } else {\n        return this.searchInterface.data.deadlineAtGte = this.searchInterface.data.deadlineAtLte = null;\n      }\n    } else return;\n  }\n\n  createOffer() {\n    this.dialog.open({\n      title: 'Crea nuova offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.tableInterface.load(); }\n    });  \n  }\n\n  editOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  assignOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Assegnazione offerta',\n      class: 'assign-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/assign-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOffertePrenotate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-prenotate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=PENDING'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-prenotate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteRiscattate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    this.offerlink = `${this.api.baseUrl.slice(0, -1)}${this.router.currentInstruction.fragment}`;\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-riscattate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=REDEEMED'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-riscattate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        redeemedAtGte: {\n          label: 'Data riscatto dal',\n          control: 'date',\n          query: 'redeemed-at-gte'\n        },\n        redeemedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'redeemed-at-lte'\n        },\n        userId: {\n          label: 'ID utente',\n          control: 'text',\n          query: 'user-id'\n        },\n        userUuid: {\n          label: 'UUID utente',\n          control: 'text',\n          query: 'user-uuid'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.data.redeemedAtGte = this.searchInterface.data.redeemedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmContracts {\n  privileges = {};\n  tabs = [\n    {\n      id: 'subscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/subscriptions')\n    },\n    {\n      id: 'serviceContracts',\n      label: 'Contratti servizi',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/service-contracts')\n    },\n    {\n      id: 'multinvioContracts',\n      label: 'Contratti MultInvio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/multinvio-contracts')\n    },\n    {\n      id: 'userSubscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-subscriptions')\n    },\n    {\n      id: 'userArchive',\n      label: 'Archivio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-archive')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      openDialogContractDetail: (record, url) => {\n        if (!url) url = `bo/cashback-contracts/${record.id || record.contractUuid}`;\n        const htmlTemplate = record.userRenderableHtml || null;\n        const version = record.version || record.contractVersion;\n        const type = record.type && ['FLAT-SERVICE', 'MULTINVIO-VOLUMES'].includes(record.type) ? record.type : record.contractType;\n        const title = `Contratto cashback per ${type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'} - ${version}`;\n        this.dialog.open({\n          title: title,\n          class: 'contract-detail',\n          viewModelParams: { url, htmlTemplate },\n          viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-detail')\n        });\n      },\n      copyText: (text, item) => {\n        return navigator.clipboard.writeText(text),\n        this.toast.show(`${item} copiato con successo!`, 'success');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const isOperator = this.api.hasRole('LIST_ANY_USER');\n\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS')) {\n      ['userSubscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_CASHBACK_CONTRACTS')) {\n      ['serviceContracts', 'multinvioContracts'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACT_ACCEPTANCES')) {\n      ['userArchive'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE')) {\n      ['subscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractDetail {\n  htmlTemplate;\n  pendingGetCashbackContract;\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  init() {\n    if (!this.params.htmlTemplate) this.getCashbackContract();\n    else this.htmlTemplate = this.params.htmlTemplate;\n  }\n\n  getCashbackContract() {\n    this.pendingGetCashbackContract = true;\n    return this.api.get(this.params.url).then((xhr) => {\n      const response = xhr.response;\n      return this.htmlTemplate = response.htmlTemplate || response.userRenderableHtml;\n    }).catch((error) => {\n      console.error('GET url', error);\n      return this.resource.error(error);\n    }).finally(() => {\n      this.pendingGetCashbackContract = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractRescission {\n  isConfirmed = false;\n  userUuid;\n  currentDate = new Date().toLocaleDateString('it-IT');\n  userId;\n  latestVersions = [];\n  schemaMessages = {\n    'NO': {\n      value: 'Messaggio personalizzato',\n      text: null\n    },\n    'PEC': {\n      value: 'Messaggio per recesso tramite PEC',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite PEC in data ${this.currentDate}, al recesso del contratto cashback`\n    },\n    'POSTA': {\n      value: 'Messaggio per recesso tramite Raccomandata',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite raccomandata in data ${this.currentDate}, al recesso del contratto cashback`\n    }\n  }\n  resource = {\n    data: {\n      defaultMessage: 'NO'\n    },\n    controls: {},\n    schema: {\n      userUuid: {\n        required: true,\n        label: 'Utente',\n        readonly: false,\n        datavalue: 'uuid',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { \n          table: 'bo/users?include=user-profiles', \n          query: { search: 'text-search', item: 'uuid-in' } \n        },\n        validationRule: {\n          satisfies: () => { return this.userId !== null; },\n          withMessage: 'Questo utente non ha mai sottoscritto contratti cashback.',\n        }\n      },\n      contractType: {\n        control: 'combo',\n        label: 'Tipologia contratto',\n        datasource: [\n          { text: 'Qualsiasi', value: 'null' },\n          { text: 'Servizi', value: 'FLAT-SERVICE' },\n          { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n        ],\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      defaultMessage: {\n        required: true,\n        control: 'combo',\n        label: 'Seleziona un messaggio predefinito',\n        datasource: this.setDatasourceDefaultMessage(),\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      reason: {\n        required: true,\n        control: 'textarea',\n        placeholder: 'Scrivi qui il tuo messaggio...',\n        label: 'Messaggio per il cliente'\n      },\n      isConfirmed: {\n        required: true ,\n        control: 'check',\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          control.validate().then((result) => {\n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          });\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userUuid = params.userUuid;\n    this.contractType = params.contractType;\n    if (this.userUuid) this.resource.data.userUuid = this.userUuid;\n    if (this.contractType) this.resource.data.contractType = this.contractType;\n  }\n\n  setDatasourceDefaultMessage() {\n    let datasource = [];\n    Object.entries(this.schemaMessages).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.value })\n    });\n    return datasource;\n  }\n\n  changeDefaultMessage() {\n    this.resource.data.reason = this.schemaMessages[this.resource.data.defaultMessage].text;\n  }\n\n  setLatestContractVersion(response) {\n    const latestVersions = [];\n    response.forEach((acceptance) => {\n      // the last acceptances of contracts are always the first two in the array\n      if (latestVersions.length === 2) return;\n      if (latestVersions.every((item) => Object.keys(item)[0] !== acceptance.contractType)) {\n        const contractType = `${acceptance.contractType}`;\n        latestVersions.push({ [contractType]: acceptance.contractVersion });\n      }\n    });\n    return latestVersions;\n  }\n\n  changeUserUuid() {\n    if (this.resource.data.userUuid) {\n      return this.api.get(`bo/cashback-contract-acceptances?user-uuid=${this.resource.data.userUuid}`).then((xhr) => {\n        const response = xhr.response;\n        if (response.length) {\n          this.latestVersions = this.setLatestContractVersion(response);\n          this.userId = response[0].userId;\n        } else {\n          this.userId = null;\n          this.latestVersions = null;\n        }\n      }).catch((error) => {\n        console.error('`bo/cashback-contract-acceptances', error);\n        this.toast.show('Errore durante l\\'elaborazione dei dati', 'error');\n      });\n    }\n  }\n\n  parseData() {\n    let data = structuredClone(this.resource.data); \n    data = {\n      ...(![undefined, null, 'null'].includes(data.contractType) && { contractType: data.contractType }),\n      ...(data.reason && { reason: data.reason })\n    }\n    return data;\n  }\n\n  rescindContract(event) {\n    let data = this.parseData();\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/cashback-contract-acceptance-rescissions`, data).then(() => {\n        this.toast.show(\"Contratto rescisso con successo\", \"success\");\n      }).catch((error) => {\n        console.error(\"bo/users/${this.userId}/cashback-contract-acceptance-rescissions\", error);\n        this.resource.error(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.controller.cancel();\n      });\n    }).catch(() => {\n      event.model.busy = false; \n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractCreate {\n  cashbackContract;\n  pendingCreateCashbackContracts;\n  resource = {\n    data: {},\n    controls: {},\n    schema: { htmlTemplate: { control: 'editor', label: 'Inserire contratto in formato HTML', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  openDialogConfirmContractCreation() {\n    return this.dialog.open({\n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'confirm', \n      body: `<strong>Stai creando un nuovo contratto cashback per ${this.params.type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'}.</strong><br>Confermi di voler creare una nuova versione di questo contratto?`\n    });\n  }\n\n  createCashbackContracts($event) {\n    $event.model.busy = true;\n    this.pendingCreateCashbackContracts = true;\n    this.resource.data.type = this.params.type;\n    return this.openDialogConfirmContractCreation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.resource.validate().then(() => {\n          return this.api.post('bo/cashback-contracts', this.resource.data).then(() => {\n            this.toast.show('Modifiche salvate con successo!', 'success');\n            this.controller.ok();\n          }).catch((error) => {\n            console.error('createCashbackContracts', error);\n            this.resource.error(error);\n          }).finally(() => {\n            this.pendingCreateCashbackContracts = false;\n            $event.model.busy = false;\n          });\n        }).catch(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        $event.model.busy = false;\n        this.pendingCreateCashbackContracts = false;\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewMultinvioContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-multinvio-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'MULTINVIO-VOLUMES' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewServiceContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-service-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=FLAT-SERVICE'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'FLAT-SERVICE' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewSubscriptions {\n  mdt = mdt;\n  serviceContract;\n  multinvioContract;\n  serviceContractPending = true;\n  multinvioContractPending = true;\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-subscriptions',\n      client: this.api,\n      endpoint: 'bo/cashback-contract-acceptances'\n    });\n    this.tableInterface.initialize();\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'table-subscriptions-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'user-uuid'\n        },\n        type: {\n          control: 'combo',\n          label: 'Tipologia contratto',\n          datasource: [\n            { text: 'Qualsiaisi', value: 'null' },\n            { text: 'Servizi', value: 'FLAT-SERVICE' },\n            { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'contract-type'\n        }\n      },\n      data: {\n        type: 'null'\n      }\n    });\n\n    this.searchInterface.initialize().then(() => {\n      return this.searchInterface.search();\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.type = 'null';\n  }\n\n  dialogCashbackContractRescission() {\n    return this.dialog.open({\n      class: 'medium contract-rescission',\n      title: 'Recedi contratto',\n      viewModelParams: { userUuid: this.searchInterface.data.user, contractType: this.searchInterface.data.type },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-rescission')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router)\nexport class viewUserArchive {\n  constructor(api, router) {\n    this.api = api;\n    this.router = router;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n    model.tab.controller = this;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    const promises = [ this.serviceContractSubscriptions(), this.multinvioContractSubscriptions() ];\n    Promise.all(promises);\n  }\n\n  serviceContractSubscriptions() {\n    this.tableInterfaceServiceContractSubscriptions = new TableInterface({\n      name: 'table-cashback-archive',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=FLAT-SERVICE'\n    });\n    \n    this.tableInterfaceServiceContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceServiceContractSubscriptions.load();\n    });\n  }\n\n  multinvioContractSubscriptions() {\n    this.tableInterfaceMultinvioContractSubscriptions = new TableInterface({\n      name: 'table-archived-contracts',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterfaceMultinvioContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceMultinvioContractSubscriptions.load();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewUserSubscriptions {\n  multinvioContract;\n  flatServiceContract;\n  controllerTabUserArchive;\n  pendingGetMultinvioContract = true;\n  pendingGetFlatServiceContract = true;\n  pendingSubscriptionMultinvioContract = false;\n  pendingSubscriptionFlatServiceContract = false;\n  clauses = {\n    'FLAT-SERVICE' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n          tooltip: \"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\"\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    },\n    'MULTINVIO-VOLUMES' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.model = model;\n    model.tab.controller = this;\n    this.parent = model.$parent;\n  }\n\n  attached() {\n    this.init();\n    this.controllerTabUserArchive = this.parent.tabs.find((tab) => tab.id === 'userArchive').controller;\n  }\n\n  init() {\n    this.toast.consume();\n    return Promise.all([\n      this.getLatSubscriptedMultinvioContract(),\n      this.getLastSubscriptedFlatServiceContract()\n    ]);\n  }\n\n  setClausesData(contract) {\n    const type = contract.type;\n    const acceptedAt = contract.acceptedAt;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].data[key] = !!acceptedAt;\n    });\n  }\n\n  setClausesReadonly(contract) {\n    const type = contract.type;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].schema[key].readonly = contract.acceptedAt ? true : !this.clauses[type].schema[key].readonly;\n    });\n  }\n\n  getLastSubscriptedFlatServiceContract() {\n    this.pendingFlatServiceContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextFlatServiceContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.flatServiceContract = response;\n        this.pendingFlatServiceContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextFlatServiceContract();\n      } else {\n        console.log('GET last-accepted-flat-service', error);\n        this.pendingFlatServiceContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextFlatServiceContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.setClausesReadonly(response);\n      this.flatServiceContract = response;\n      this.flatServiceContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-flat-service', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingFlatServiceContract = false;\n    });\n  }\n\n  getLatSubscriptedMultinvioContract() {\n    this.pendingMultinvioContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextMultinvioContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.multinvioContract = response;\n        this.pendingMultinvioContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextMultinvioContract();\n      } else {\n        console.log('GET last-accepted-multinvio-volumes', error);\n        this.pendingMultinvioContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextMultinvioContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;  \n      this.setClausesReadonly(response);\n      this.multinvioContract = response;\n      this.multinvioContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-multinvio-volumes', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingMultinvioContract = false;\n    });\n  }\n\n  setEndpointDownloadPdf(type) {\n    let context = 'next';\n    if (type === 'FLAT-SERVICE' && this.flatServiceContract?.acceptedAt) context = 'last-accepted';\n    else if (type === 'MULTINVIO-VOLUMES' && this.multinvioContract?.acceptedAt) context = 'last-accepted';\n    return `users/me/cashback-contracts/${context}-${type.toLowerCase()}.pdf`;\n  }\n   \n  downloadPdfContract($event, type) {\n    $event.model.busy = true;\n    const uri = this.setEndpointDownloadPdf(type);\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Contratto scaricato correttamente\", 'success');\n      }).catch((error) => {\n        console.log(\"impossibile scaricare il pdf\", error);\n        this.toast.show('impossibile scaricare il contratto', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      })\n  }\n\n  subscribeContract(event, contract) {\n    if (contract.type) {\n      event.model.busy = true;\n      const storageSubscriptions = JSON.parse(localStorage.getItem('cashback-contracts-subscriptions'));\n      if (contract.type === 'FLAT-SERVICE') this.pendingSubscriptionFlatServiceContract = true;\n      else this.pendingSubscriptionMultinvioContract = true;\n      return this.api.post(`users/me/cashback-contracts/next-${contract?.type.toLowerCase()}/acceptances`, {}).then(() => {\n        this.toast.show('Contratto cashback accettato!', 'success');\n        if (storageSubscriptions) {\n          storageSubscriptions[contract.type] = false;\n          localStorage.setItem('cashback-contracts-subscriptions', JSON.stringify(storageSubscriptions));\n        }\n        this.controllerTabUserArchive.init();\n        if (contract.type === 'FLAT-SERVICE') this.getLastSubscriptedFlatServiceContract();\n        else this.getLatSubscriptedMultinvioContract();\n      }).catch((error) => {\n        console.log('POST cashback-contracts', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.pendingSubscriptionMultinvioContract = false;\n        this.pendingSubscriptionFlatServiceContract = false;\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogCreditTransfer {\n  resource = {\n    data: {\n      amount: 0\n    },\n    controls: {},\n    schema: { amount: { control: 'number', label: 'Importo in €', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  async saveTransferCreditMovements($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n\n    return this.resource.validate().then(() => {\n      return this.api.post('users/me/cashback-transfer-credit-movements', data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogEditRequest {\n  statusSchema = {\n    'REFUSED' : 'Rifiutata',\n    'CONFIRMED' : 'Confermata'\n  }\n  resource = {\n    data: {},\n    controls: {},\n    schema: {\n      statusReason: {\n        required: true,\n        label: 'Motivo',\n        control: 'text'\n      }\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.record = params.record;\n    this.status = params.status;\n  }\n\n  async saveEditRequest($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.api.patch(`bo/users/${this.record.userId}/cashback-withdrawal-requests/${this.record.id}`, data).then(() => {\n      this.toast.show(`Richiesta di prelievo ${this.statusSchema[this.status]} con successo!`, 'success');\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('Patch cashback-withdrawal-requests', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = true;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      status: this.status\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogInsertMovement {\n  resource = {\n    controls: {},\n    data: {\n      amount: 0,\n      direction: 'IN'\n    },\n    schema: {\n      user: {\n        control: 'combo', \n        label: 'Utente',\n        datavalue: 'id', \n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }}\n      },\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number'\n      },\n      direction: {\n        control: 'combo', \n        datatext: 'text',\n        datapreload: true,\n        datavalue: 'value', \n        label: 'Tipologia',\n        datamultiple: false,\n        datasource: [{ text: 'Entrata', value: 'IN' }, { text: 'Uscita', value: 'OUT' }]\n      },\n      reason: {\n        required: true,\n        control: 'text', \n        label: 'Causale'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    if (this.userId) {\n      this.resource.data.user = this.userId;\n      this.resource.schema.user.readonly = true;\n    }\n  }\n\n  async saveInsertCreditMovement($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.resource.validate().then(() => {\n      return this.api.post(`bo/users/${this.resource.data.user}/cashback-movements`, data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    delete clone.user;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogWithdrawalRequest {\n  uploadSessionUuid;\n  resource = {\n    controls: {},\n    schema: {\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number',\n      },\n      temporaryInvoiceFileUploadUuid: {\n        required: true,\n        control: 'file',\n        label: 'Carica documento PDF',\n        placeholder: 'Seleziona o trascina un file PDF'\n      }\n    },\n    data: {},\n    \n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach((control) => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.setWithdrawalAmount(this.params.billableAmount);\n  }\n\n  setWithdrawalAmount(amount) {\n    const { schema, data } = this.resource;\n    schema.amount.max = data.amount = amount;\n  }\n\n  async saveWithdrawalRequest($event) {\n    $event.model.busy = true;\n    await this.postUploadSessions($event);\n    const file = await this.fileUpload($event, this.resource.data.temporaryInvoiceFileUploadUuid[0]);\n    await this.postWithdrawalRequests($event, file);\n  }\n\n  async postUploadSessions($event) {\n    return this.api.post('users/me/upload-sessions', {}).then((xhr) => {\n      const response = xhr.response;\n      this.uploadSessionUuid = response.id;\n    }).catch((error) => {\n      console.log('Post users/me/upload-sessions', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'success');\n      $event.model.busy = false;\n    });\n  }\n\n  async fileUpload($event, file) {\n    const endpoint = `users/me/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = (error) => { \n          reject(error); \n        };\n      }).then(() => {\n        return this.api.post(endpoint, attachment).then((xhr) => {\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch((error) => {\n          $event.model.busy = false;\n          console.log('Post fileUpload', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject();\n        });\n      }).catch((error) => {\n        $event.model.busy = false;\n        console.log('Promise fileUpload', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject();\n      });\n    });\n  }\n\n  async postWithdrawalRequests($event, file) {\n    const data = this.parseData(this.resource.data, file);\n    return this.resource.validate().then(() => {\n      return this.api.post(`users/me/cashback-withdrawal-requests`, data).then(() => {\n        this.toast.show('Richiesta di prelievo avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-withdrawal-requests', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data, file) {\n    let clone = structuredClone(data);\n    delete clone.file;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount),\n      temporaryInvoiceFileUploadUuid: file.id\n    }\n  }\n  \n  downloadStaticResource(filename) {\n    const anchor = document.createElement('a');\n    anchor.download = filename;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class tabMovements {\n  transactionDisabledDate; // new Date('2025-03-01T00:00:01'); // this date MUST be instantiated like new Date('2026-12-03T03:24:00')\n  inhibitionCashbackMessage = `<div class=\"inhibition-cashback\"><p><strong>Grazie per la tua fedeltà!</strong><p/><p>Abbiamo tante novità per te e per questo motivo stiamo aggiornando la tua area cashback.</p><p>A breve sarà nuovamente possibile richiedere il tuo premio e molto altro!<p/><p> Non preoccuparti se in questa fase vedi il tuo saldo non disponibile, è assolutamente normale!<p/><p> Durante questa fase temporanea, infatti, continuerai comunque a maturare il tuo cashback, come di consueto.<p/><p> Al termine dell'aggiornamento visualizzerai il tuo saldo corretto.<p/><p> Multidialogo ti informerà prontamente, appena gli aggiornamenti saranno terminati.</p><p> Grazie per la collaborazione!<p/></div>`;\n  metaResponse;\n  lastAcceptedFlatServiceContract;\n  lastAcceptedMultinvioVolumesContract;\n  sourceTypeSchema = {\n    'IN': {\n      'text': 'Entrata',\n      'values': {\n        'HISTORY': 'Storicizzato',\n        'QUEUE': 'Spedizione MultInvio',\n        'FLAT-SUBSCRIPTION-MULTICAF': 'Abbonamento MultiCaf',\n        'FLAT-SUBSCRIPTION-MULTINVIO': 'Abbonamento MultInvio',\n        'FLAT-SUBSCRIPTION-MULTIFATTURE': 'Abbonamento MultiFatture',\n        'OPERATOR': 'Intervento operatore',\n      }\n    },\n    'OUT': {\n      'text': 'Uscita',\n      'values': {\n        'HISTORY': 'Storiczzato',\n        'TRANSFER-WITHDRAWAL': 'Prelievo',\n        'TRANSFER-CREDIT': 'Trasferimento',\n        'TRANSFER-VOUCHER': 'Trasferimento voucher BrainWare',\n        'OPERATOR': 'Intervento operatore'\n      }\n    }\n  }\n\n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.parent = model.$parent;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n    this.controllerTabRequests = this.parent.tabs.find((tab) => tab.id === 'requests').controller\n  }\n\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/cashback-movements`;\n    return endpoint;\n  }\n\n  setDirectionDatasource() {\n    const datasource = [{\n      value: 'null',\n      text: 'Tutti'\n    }];\n    Object.entries(this.sourceTypeSchema).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setSourceTypeDatasource() {\n    let datasource = [];\n    const schema = structuredClone(this.sourceTypeSchema);\n    const direction = this.searchInterface?.data?.direction || null;\n    const irregularTypes = [\n      'OPERATOR',\n      'FLAT-SUBSCRIPTION-MULTICAF',\n      'FLAT-SUBSCRIPTION-MULTINVIO',\n      'FLAT-SUBSCRIPTION-MULTIFATTURE'\n    ];\n\n    delete schema.IN.values.HISTORY;\n    delete schema.OUT.values.HISTORY;\n\n    if (!direction || direction === 'null') {\n      ['IN', 'OUT'].forEach((direction) => {\n        datasource.push({ value: direction, text: schema[direction].text, optgroup: true });\n        Object.entries(schema[direction].values).forEach(([key, value]) => {\n          if (irregularTypes.includes(key)) {\n            datasource.push({ value: `${key}-${direction}`, text: value });\n          } else {\n            datasource.push({ value: key, text: value });\n          }\n        });\n      });\n    } else {\n      Object.entries(schema[direction].values).forEach(([key, value]) => {\n        if (irregularTypes.includes(key)) {\n          datasource.push({ value: `${key}-${direction}`, text: value });\n        } else {\n          datasource.push({ value: key, text: value });\n        }\n      });\n    }\n\n    return datasource;\n  }\n\n  changeDirection() {\n    this.searchInterface.data.sourceType = null;\n    this.searchInterface.schema.sourceType = {\n      ...this.searchInterface.schema.sourceType,\n      datasource: this.setSourceTypeDatasource()\n    }\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-movements',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    let sourceUser = {};\n    const sourceUuids = {\n      control: 'combo',\n      label: 'Generati da',\n      datasource: {\n        table: 'users/me/users?include=user-profiles',\n        query: { search: 'text-search', item: 'uuid-in' }\n      },\n      datavalue: 'uuid',\n      datamultiple: true,\n      datapreload: false,\n      query: 'source-user-uuid-in',\n      datatext: 'profile[0].displayName'\n    };\n\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        direction: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          label: 'Tipologia',\n          datavalue: 'value',\n          query: 'direction',\n          datamultiple: false,\n          datasource: this.setDirectionDatasource(),\n        },\n        sourceType: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: true,\n          query: 'source-in',\n          datasource: this.setSourceTypeDatasource(),\n          label: 'Mostra solo le seguenti operazioni',\n        }\n      },\n      data: {\n        direction: 'null',\n        sourceUser: !this.privileges.isOperator ? true : ''\n      }\n    });\n\n    if (this.privileges.isOperator) {\n      sourceUser = {\n        required: true,\n        label: 'Utente',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' } }\n      }\n    } else {\n      sourceUser = {\n        control: 'check',\n        label: 'Includi generati dal',\n        query: 'source-user-not-me',\n        description: `Mio ${mdt.parsers.contextualize(this.api.user, 'account')}`\n      }\n    }\n\n    this.searchInterface.schema = {\n      sourceUser,\n      ...this.searchInterface.schema,\n      ...(!this.privileges.isOperator && { sourceUuids })\n    }\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    const isOperator = this.privileges.isOperator;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS') && !isOperator) {\n      promises.push(this.getLastAcceptedFlatServiceContract(), this.getLastlastAcceptedMultinvioVolumesContract());\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!isOperator) this.search();\n      if (isOperator && this.searchInterface.data.sourceUser) this.search();\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  getLastAcceptedFlatServiceContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedFlatServiceContract = response;\n    });\n  }\n\n  getLastlastAcceptedMultinvioVolumesContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedMultinvioVolumesContract = response;\n    });\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n\n    if (this.privileges.isOperator) {\n      this.tableInterface.endpoint = this.setEndpoint(data.sourceUser);\n    } else {\n      data.sourceUser = data.sourceUser ? 'NO' : 'YES';\n      if (data.sourceUuids?.length && data.sourceUser === 'NO') {\n        data.sourceUuids.push(this.api.user.uuid);\n      }\n    }\n\n    const tableInterface = await this.searchInterface.search(data);\n    this.metaResponse = tableInterface?.originalResponse?.meta;\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data.direction = 'null';\n    this.search();\n  }\n\n  isTransactionDisabledUntilDate(disabledUntilDate) {\n    let isDisabled = false;\n    if (disabledUntilDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate < disabledUntilDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  isTransactionDisabledAfterDate(disabledStartDate) {\n    let isDisabled = false;\n    if (disabledStartDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate > disabledStartDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  getCashbackTransferEligibilityCheck($event, scope) {\n    if (this.isTransactionDisabledAfterDate(this.transactionDisabledDate)) {\n      this.openTemporaryDialog(this.inhibitionCashbackMessage);\n    } else {\n      $event.model.busy = true;\n      this.api.get(`users/me/cashback-transfer-eligibility-check?scope=${scope}`).then(() => {\n        if (scope === 'TRANSFER-CREDIT') return this.dialogCreditTransfer();\n        // if (scope === 'TRANSFER-VOUCHER') return this.dialogTransferVoucher();\n        if (scope === 'TRANSFER-WITHDRAWAL') return this.dialogWithdrawalRequest();\n      }).catch((xhr) => {\n        console.log('Get cashback-transfer-eligibility-check', xhr);\n        return this.api.dialogError(xhr);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  openTemporaryDialog(bodyMessage) {\n    this.dialog.open({\n      title: 'Attenzione',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n\n  dialogWithdrawalRequest() {\n    return this.dialog.open({\n      class: 'medium withdrawal-request',\n      title: 'Preleva saldo fatturabile',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/withdrawal-request'),\n      viewModelParams: {\n        billableAmount: this.metaResponse.billableAmount\n      }\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n\n  dialogCreditTransfer() {\n    return this.dialog.open({\n      class: 'small credit-transfer',\n      title: 'Trasferisci sul mio credito servizio',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/credit-transfer')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  // dialogTransferVoucher() {\n  //   return this.dialog.open({\n  //     class: 'small transfer-voucher',\n  //     title: 'Aquista voucher BrainWare',\n  //     viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/transfer-voucher')\n  //   }).whenClosed((response) => {\n  //     if (!response.wasCancelled) {\n  //       this.search();\n  //     }\n  //   });\n  // }\n\n  dialogInsertMovement() {\n    const userId = this.searchInterface.data.sourceUser || null;\n    return this.dialog.open({\n      class: 'small insert-movement',\n      title: 'Inserisci movimento',\n      viewModelParams: { userId },\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/insert-movement')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  dialogServiceDetail(record) {\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n      viewModelParams: { ownerId: record.sourceUserId, flatServiceUuid: record.sourceFlatServiceSubscriptionUuid }\n    });\n  }\n\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/destinatari/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n\n  navigateToLegacyReport(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.get(`users/me/cross-login-tokens/current`).then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_report&multiqueue_uuid=${record.sourceQueueUuid}`);\n    }).catch(xhr => {\n      console.error('Error - GET cross-login-tokens/current', xhr);\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  movementDetail(record) {\n    if (record.sourceUserId) {\n      if (record.sourceFlatServiceSubscriptionUuid) {\n        return this.dialogServiceDetail(record);\n      } else if (record.sourceQueueUuid) {\n        // The queue detail currently links to legacy but will be replaced\n        return this.navigateToLegacyReport(record);\n        // return this.navigateToQueueDetail(record);\n      }\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class tabRequests {\n  status = {\n    'PENDING' : 'In attesa',\n    'REFUSED' : 'Rifiutata'\n  }\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    model.tab.controller = this;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n  }\n\n  setEndpoint() {\n    const path = this.privileges.isOperator ? 'bo' : 'users/me';\n    const endpoint = `${path}/cashback-withdrawal-requests`;\n    return endpoint;\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-requests',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-requests-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          label: 'Utente',\n          control: 'combo', \n          datavalue: 'uuid',\n          query: 'user-uuid',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: 'bo/users?include=user-profiles', \n            query: { search: 'text-search', item: 'uuid-in' }\n          }\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.search();\n  }\n\n  async search() {\n    return this.searchInterface.search();\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    return this.search();\n  }\n\n  async deleteRequest($event, record) {\n    return this.api.delete(`users/me/cashback-withdrawal-requests/${record.id}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta eliminata con successo!', 'success');\n    }).catch((xhr) => {\n      console.log('Delete cashback-withdrawal-requests', xhr);\n      return this.api.dialogError(xhr);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  dialogDeleteRequest($event, record) {\n    $event.model.busy = true;\n    return this.dialog.open({ \n      class: 'small', \n      type: 'confirm', \n      title: 'Attenzione!', \n      body: `Confermi di voler eliminare questa richiesta di prelievo?`}).whenClosed((response) => {\n      if (!response.wasCancelled) return this.deleteRequest($event, record);\n      $event.model.busy = false;\n    });\n  }\n\n  dialogEditRequest($event, record, status) {\n    $event.model.busy = true;\n    const statusSchema = { 'REFUSED': 'Rifiuta', 'CONFIRMED': 'Conferma' };\n    return this.dialog.open({\n      class: 'small edit-request',\n      title: `${statusSchema[status]} richiesta di prelievo`,\n      viewModelParams: { record, status }, \n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/edit-request')\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM, inject } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, Router, KaToast)\nexport class vmTransactions {\n  privileges = {};\n  tabs = [\n    {\n      id: 'movements',\n      label: 'Movimenti',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/movements')\n    },\n    {\n      id: 'requests',\n      label: 'Richieste',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/requests')\n    }\n  ];\n\n  constructor(api, router, KaToast) {\n    this.api = api;\n    this.router = router;\n    this.toast = KaToast;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      downloadDocument: ($event, userId, id) => {\n        $event.model.busy = true;\n        this.toast.show('Caricamento in corso', 'loading');\n        let uri = `/users/${userId || 'me'}/cashback-withdrawal-requests/${id}/downloads/invoice.pdf`;\n    \n        return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader('Accept', 'application/pdf')\n        .withHeader('Content-Type', 'application/pdf')\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          let regexp = new RegExp('filename=(.+\\.pdf$)', 'i');\n          let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n          let anchor = document.createElement('a');\n          let blob = new Blob([xhr.response], { type: 'application/pdf' });\n          let url = URL.createObjectURL(blob);\n    \n          anchor.href = url;\n          anchor.download = matches?.[1] || \"Fattura per richiesta trasferimento cashback.pdf\",\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show(`Documento scaricato con successo!`, 'success');\n        }).catch((error) => {\n          this.toast.show(`Impossibile scaricare il file!`, 'error');\n          console.log('Get downloads/invoice', error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_CASHBACK_MOVEMENT', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST');\n    \n    if (this.api.hasRole('LIST_USER_CASHBACK_MOVEMENTS', 'LIST_ANY_USER_CASHBACK_MOVEMENT')) {\n      ['movements'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')) {\n      ['requests'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogOrderDetail {\n  order;\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.userId = params.userId,\n    this.orderUuid = params.orderUuid,\n    this.orderStatuses = params.orderStatuses,\n    this.paymentMethods = params.paymentMethods;\n    this.downloadOrderInvoice = params.downloadOrderInvoice;\n    this.endpoint = `users/${this.userId}/orders/${this.orderUuid}`;\n  }\n\n  attached() {\n    this.setOrder();\n  }\n\n  getOrder() {\n    return this.api.get(this.endpoint).catch((error) => {\n      console.error('getOrder', error);\n    });\n  }\n\n  setOrder() {\n    this.getOrder().then((xhr) => {\n      this.order = xhr.response;\n      this.parseBillingProfileDetails();\n    });\n  }\n  parseBillingProfileDetails() {\n    if (this.order.billingProfileDetails) {\n      const billingProfile = structuredClone(this.order.billingProfileDetails);\n      this.order._billingProfileDetails = { \n        codes: this.parseBillingProfileCodes(billingProfile),\n        owner: this.parseBillingProfileOwner(billingProfile),\n        address: this.parseBillingProfileAddress(billingProfile)\n      };\n    }\n  }\n  parseBillingProfileAddress(billingProfile) {\n    let province;\n    let city;\n    const address = [billingProfile.streetAddress, billingProfile.zipCode].filter(Boolean).join(' - ');\n    if (billingProfile.city) {\n      province = ![undefined, billingProfile.city].includes(billingProfile.province) ? ` (${billingProfile.province})` : '';\n      city = `${billingProfile.city}${province}`;\n    }\n    return [address, city].filter(Boolean).join(', ');\n  }\n  parseBillingProfileOwner(billingProfile) {\n    return billingProfile.companyName || `${billingProfile.lastName} ${billingProfile.firstName}` || billingProfile.userDisplayName;\n  }\n  parseBillingProfileCodes(billingProfile) {\n    let codes = [];\n    const allowedCodes = ['ipaCode', 'sdiCode', 'officeCode', 'bankOfficeCode'];\n    const codesFound = Object.entries(billingProfile).filter((item) => allowedCodes.includes(item[0]));\n    codesFound?.forEach?.((item) => {\n      const code = item[1];\n      let text;\n      switch (item[0]) {\n        case 'sdiCode':\n          text = 'SDI:';\n          break;\n        case 'ipaCode':\n          text = 'iPa:';\n          break;\n        case 'officeCode':\n          text = 'Ufficio:';\n          break;\n        case 'bankOfficeCode':\n          text = 'Ufficio bancario:';\n          break;\n      }\n      codes.push({ text, code });\n    });\n    return codes;\n  }\n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(KaDialog, DialogController)\nexport class PaymentInstruction { \n\n  constructor(dialog, dialogController) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.instruction = params.order.paymentCoors;\n    this.order = params.order;\n  }  \n}\n","import { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MfApi } from 'services/mf-api';\n\nexport class SettleInvoice {\n  pendingInit;\n  error = {\n    load: { found: false, msg: 'Errore in fase di caricamento' },\n    confirm: { found: false, msg: 'Errore in fase di invio della richiesta' }\n  }\n  settle = null;\n\n  static inject = [MfApi, KaDialog, DialogController, KaToast];\n  constructor(mfApi, dialog, dialogController, toast) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n    this.mfApi = mfApi;\n    this.toast = toast;\n  }\n  activate(params) {\n    this.invoice = params.record;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    this.mfApi.post(`documents/${this.invoice.document_id}/checkinsolutomd`).then((xhr) => {\n      if (xhr.response && xhr.response.seen !== null && xhr.response.seen !== undefined) {\n        this.settle = { html: xhr.response.html };\n        this.error.load.found = false;\n      } else {\n        this.error.load.found = true;\n        this.toast.show('Errore nel caricamento!', 'error');\n      }\n    }).catch(error => {\n      console.error(error);\n      this.error.load.found = true;\n      this.toast.show('Errore nel caricamento!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { MfApi } from 'services/mf-api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MfFileDownload } from 'services/mf-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewInvoicesList {\n  filters;\n  mdt = mdt;\n  isPendingInit;\n  suppliers = [];\n  endpoint = 'documents';\n  tableInterfaceTotal = {};\n  defaultSettings = {\n    date_to: null,\n    date_from: mdt.helpers.setDateRange()\n  };\n  documentTypes = [\n    { value: 'I', text: 'Fattura' },\n    { value: 'R', text: 'Ricevuta' },\n    { value: 'C', text: 'Nota di credito' }\n  ];\n  paymentStatuses = [\n    { value: 'P', text: 'Pagato', class: 'success' },\n    { value: 'NP', text: 'Non pagato', class: 'error' },\n    { value: 'PP', text: 'Pagato parzialmente', class: 'pending' },\n    { value: 'G', text: 'Girata a terzi', class: 'pending' },\n    { value: 'I', text: 'Insoluto', class: 'error' },\n    { value: 'ND', text: 'ND', class: 'pending' },\n    { value: 'C', text: 'Contabilizzazione', class: '' },\n    { value: 'A', text: 'Addebito CC', class: 'secondary' },\n    { value: 'PB', text: 'SDD Pagato con bonifico', class: 'success' },\n    { value: 'PDC', text: 'SDD Prelievo da deposito cauzionale', class: 'success' },\n    { value: 'PNC', text: 'SDD Emessa nota di credito', class: 'success' }\n  ];\n\n  static inject = [Api, MfApi, Router, KaDialog, KaToast];\n  constructor(api, mfApi, router, kaDialog, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n    this.api = this.mfApi.api;\n    this.mfFileDownload = new MfFileDownload(this.api, this.mfApi, this.toast);\n  }\n\n  activate(params) {\n    this.params = params;\n    this.filters = structuredClone(params);\n    this.fromDashboard = params.source === 'dashboard';\n  }\n\n  attached() {\n    this.init();\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.mfApi,\n      name: 'invoices-table',\n      endpoint: this.endpoint\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach?.((record) => { this.parseData(record) });\n      return response;\n    };\n    this.tableInterface.parseQuery = (query) => {\n      const ipag = Math.floor((query.get('offset') || 0) / query.get('limit')) + 1;\n      const pagination = JSON.stringify({ ipag, limit: query.get('limit') });\n      query.set('pagination', pagination);\n      this.exportQuery = query\n      return query;\n    }\n    this.tableInterface.events.addEventListener('dataLoaded', () => { this.getCount(); });\n    return this.tableInterface.initialize();\n  }\n  getCount() {\n    const query = this.exportQuery;\n    query.delete('offset');\n    query.delete('pagination');\n    if (this.tableInterfaceTotal[query]) {\n      this.tableInterface.total = this.tableInterfaceTotal[query];\n    } else {\n      this.mfApi.get(`${this.endpoint}/count?${this.exportQuery}&getall=1`).then((xhr) => {\n        this.tableInterface.total = parseInt(xhr.response);\n        this.tableInterfaceTotal[query] = parseInt(xhr.response);\n      });\n    }\n\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'invoices-table-search',\n      table: this.tableInterface,\n      schema: {\n        doctype: {\n          control: 'combo',\n          datatext: \"text\",\n          datavalue: \"value\",\n          label: 'Tipo documento',\n          datasource: this.documentTypes,\n          query: 'doctype'\n        },\n        supplier_id: {\n          control: 'combo',\n          label: 'Fornitore',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: false,\n          datasource: [],\n          query: 'supplier_id'\n        },\n        name: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'name',\n        },\n        customer_code: {\n          label: 'Codice cliente',\n          control: 'text',\n          query: 'customer_code',\n        },\n        fiscal_code: {\n          control: 'text',\n          label: 'Codice fiscale',\n          query: 'fiscal_code'\n        },\n        payment_status: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: this.paymentStatuses,\n          query: 'payment_status'\n        },\n        source: {\n          query: 'source',\n          control: 'combo',\n          label: 'Sorgente',\n          datamultiple: false,\n          datasource: [{ value: 'ZEN', text: 'Caricate manualmente' }]\n        },\n        number: {\n          control: 'text',\n          label: 'Numero',\n          query: 'number'\n        },\n        date_from: {\n          label: 'Documenti dal',\n          control: 'date',\n          query: 'date_from'\n        },\n        date_to: {\n          label: 'al',\n          control: 'date',\n          query: 'date_to'\n        }\n      },\n      data: structuredClone(this.defaultSettings)\n    });\n    return this.searchInterface.initialize();\n  }\n  init() {\n    this.isPendingInit = true;\n    let promises = [this.getSuppliers(), this.initTableInterface(), this.initSearchInterface()];\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (this.filters && Object.keys(this.filters).length > 0 && !this.fromDashboard) {\n        this.consumeParams();\n      }\n      else if (this.fromDashboard) {\n        this.applyQueryFilters();\n        this.clearQueryString();\n      }\n      this.searchInterface.search()\n        .catch(() => { this.toast.show('Errore al caricamento della pagina!', 'error'); })\n        .finally(() => { this.isPendingInit = false; });\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('Init', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(false, false);\n    this.searchInterface.data = { date_from: mdt.helpers.setDateRange(), date_to: null };\n    this.searchInterface.search();\n  }\n  getSuppliers() {\n    const endpoint = 'suppliers';\n    const params = { enabled: 1, add_external: 1, order_by: 'name', order_type: 'ASC' };\n    return this.mfApi.get(endpoint, params).then((xhr) => {\n      const suppliers = xhr.response;\n      const multidialogo = { id: '1', name: 'MultiDialogo S.r.l.' };\n      if (suppliers.find((supplier) => supplier.id !== '1')) {\n        suppliers.unshift(multidialogo);\n      }\n      this.setSuppliersDatasource(suppliers);\n    }).catch((error) => {\n      console.error('getSuppliers', error);\n    });\n  }\n  dialogSettleInvoice(record) {\n    return this.dialog.open({\n      viewModelParams: { record },\n      class: 'medium settle-invoice',\n      title: 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/settle-invoice')\n    });\n  }\n  setSuppliersDatasource(suppliers) {\n    const datasource = Array.isArray(suppliers) ? suppliers : [];\n    this.searchInterface.schema.supplier_id = Object.assign({}, this.searchInterface.schema.supplier_id, { datasource });\n  }\n\n  // Parse functions\n  parseData(record) {\n    record.doctype_label = (this.documentTypes.find(item => item.value === record.doctype) || { text: 'ND' }).text;\n    record.supplier = (this.searchInterface.schema.supplier_id.datasource.find(item => String(item.id) === String(record.mfsuppliers_id)) || { name: 'ND', fiscal_code: 'ND' });\n    record.payment_status_label = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { text: 'ND' }).text;\n    record.payment_status_class = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { class: 'warning' }).class;\n    record.commodity = record.commodity && record.commodity.length ? record.commodity.split(',') : [];\n    record.report = record.report_filename !== null && record.report_filename.length > 0;\n\n    let codici = [];\n    let supplier = this.suppliers.find(item => String(item.id) === String(record.mfsuppliers_id));\n    if (supplier && supplier.pr && record.prcodes) {\n      codici = record.prcodes.split(',');\n    }\n    else if (record.pods && record.pods.length) {\n      codici = record.pods.split(',');\n    }\n    else {\n      codici.push(record.comp_code);\n    }\n\n    record.codici_importazione = codici;\n\n    if (record.mfsuppliers_id === '1' && record.payment === 'SDD' && record.payment_status === 'I') {\n      if (!record.sdd_request_pay || parseInt(record.sdd_request_pay, 10) === 0) {\n        record.settle = 'Salda con bonifico';\n      }\n      else if (parseInt(record.sdd_request_pay, 10) === 1) {\n        record.settle = 'Pagamento con bonifico richiesto';\n      }\n    }\n    return record;\n  }\n  parseDataQuery() {\n    const date_to = this.searchInterface.data.date_to?.substring?.(0, 10);\n    const date_from = this.searchInterface.data.date_from?.substring?.(0, 10);\n    return {\n      ...this.searchInterface.data,\n      ...(this.searchInterface.data.date_to && { date_to }),\n      ...(this.searchInterface.data.date_from && { date_from })\n    }\n  }\n\n  consumeParams() {\n    const dataKeys = Object.keys(this.searchInterface.data);\n    const schemaKeys = Object.keys(this.searchInterface.schema);\n    const consumedKeys = Object.keys(this.filters).filter((key) => schemaKeys.includes(key));\n    dataKeys.forEach((key) => {\n      delete this.searchInterface.data[key];\n    });\n    Object.assign(this.searchInterface.data, this.defaultSettings);\n    consumedKeys.forEach((key) => {\n      this.searchInterface.data[key] = this.params[key];\n    });\n    this.filters = null;\n    history.pushState(null, '', '/contabilita/invoices-list');\n    return consumedKeys;\n  }\n  applyQueryFilters() {\n    Object.keys(this.searchInterface.schema).forEach((key) => {\n      const value = this.params?.[key];\n      if (value !== undefined) this.searchInterface.data[key] = value;\n    });\n  }\n  clearQueryString() {\n    const { fragment } = this.router.currentInstruction;\n    this.router.navigate(fragment, { replace: true, trigger: false });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n\n@inject(Router, Api, KaToast, KaDialog, MdDatasources)\nexport class ViewOrders {\n  isOperator;\n  isMasterUser;\n  totalGrossAmount;\n  DEFAULT_DATE_RANGE_DAYS = 365;\n  orderStatuses = {\n    'A' : { text: \"In attesa di pagamento\", class: \"pending\" },\n    'C' : { text: \"Pagato\", class: \"success\" },\n    'I' : { text: \"Insoluto\", class: \"error\"}\n  }\n\n  constructor(router, api, toast, dialog, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.mdDatasources = mdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.orderId = params.id || null;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_ORDER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n  }\n\n  attached() {\n    this.paymentMethods = this.getPaymentMethod();\n    this.init();\n  }\n\n  getPaymentMethod() {\n    const paymentMethods = [...this.mdDatasources.paymentMethods];\n    paymentMethods.push({\n      code: 'LICENZACAL',\n      label: 'Prelievo da deposito cauzionale'\n    });\n    const mappedMethods = new Map(\n      paymentMethods.map(method => [method.code, method.label])\n    );\n    return mappedMethods;\n  }\n\n  getPaymentMethodDatasource = () => {\n    const cleanedPayments = this.mdDatasources?.paymentMethods?.filter((method) => {\n      return method.code !== \"E-PAYMENT\" && method.code !== \"PAYPAL\";\n    }).map((method) => {\n      const { code, label } = method;\n      const paymentMethod = {\n        text: label,\n        value: code\n      };\n      return paymentMethod;\n    });\n\n    const staticPaymentMethods = [\n      { text: 'Prelievo da deposito cauzionale', value: 'LICENZACAL' },\n    ];\n\n    const paymentMethods = [...cleanedPayments, ...staticPaymentMethods];\n    return paymentMethods;\n  };\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      if (!this.isOperator) this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'orders-table',\n      endpoint: null,\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.totalGrossAmount = event.xhr.originalResponse.meta.totalGrossAmount;\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'orders-table-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ordini vuoi visualizzare?',\n          datasource: this.isMasterUser ? this.getContextDatasource() : [],\n          datatext: \"text\",\n          datavalue: \"value\",\n          required: !this.isOperator,\n        },\n        owner: {\n          datavalue: 'id', \n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          required: !!this.isOperator,\n          label: 'Utente',\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, \n            query: { search: 'text-search', item: 'id-in'}\n          }\n        },\n        orderNumber: {\n          label: 'Numero ordine',\n          control: 'text',\n          query: 'order-id-in',\n          required: !!this.isOperator,\n        },\n        paymentStatus: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'CONFIRMED', text: 'Confermato' },\n            { value: 'PENDING', text: 'In attesa di pagamento' },\n            { value: 'UNSOLVED', text: 'Insoluto' }\n          ],\n          query: 'status'\n        },\n        createdAtGte: {\n          label: 'Ordine creato dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.getPaymentMethodDatasource(),\n          query: 'payment-method'\n        }\n      },\n      data: {\n        owner: null,\n        context: !this.isOperator ? 'USER&SUBUSERS' : null,\n        orderNumber: null,\n        paymentMethod: null,\n        paymentStatus: 'null',\n        createdAtLte: this.setDefaultDateRange(),\n        createdAtGte: this.setDefaultDateRange(this.DEFAULT_DATE_RANGE_DAYS)\n      }\n    });\n    \n    return this.searchInterface.initialize();\n  }\n\n  search() {\n    const { owner, orderNumber, context } = this.searchInterface.data;\n    this.updateValidationRules(owner, orderNumber);\n    this.tableInterface.endpoint = this.getOrdersEndpoint(owner, context, orderNumber);\n    if (this.orderId) this.consumeOrderId();  \n    this.searchInterface.search().then(() => {\n      if (this.isOperator) {\n        this.searchInterface.controls.owner.required = (this.searchInterface.controls.orderNumber.required = true);\n      }\n    });\n  }\n\n  consumeOrderId() {\n    this.searchInterface.data.orderNumber = this.orderId;\n    this.orderId = null;\n    history.pushState(null, '', '/contabilita/orders'); \n  }\n\n  setDefaultDateRange(days) {\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  contextChanged() {\n    this.setOwnerValue();\n  }\n\n  setOwnerValue() {\n    if (this.isMasterUser && this.searchInterface.data.context !== 'SUBUSERS') {\n      this.searchInterface.data.owner = null;\n    }\n  }\n\n  ownerChanged() {\n    this.setContextSchema();\n    this.setContextValue();\n  }\n\n  setContextSchema() {\n    if (this.isOperator) {\n      const { owner } = this.searchInterface.data;  \n      if (!owner) {\n        this.searchInterface.data.context = null;\n      } else {\n        this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource: this.getContextDatasource() });\n      }\n    }\n  }\n\n  setContextValue () {\n    if (this.isOperator && this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n      this.searchInterface.data.context = 'USER';\n    } else if (this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n    }\n  }\n\n  getContextDatasource() {\n    if (this.isOperator) {\n      let datasource = [{\n        value: 'USER',\n        text: `Gli ordini dell'utente`\n      }];\n      if (!this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n        datasource = [{\n          value: 'USER&SUBUSERS',\n          text: 'Gli ordini di tutti'\n        },\n        ...datasource,\n        { \n          value: 'SUBUSERS', \n          text: `Gli ordini dei sottoutenti` \n        }];\n      }\n      return datasource;\n    } else if(this.isMasterUser) {\n      return [{ \n        value: 'USER&SUBUSERS', \n        text: `Gli ordini di tutti` \n      }, { \n        value: 'USER', \n        text: `Gli ordini del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` \n      }, { \n        value: 'SUBUSERS', \n        text: `Gli ordini dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` \n      }];\n    }\n  }\n\n  getContextSuffix() {\n    const context = this.searchInterface?.data?.context;\n    let suffix = '';\n    if (context === 'SUBUSERS' && (this.isOperator || !this.searchInterface.data.owner)) {\n      suffix = '/~subs';\n    } else if (context === 'USER&SUBUSERS') {\n      suffix = '/~all';\n    }\n    return suffix;\n  }\n\n  updateValidationRules(owner, orderNumber) {\n    if (this.isOperator) {\n      if (!owner && orderNumber) {\n        this.searchInterface.controls.owner.required = false;\n      } else if (owner && !orderNumber) {\n        this.searchInterface.controls.orderNumber.required = false;\n      }\n    }\n  }\n\n  getOrdersEndpoint(owner, context, orderNumber) {\n    if (this.isOperator && !owner && orderNumber) {\n      return 'bo/orders';\n    }\n    const contextSuffix = this.getContextSuffix();\n    const isUserSpecific = this.isOperator || (context === 'SUBUSERS' && owner);\n    const basePath = isUserSpecific ? `users/${owner}` : 'users/me';\n    return `${basePath}/orders${contextSuffix}`;\n  }\n\n  parseBillingProfileOwner(billingProfile) {\n    return billingProfile.companyName || `${billingProfile.lastName} ${billingProfile.firstName}` || billingProfile.userDisplayName;\n  }\n\n  resetDateRange(days) {\n    this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n    this.searchInterface.data.createdAtGte = this.setDefaultDateRange(days);\n  }\n\n  reset() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.paymentStatus = 'null';\n    this.resetDateRange(this.DEFAULT_DATE_RANGE_DAYS);\n    this.tableInterface.data = null;\n    this.totalGrossAmount = null;\n    if (!this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n      this.search();\n    } else {\n      this.searchInterface.data.context = null;\n    }\n  }\n  \n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  dialogPaymentInstructions(order) {\n    return this.dialog.open({\n      viewModelParams: { order },\n      class: 'medium payment-instructions',\n      title: order.status === 'A' ? 'Istruzioni di pagamento' : 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/payment-instructions')\n    });\n  }\n\n  dialogOrderDetail(order) {\n    return this.dialog.open({\n      viewModelParams: { \n        userId: order.userId,\n        orderUuid: order.uuid,\n        orderStatuses: this.orderStatuses,\n        paymentMethods: this.getPaymentMethod(),\n        downloadOrderInvoice: this.downloadOrderInvoice.bind(this)\n      },\n      class: 'large order-detail',\n      title: `Dettaglio ordine`,\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/order-detail')\n    });\n  }\n\n  downloadOrderInvoice(order) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    const uri = `users/${order.userId}/orders/${order.uuid}/downloads/invoice.pdf`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const disposition = xhr.headers.headers['content-disposition'].value;\n        const matches = disposition ? disposition.match(regexp) : null;\n        const filename = (matches && matches[1]) ? matches[1] : 'invoice.pdf';\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = filename;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Fattura scaricata correttamente\", 'success');\n      }).catch((error) => {\n        console.error(error);\n        this.toast.show('Impossibile scaricare la fattura', 'error');\n      }).finally(() => {\n        this.toast.consume();\n      })\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\nexport class ViewPreCheckouts {\n  mdt = mdt;\n  types = {\n    'queues': { label: 'Spedizione', class: 'success', segment: 'queues' },\n    'fidelity-cards-activations': { label: 'Fidelity Card', class: 'secondary', segment: 'fidelity-card-activations' }\n    /* 'refill-packages': { label: 'Ricariche', class: 'primary', segment: 'refill-packages' } */\n  };\n  isPendingInit;\n  userCanConfirm;\n\n  static inject = [Api, KaDialog, KaToast, Router];\n  constructor(api, dialog, toast, router) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.router = router;\n    this.userCanConfirm = this.api.hasRole('CONFIRM_ANY_PRE_CHECKOUT');\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    const promises = [\n      this.initTableInterface(),\n      this.initSearchInterface()\n    ];\n    return Promise.all(promises).then(() => {\n      return this.search().finally(() => {\n        this.isPendingInit = false;\n      });\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'pre-checkouts-table',\n      endpoint: 'bo/unconfirmed-bank-transfer-pre-checkouts'\n    });\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'pre-checkouts-search',\n      table: this.tableInterface,\n      schema: {\n        owner: {\n          control: 'combo',\n          label: 'Utente',\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: 'bo/users?include=user-profiles',\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        createdAtGte: {\n          control: 'date',\n          label: 'Creata dal:',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          control: 'date',\n          label: 'Al:',\n          query: 'created-at-lte'\n        },\n        type: {\n          control: 'combo',\n          label: 'Tipologia',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'queues', text: 'Spedizione' },\n            { value: 'fidelity-cards-activations', text: 'Fidelity Card' }\n            /* { value: 'refill-packages', text: 'Ricariche' } */\n          ],\n          query: 'type'\n        },\n        shortConfirmationCode: {\n          control: 'text',\n          label: 'Codice conferma breve',\n          query: 'short-confirmation-code'\n        }\n      },\n      data: { type: 'null' }\n    });\n    return this.searchInterface.initialize();\n  }\n  setEndpoint() {\n    const owner = this.searchInterface.data.owner;\n    this.tableInterface.endpoint = owner ? `users/${owner}/unconfirmed-bank-transfer-pre-checkouts` : 'bo/unconfirmed-bank-transfer-pre-checkouts';\n  }\n  search() {\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.type = 'null';\n    return this.search();\n  }\n  confirmPayment(record) {\n    const segment = this.types[record.preCheckoutType].segment;\n    return this.api.patch(`bo/users/${record.owner?.id}/orders/${segment}/${record.uuid}/current`, { status: 'PAYMENT-CONFIRMED' }).then(() => {\n      this.toast.show('Pagamento confermato con successo!', 'success');\n      this.search();\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n  dialogConfirmPayment(record, event) {\n    event.model = { busy: true };\n    let body = this.handleDialogConfirmBodyMessage(record);\n    return this.dialog.open({\n      body,\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small pre-checkouts-payment-confirm'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n       return this.confirmPayment(record);\n      }\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n  handleDialogConfirmBodyMessage(record) {\n    let subject;\n    switch (record.preCheckoutType) {\n      case 'queues':\n        subject = `della spedizione <strong>${record.queueSendCode}</strong>`;\n        break;\n      case 'fidelity-cards-activations':\n        subject = `della Fidelity Card <strong>${record.fidelityCardCode}</strong>`;\n        break;\n      case 'refill-packages':\n        subject = `delle ricariche con codice di conferma breve <strong>${record.shortConfirmationCode}</strong>`;\n        break;\n    }\n    return `<p class=\"m-0\">Confermi il pagamento ${subject} dell'utente <strong>${record.owner?.displayName}</strong>?</p>`;\n  }\n  navigateToQueueDetail(record) {\n    if (record.owner?.id && record.uuid) {\n      this.router.navigate(`spedizioni/destinatari/${record.owner.id}/${record.uuid}`);\n    }\n  }\n}\n","\nimport { CapitalizeValueConverter } from '../../../resources/value-converters/capitalize';\nconst capitalize = new CapitalizeValueConverter();\n\nexport class viewDashboardAside {\n  sections = [];\n  dashboardViewModel;\n  carouselVisibleCards = Number(getComputedStyle(document.documentElement).getPropertyValue('--dashboard-aside-visible-cards')) || 2;\n  asideCardModel = {\n    href: '',\n    body: '',\n    meta: '',\n    badge: '',\n    title: '',\n    button: '',\n    target: '_self',\n    empty: false,\n    placeholder: false,\n  }\n  emptyCards = {\n    advice: { empty: true, badge: 'Multidialogo', title: 'Nessun avviso', subtitle: 'Ci sono novità per te!', body: 'Stiamo preparando questo spazio per offrirti avvisi e comunicazioni su misura.' },\n    offer: { empty: true, badge: 'Multidialogo', title: 'Nessuna offerta', subtitle: 'Ci sono novità per te!', body: 'Stiamo preparando questo spazio per offrirti offerte su misura.' }\n  }\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n    this.init();\n  }\n  init() {\n    const { multicoinSummaries, advices, offers } = this.dashboardViewModel;\n    this.sections = [\n      { code: 'multicoin', cards: [this.multicoinCard(multicoinSummaries)] },\n      this.carouselSection('advices', advices, 'advice'),\n      this.carouselSection('offers', offers, 'offer')\n    ];\n  }\n  carouselSection(code, items, variant) {\n    const sectionTitles = { advices: 'Avvisi per te', offers: 'Offerte per te' };\n    const list = Array.isArray(items) ? items : [];\n    return { code, empty: !list.length, index: 0, title: sectionTitles[code], cards: this.createCards(list, variant) };\n  }\n  createCard(variant, card) {\n    return { ...this.asideCardModel, ...card, variant };\n  }\n  createCards(cards, variant) {\n    const items = cards.length ? cards : Array.from({ length: this.carouselVisibleCards }, () => this.emptyCards[variant]);\n    return items.map((card) => this.createCard(variant, card));\n  }\n  multicoinCard(summaries) {\n    const code = 'multicoin';\n    const multicoin = summaries?.multicoin;\n    const fidelityCard = summaries?.fidelityCard;\n    const body = 'Con Multicoin trasformi i tuoi punti in premi reali.';\n    let card;\n    switch (true) {\n      case !!fidelityCard && multicoin?.isRegistered === 'NO':\n        card = {\n          body,\n          target: '_blank',\n          button: 'Registrati',\n          title: 'Registrati a Multicoin!',\n          href: `${ENVIRONMENT.APP_URL_MULTICOIN}`\n        };\n        break;\n      case !!fidelityCard && multicoin?.isRegistered === 'YES' && fidelityCard.isUpgradable === 'YES':\n        card = {\n          button: 'Scopri',\n          href: 'fidelity-cards/activation',\n          title: 'Passa alla Fidelity Card Gold!',\n          body: `Ti consigliamo di fare un upgrade della tua Fidelity Card ${capitalize.toView(fidelityCard.code)} per poter maturare più punti Multicoin e accedere a nuovi vantaggi esclusivi.`\n        };\n        break;\n      case !fidelityCard:\n        card = {\n          button: 'Scopri',\n          href: 'fidelity-cards/activation',\n          title: 'Attiva una Fidelity Card!',\n          body: 'La Fidelity Card ti dà il benvenuto nel programma Multicoin: accumuli punti attivando i servizi in abbonamento e partecipi alle operazioni a premi. Attivala subito.'\n        };\n        break;\n      default:\n        card = {\n          body,\n          target: '_blank',\n          button: 'Accedi',\n          title: 'Accedi a Multicoin!',\n          href: `${ENVIRONMENT.APP_URL_MULTICOIN}`\n        };\n    }\n    return this.createCard(code, { badge: code, ...card });\n  }\n  carouselMove(section, step) {\n    const lastIndex = Math.max(0, section.cards.length - this.carouselVisibleCards);\n    section.index = Math.min(lastIndex, Math.max(0, section.index + step));\n  }\n}\n","export class viewDashboardAsideCard {\n  card;\n  activate(model) {\n    this.card = model.card;\n  }\n}\n\n","export class viewCard {\n  activate(model) {\n    this.card = model.card;\n    this.card.flipped = false;\n    this.cardViewModel= this;\n    this.dashboardViewModel = model.dashboardViewModel;\n    this.card.faces = [this.card, this.dashboardViewModel.cardsModel.settings];\n  }\n  // Una sola card girata alla volta: girandone una, quella eventualmente già girata torna sul fronte\n  toggleFlip() {\n    const dashboard = this.dashboardViewModel;\n    const flipped = !this.card.flipped;\n    if (flipped && dashboard.flippedCard && dashboard.flippedCard !== this.card) dashboard.flippedCard.flipped = false;\n    dashboard.flippedCard = flipped ? this.card : null;\n    this.card.flipped = flipped;\n  }\n}\n","import { observable } from 'aurelia-framework';\nimport { periodRange } from '../../../../services/dates';\nimport { CompactNumberValueConverter } from '../../../../resources/value-converters/compact-number';\n\nexport class ViewCreditTransactions {\n  pendingInit;\n  @observable period = 'current-month';\n  compactNumber = new CompactNumberValueConverter();\n  endpoint = 'users/me/dashboard/credit-transactions';\n  periods = [\n    { value: 'current-month', text: 'Mese corrente' },\n    { value: 'last-30-days', text: 'Ultimi 30 giorni' },\n    { value: 'last-60-days', text: 'Ultimi 60 giorni' }\n  ];\n  periodChanged(value, old) {\n    if (value && value !== old) this.init();\n  }\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  legendPartials;\n  barChartPartials;\n  cardsConfig = {\n    count: 2,\n    compact: false\n  }\n  legendConfig = {\n    count: 3,\n    compact: false,\n    title: 'Credito corrente',\n    href: 'servizi/credito/crediti',\n    tooltip: 'Vai alla sezione movimenti credito'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: '€ totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const path = `${this.endpoint}?period=${this.period}`;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(path);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.credits || !data?.debits || !data?.currentAmount) {\n        console.error('creditTransactions', result.reason ?? data);\n        return;\n      }\n      const { currentAmount, credits, debits } = data;\n      this.barChartConfig.total = currentAmount.total;\n      const currentAmountVatSubject = currentAmount.vatSubject;\n      const currentAmountNoVatSubject = currentAmount.noVatSubject;\n      const { start, end } = periodRange(this.period);\n      const creditsHref = (type) => `servizi/credito/crediti?${new URLSearchParams({ source: 'dashboard', context: 'me', type, dateStart: start, dateEnd: end })}`;\n      this.cardsPartials = [\n        [{\n          title: 'Entrate',\n          partial: credits.total,\n          prefix: '+',\n          suffix: '€',\n          info: [\n            `${this.compactNumber.toView(credits.vatSubject, { compact: false })} € servizio`,\n            `${this.compactNumber.toView(credits.noVatSubject, { compact: false })} € affrancatura`\n          ],\n          color: 'var(--dashboard-green)',\n          href: creditsHref('CREDIT')\n        }],\n        [{\n          title: 'Uscite',\n          partial: debits.total,\n          prefix: '-',\n          suffix: '€',\n          info: [\n            `${this.compactNumber.toView(debits.vatSubject, { compact: false })} € servizio`,\n            `${this.compactNumber.toView(debits.noVatSubject, { compact: false })} € affrancatura`\n          ],\n          color: 'var(--dashboard-red)',\n          href: creditsHref('DEBIT')\n        }],\n      ];\n      this.legendPartials = [\n        [{ title: 'servizio', partial: currentAmountVatSubject, suffix: '€', color: 'var(--dashboard-green)' }],\n        [{ title: 'totale', partial: currentAmount.total, suffix: '€' }],\n        [{ title: 'affrancatura', partial: currentAmountNoVatSubject, suffix: '€', color: 'var(--dashboard-yellow)' }]\n      ];\n      this.barChartPartials = [\n        [{ title: 'servizio', partial: currentAmountVatSubject, suffix: '€', color: 'var(--dashboard-green)' }],\n        [{ title: 'affrancatura', partial: currentAmountNoVatSubject, suffix: '€', color: 'var(--dashboard-yellow)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","export class ViewFlatServicesActivations {\n  pendingInit;\n  endpoint = `users/me/dashboard/flat-services-activations`;\n  context = 'all';\n  contexts = [{ value: 'all', text: 'Studio + Condomini' }];\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  legendPartials;\n  barChartPartials;\n  cardsConfig = {\n    count: 3,\n    total: 0\n  }\n  legendConfig = {\n    count: 3,\n    total: 0,\n    title: 'Abbonamenti',\n    href: '/servizi/abbonamenti?ka-tab-main=attivi'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(this.endpoint);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.expiring || !data?.subscriptions) {\n        console.error('flatServicesActivations', result.reason ?? data);\n        return;\n      }\n\n      const { expiring, subscriptions } = data;\n      const href = '/servizi/abbonamenti?ka-tab-main=attivi';\n      const subscriptionsActive = subscriptions.active;\n      const subscriptionsPending = subscriptions.pending;\n      const subscriptionsNotActive = subscriptions.notActive;\n\n      this.cardsConfig.total = subscriptionsActive;\n      this.legendConfig.total = this.barChartConfig.total = subscriptions.total;\n      this.cardsPartials = [\n        [{ title: 'In scadenza', partial: expiring.withAutoRenewEnabled, color: 'var(--dashboard-yellow)', info: 'Con autorinnovo', href }],\n        [{ title: 'Servizi', partial: subscriptionsActive, color: 'var(--dashboard-green)', info: 'Totale attivi', showTotal: false, href }],\n        [{ title: 'In scadenza', partial: expiring.withAutoRenewDisabled, color: 'var(--dashboard-red)', info: 'Senza autorinnovo', href }]\n      ];\n      this.legendPartials = [\n        [{ title: 'Attivi', partial: subscriptionsActive, color: 'var(--dashboard-green)' }],\n        [{ title: 'Da pagare', partial: subscriptionsPending, color: 'var(--dashboard-yellow)' }],\n        [{ title: 'Non attivi', partial: subscriptionsNotActive, color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: subscriptionsActive, color: 'var(--dashboard-green)' }],\n        [{ partial: subscriptionsPending, color: 'var(--dashboard-yellow)' }],\n        [{ partial: subscriptionsNotActive, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import { observable } from 'aurelia-framework';\nimport { periodRange } from '../../../../services/dates';\n\nexport class ViewInvoices {\n  pendingInit;\n  endpoint = 'users/me/dashboard/billing-summary';\n  @observable period = 'current-month';\n  periods = [\n    { value: 'current-month', text: 'Mese corrente' },\n    { value: 'last-30-days', text: 'Ultimi 30 giorni' },\n    { value: 'last-60-days', text: 'Ultimi 60 giorni' }\n  ];\n  periodChanged(value, old) {\n    if (value && value !== old) this.init();\n  }\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  legendPartials;\n  barChartPartials;\n  cardsConfig = {\n    count: 3,\n    total: 0\n  }\n  legendConfig = {\n    count: 3,\n    total: 0,\n    title: 'Pagamento ordini',\n    href: '/contabilita/orders',\n    tooltip: 'Vai alla sezione ordini'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const path = `${this.endpoint}?period=${this.period}`;\n    const request = this.dashboardViewModel.cardsModel.getCard(path);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.invoices || !data?.orders) {\n        console.error('invoices', result.reason ?? data);\n        return;\n      }\n      const { invoices, orders } = data;\n      const ordersPending = orders.pending;\n      const ordersUnsolved = orders.unsolved;\n      const ordersCompleted = orders.completed;\n\n      this.cardsConfig.total = invoices.total;\n      this.legendConfig.total = this.barChartConfig.total = orders.total;\n      const { start, end } = periodRange(this.period);\n      const invoicesHref = (payment_status) => `contabilita/invoices-list?${new URLSearchParams({ source: 'dashboard', payment_status, date_from: start, date_to: end })}`;\n\n      this.cardsPartials = [\n        [{ title: 'Fatture', partial: invoices.paid, info: 'Pagate', color: 'var(--dashboard-green)', href: invoicesHref('P') }],\n        [{ title: 'Fatture', partial: invoices.toPay, info: 'Non pagato', color: 'var(--dashboard-yellow)',  href: invoicesHref('NP') }],\n        [{ title: 'Fatture', partial: invoices.unsolved, info: 'Insoluti', color: 'var(--dashboard-red)',  href: invoicesHref('I') }]\n      ];\n      this.legendPartials = [\n        [{ title: 'Completato', partial: ordersCompleted, color: 'var(--dashboard-green)' }],\n        [{ title: 'In attesa', partial: ordersPending, color: 'var(--dashboard-yellow)' }],\n        [{ title: 'Insoluto', partial: ordersUnsolved, color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: ordersCompleted, color: 'var(--dashboard-green)' }],\n        [{ partial: ordersPending, color: 'var(--dashboard-yellow)' }],\n        [{ partial: ordersUnsolved, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import { observable } from 'aurelia-framework';\n\nexport class ViewMavs {\n  pendingInit;\n  endpoint = 'users/me/dashboard/mavs';\n  @observable period = 'current-month';\n  periods = [\n    { value: 'current-month', text: 'Mese corrente' },\n    { value: 'last-30-days', text: 'Ultimi 30 giorni' },\n    { value: 'last-60-days', text: 'Ultimi 60 giorni' }\n  ];\n  periodChanged(value, old) {\n    if (value && value !== old) this.init();\n  }\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  legendPartials;\n  barChartPartials;\n  cardsConfig = {\n    count: 3,\n    total: 0\n  }\n  legendConfig = {\n    count: 3,\n    total: 0,\n    title: 'Flussi CBI',\n    href: '/riscossioni/pagamento?ka-tab-main=mav'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const path = `${this.endpoint}?period=${this.period}`;\n    const request = this.dashboardViewModel.cardsModel.getCard(path);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.mavReceipts || !data?.mavs) {\n        console.error('mavs', result.reason ?? data);\n        return;\n      }\n      const { mavReceipts, mavs } = data;\n      const mavDelivered = mavs.delivered;\n      const mavNotDelivered = mavs.notDelivered;\n      const mavTraveling = mavs.traveling;\n      this.cardsConfig.total = mavs.total;\n      const mavReceiptsDownloaded = mavReceipts.downloaded;\n      const mavReceiptsNotDownloaded = mavReceipts.notDownloaded;\n      const mavReceiptsTotal = this.legendConfig.total = this.barChartConfig.total = mavReceipts.total;\n      this.cardsPartials = [\n        [{ title: 'Bollettini MAV', partial: mavDelivered, info: 'consegnati', color: 'var(--dashboard-green)' }],\n        [{ title: 'Bollettini MAV', partial: mavTraveling, info: 'in transito', color: 'var(--dashboard-yellow)' }],\n        [{ title: 'Bollettini MAV', partial: mavNotDelivered, info: 'non consegnati', color: 'var(--dashboard-red)' }]\n      ];\n      this.legendPartials = [\n        [{ title: 'scaricati', partial: mavReceiptsDownloaded, color: 'var(--dashboard-green)' }],\n        [{ title: 'flussi totali', partial: mavReceiptsTotal, showTotal: false }],\n        [{ title: 'non scaricati', partial: mavReceiptsNotDownloaded, color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: mavReceiptsDownloaded, color: 'var(--dashboard-green)' }],\n        [{ partial: mavReceiptsNotDownloaded, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import { DateFormatValueConverter } from '../../../../resources/value-converters/date-format';\nimport { CompactNumberValueConverter } from '../../../../resources/value-converters/compact-number';\nconst dateFormat = new DateFormatValueConverter();\nconst compactNumber = new CompactNumberValueConverter();\n\nexport class ViewMulticoinMovements {\n  pendingInit;\n  period = 'current-year';\n  periods = [{ value: 'current-year', text: 'Anno in corso' }];\n  endpoint = 'users/me/dashboard/multicoin-movements';\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  legendPartials;\n  barChartPartials;\n  cardsConfig = {\n    count: 2,\n    total: 0,\n    compact: false\n  }\n  legendConfig = {\n    count: 3,\n    compact: false,\n    title: 'Punti multicoin',\n    href: 'fidelity-cards/activation',\n    tooltip: 'Vai alla sezione movimenti e punteggio Multicoin'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'Punti totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const path = `${this.endpoint}?period=${this.period}`;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(path);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n \n      if (result.status !== 'fulfilled' || !data?.multicoinPoints) {\n        console.error('multicoinMovements', result.reason ?? data);\n        return;\n      }\n      const { multicoinPoints, fidelity } = data;\n      const fidelityCard = {\n        title: 'Fidelity Card',\n        color: 'var(--dashboard-yellow)',\n        href: 'fidelity-cards/activation',\n        ...(fidelity\n          ? {\n            partial: fidelity.code,\n            info: [`in scadenza il ${dateFormat.toView(fidelity.expireAt, 'DD/MM/YY')}`, this.setFidelityCardInfo(fidelity)]\n          }\n          : {\n            cta: 'Attiva una Fidelity',\n            partial: 'Non attiva',\n            info: 'Vuoi accumulare punti?'\n          }\n        )\n      };\n      this.cardsPartials = [\n        [{\n          title: 'Multicoin',\n          partial: multicoinPoints.total,\n          suffix: 'pt.',\n          info: 'Punti totali',\n          cta: 'Accedi a Multicoin',\n          color: 'var(--dashboard-green)',\n          href: ENVIRONMENT.APP_URL_MULTICOIN,\n          target: '_blank'\n        }],\n        [fidelityCard]\n      ];\n      this.legendPartials = [\n        [{ title: 'trasferiti', partial: multicoinPoints.countTransferred, suffix: 'pt.', color: 'var(--dashboard-green)' }],\n        [{ title: 'da trasferire', partial: multicoinPoints.countPending, suffix: 'pt.', color: 'var(--dashboard-yellow)' }],\n        [{ title: 'bloccati', partial: multicoinPoints.countBlocked, suffix: 'pt.', color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: multicoinPoints.countTransferred, color: 'var(--dashboard-green)' }],\n        [{ partial: multicoinPoints.countPending, color: 'var(--dashboard-yellow)' }],\n        [{ partial: multicoinPoints.countBlocked, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n  setFidelityCardInfo(fidelity) {\n    switch(true) {\n      case fidelity.canUpgrade === 'YES':\n        return 'Upgrade a Gold!';       \n      case fidelity.canUpgrade === 'NO' && fidelity.autoRenewEnabled === 'YES':\n        return 'Autorinnovo attivo';\n      case fidelity.canUpgrade === 'NO' && fidelity.autoRenewEnabled === 'NO':\n        return 'Autorinnovo non attivo';\n    }\n  }\n}\n","export class ViewPreCheckouts {\n  pendingInit;\n  period = 'current-year';\n  periods = [{ value: 'current-year', text: 'Anno corrente' }];\n  endpoint = `users/me/dashboard/unconfirmed-pre-checkouts?period=${this.period}`;\n\n  // mdCards, mdChartLegend, mdBarChart\n  partials;\n  config = {\n    count: 2,\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali',\n    title: 'Pagamenti in attesa'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(this.endpoint);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      if (result.status !== 'fulfilled' || !result?.value?.response?.waitingPayments) {\n        console.error('preCheckouts', result.reason);\n      } else {\n        const info = 'Attesa pagamento';\n        const data = result.value.response;\n        const { total, queues, fidelityCards } = data.waitingPayments;\n        this.config.total = total;\n        this.partials = [\n          [{ title: 'Spedizioni', partial: queues, color: 'var(--dashboard-green)', info, href: '/spedizioni/pending' }],\n          [{ title: 'Fidelity card', partial: fidelityCards, color: 'var(--dashboard-yellow)', info, href: '/fidelity-cards/activation' }],\n          /* [{ title: 'Ricariche', partial: data.waitingPayments.refillPackages, color: 'var(--dashboard-red)', info, target: '_blank', href: '/servizi/ricariche?ka-tab-main=ricariche' }] */\n        ];\n      }\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import { observable } from 'aurelia-framework';\n\nexport class ViewQueueMessagesEmailPec {\n  pendingInit;\n  @observable period = 'current-month';\n  endpoint = 'users/me/dashboard/queue-messages-email-pec';\n  periods = [\n    { value: 'current-month', text: 'Mese corrente' },\n    { value: 'last-30-days', text: 'Ultimi 30 giorni' },\n    { value: 'last-60-days', text: 'Ultimi 60 giorni' }\n  ];\n  periodChanged(value, old) {\n    if (value && value !== old) this.init();\n  }\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  cardsConfig = { total: 0, count: 3 }\n  legendPartials;\n  legendConfig = {\n    count: 3,\n    total: 0,\n    title: 'Spedizioni PEC',\n    href: '/spedizioni/reportistica/inviate',\n    tooltip: 'Vai alla sezione reportistica'\n  }\n  barChartPartials;\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const path = `${this.endpoint}?period=${this.period}`;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(path);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.sendemail || !data?.pec) {\n        console.error('queueMessagesEmailPec', result.reason ?? data);\n        return;\n      }\n\n      const { sendemail, pec } = data;\n      this.cardsConfig.total = sendemail.total;\n      this.cardsPartials = [\n        [{\n          title: 'Email',\n          info: 'Consegnate',\n          color: 'var(--dashboard-green)',\n          partial: sendemail.countCompleted,\n          href: '/spedizioni/reportistica/inviate'\n        }],\n        [{\n          title: 'Email',\n          info: 'Totale inviate',\n          partial: sendemail.total,\n          color: 'var(--dashboard-yellow)',\n          href: '/spedizioni/reportistica/inviate'\n        }],\n        [{\n          title: 'Email',\n          color: 'var(--dashboard-red)',\n          partial: sendemail.countNotDelivered,\n          href: '/spedizioni/reportistica/inviate',\n          info: [\n            'Non consegnate',\n            `Dest. irragiungibili ${sendemail.countBounced}`\n          ]\n        }],\n      ];\n      this.legendConfig.total = this.barChartConfig.total = pec.total;\n      this.legendPartials = [\n        [{ title: 'consegnate', partial: pec.countCompleted, color: 'var(--dashboard-green)' }],\n        [{ title: 'totale inviate', partial: pec.total, suffix: 'PEC' }],\n        [{ title: 'non consegnate', partial: pec.countNotDelivered, color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: pec.countCompleted, color: 'var(--dashboard-green)' }],\n        [{ partial: pec.countNotDelivered, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","export class viewSettings {\n  selectedItem = null;\n\n  activate(model) {\n    this.currentFace = model.face;\n    this.cardViewModel = model.cardViewModel;\n    this.dashboardViewModel = model.dashboardViewModel;\n    this.api = this.dashboardViewModel.api;\n  }\n  // La card mostrata ora, letta ogni volta: dopo una sostituzione activate non viene sempre richiamato,\n  // quindi un valore salvato in activate resterebbe quello della card precedente\n  get ownCard() {\n    return this.cardViewModel.card;\n  }\n  // Chiamata dal template ogni volta che la card si gira (flipped è il suo argomento):\n  // la lista è sempre calcolata sul layout attuale. In cima la card attuale, poi quelle non in dashboard\n  setSelectableItems(flipped) {\n    let selected = [];\n    const ownCode = this.ownCard.code;\n    if (ownCode !== 'SETTINGS') {\n      selected = [this.ownCard];\n    }\n    const cards = this.dashboardViewModel.cards;\n    const items = this.dashboardViewModel.cardsModel.items;\n    const cardCodes = new Set(cards.map((card) => card.code));\n    this.selectedItem = selected[0] ?? null;\n    return [...selected, ...items.filter((item) => item.code !== ownCode && !cardCodes.has(item.code))];\n  }\n  selectCard(item, event) {\n    // Un solo salvataggio alla volta: durante la PUT switch e liste sono disabilitati\n    if (this.dashboardViewModel.isLayoutSaving) return;\n    this.dashboardViewModel.isLayoutSaving = true;\n    event.model = { busy: true };\n    this.selectedItem = item;\n    const minDelay = 300;\n    const cards = this.dashboardViewModel.cards;\n    const items = cards.map((card) => card.code);\n    const index = items.indexOf(this.ownCard.code);\n    if (index !== -1) items.splice(index, 1, item.code);\n    const minDuration = new Promise((resolve) => setTimeout(resolve, minDelay));\n    const promises = [ this.api.put('users/me/dashboard-items/current', { items }), minDuration ];\n    return Promise.allSettled(promises).then(([result]) => {\n      if (result.status !== 'fulfilled') {\n        console.error('selectCard', result.reason);\n        this.selectedItem = this.ownCard;\n        return;\n      }\n      if (index !== -1) cards[index] = item;\n      this.dashboardViewModel.flippedCard = null;\n      this.cardViewModel.card = { ...item, flipped: false, faces: [item, this.currentFace] };\n    }).finally(() => {\n      event.model.busy = false;\n      this.dashboardViewModel.isLayoutSaving = false;\n    });\n  }\n}\n","import mdt from 'services/md-tools';\n\nexport class ViewSubusers {\n  pendingInit;\n  displaySubuser;\n  totalSubusers = 0;\n  endpoint = `users/me/dashboard/subusers`;\n\n  // mdCards, mdChartLegend, mdBarChart\n  cardsPartials;\n  barChartPartials;\n  legendPartials;\n  cardsConfig = { count: 3, total: 0 }\n  legendConfig = {\n    count: 3,\n    total: 0,\n    href: '/anagrafiche/utenti'\n  }\n  barChartConfig = {\n    total: 0,\n    delay: 400,\n    pause: 200,\n    duration: 1500,\n    label: 'totali'\n  }\n\n  activate(model) {\n    this.dashboardViewModel = model.dashboardViewModel;\n    this.api = this.dashboardViewModel.api;\n    this.displaySubuser = mdt.parsers.contextualize(this.api.user, 'Utenti');\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    const minDuration = new Promise((resolve) => setTimeout(resolve, this.dashboardViewModel.initDelayCards));\n    const request = this.dashboardViewModel.cardsModel.getCard(this.endpoint);\n\n    return Promise.allSettled([request, minDuration]).then(([result]) => {\n      const data = result.value?.response;\n\n      if (result.status !== 'fulfilled' || !data?.collectionMethods || !data?.condominiums) {\n        console.error('subusers', result.reason);\n        return;\n      }\n      const { collectionMethods, condominiums } = data;\n      const condominiumsActive = condominiums.active;\n      const condominiumsNotActive = condominiums.notActive;\n      const condominiumsArchived = condominiums.archived;\n \n      this.cardsConfig.total = condominiums.active;\n      this.legendConfig.title = this.displaySubuser;\n      this.totalSubusers = this.legendConfig.total = this.barChartConfig.total = condominiums.total;\n      this.cardsPartials = [\n        [{ \n          title: 'SDD', \n          partial: collectionMethods.sdd, \n          color: 'var(--dashboard-green)', \n          href: '/anagrafiche/utenti/fatturazione', \n          info: [ `${this.displaySubuser} con`, 'SDD Attivo' ]\n        }],\n        [{ \n          title: 'Boll. MAV', \n          partial: collectionMethods.mav, \n          color: 'var(--dashboard-yellow)', \n          href: 'anagrafiche/utenti/fatturazione', \n          info: [ `${this.displaySubuser} con`, 'Boll. MAV attivo' ]\n        }],\n        [{ \n          title: 'Boll. Postale', \n          partial: collectionMethods.postalOrder, \n          href: '/impostazioni/posta?ka-tab-t=bollettini', \n          color: 'var(--dashboard-red)',\n          info: [ `${this.displaySubuser} con`, 'Boll. Post. attivo' ]\n        }]\n      ];\n      this.legendPartials = [\n        [{ title: 'attivi', partial: condominiumsActive, color: 'var(--dashboard-green)' }],\n        [{ title: 'non attivi', partial: condominiumsNotActive, color: 'var(--dashboard-yellow)' }],\n        [{ title: 'archiviati', partial: condominiumsArchived, color: 'var(--dashboard-red)' }]\n      ];\n      this.barChartPartials = [\n        [{ partial: condominiumsActive, color: 'var(--dashboard-green)' }],\n        [{ partial: condominiumsNotActive, color: 'var(--dashboard-yellow)' }],\n        [{ partial: condominiumsArchived, color: 'var(--dashboard-red)' }]\n      ];\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast } from 'ka-components';\nimport { DashboardCardsModel } from 'classes/models/dashboardCards';\n\nexport class Dashboard {\n  mdt = mdt;\n  offers = [];\n  advices = [];\n  multicoinSummaries;\n  initDelayCards = 2000; // delay delle GET API di inizializzazione di ogni card\n  isLayoutSaving = false; // pending PUT dashboard-items/current\n  flippedCard = null; // card attualmente girata sulle impostazioni (al massimo una)\n  isDashboardInitPending;\n  defaultCards = [ 'INVOICES','QUEUE-MESSAGES-EMAIL-PEC','FLAT-SERVICES-ACTIVATIONS','UNCONFIRMED-PRE-CHECKOUTS' ];\n\n  static inject = [Api, DialogService, KaToast];\n  constructor(api, dialogService, toast) {\n    this.api = api;\n    this.cards = [];\n    this.toast = toast;\n    this.dashboardViewModel = this;\n    this.dialogService = dialogService;\n    this.cardsModel = new DashboardCardsModel(this.api);\n  }\n  attached() {\n    if (this.api.hasRole('LIST_DASHBOARD')) this.init();\n  }\n  init() {\n    this.flippedCard = null;\n    this.isDashboardInitPending = true;\n    const requiredPromises = [\n      this.cardsModel.getItems(),\n      this.cardsModel.getCards()\n    ];\n    const optionalPromises = [\n      this.api.get('users/me/dashboard/multicoin-summaries')\n      // this.api.get('users/me/dashboard/advices'),\n      // this.api.get('users/me/dashboard/offers')\n    ].map((promise) => promise.catch((error) => {\n      console.warn('initDashboard: chiamata accessoria fallita', error);\n      return null;\n    }));\n    return Promise.all([...requiredPromises, ...optionalPromises]).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (this.api.isResponse(xhr)) {\n          const response = xhr.response;\n          if (response?.[0]?.type === 'dashboard-items') {\n            this.cardsModel.items = this.cardsModel.setItems(response);\n          } else if (response?.type === 'user-dashboard-items') {\n            this.cards = this.setCards(response.items);\n          } else if (response?.type === 'dashboard-multicoin-summaries') {\n            this.multicoinSummaries = response;\n          } else if (response?.type === 'dashboard-advices') {\n            this.advices = response; // TODO: verificare la forma del payload (probabilmente response.items)\n          } else if (response?.type === 'dashboard-offers') {\n            this.offers = response; // TODO: verificare la forma del payload (probabilmente response.items)\n          }\n        }\n      });\n    }).catch((error) => {\n      console.error('initDashboard', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isDashboardInitPending = false;\n    });\n  }\n  setCards(codes) {\n    return codes.map((code) => this.cardsModel.items.find((item) => item.code === code)).filter(Boolean);\n  }\n  setDraftsTotal() {\n    try {\n      const total = Number(JSON.parse(localStorage.getItem('queue-drafts-outlines'))?.totalQueueDrafts);\n      return Number.isFinite(total) ? total : 0;\n    } catch {\n      return 0;\n    }\n  }\n  resetCard(event) {\n    if (this.isLayoutSaving) return;\n    this.isLayoutSaving = true;\n    event.model = { busy: true };\n    const minDelay = 300;\n    const data = { items: this.defaultCards };\n    const minDuration = new Promise((resolve) => setTimeout(resolve, minDelay));\n    const promises = [ this.api.put('users/me/dashboard-items/current', data), minDuration ];\n    return Promise.allSettled(promises).then(([result]) => {\n      if (result.status !== 'fulfilled') {\n        console.error('resetCard', result.reason);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n      } else return this.init();\n    }).finally(() => {\n      event.model.busy = false;\n      this.isLayoutSaving = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { FidelityCardsModel } from '../../classes/models/fidelityCards';\n@inject(Api, KaDialog, KaToast)\nexport class viewActivationHistory {\n  isOperator;\n  fidelityCards;\n  defaultSettings = {\n    status: 'WAITING-FOR-COST-CONFIRMATION'\n  };\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.fidelityCardsModel = new FidelityCardsModel(this.api, this.toast);\n    this.isOperator = this.api.hasRole('CONFIRM_ANY_PRE_CHECKOUT');\n  }\n  attached() {\n    this.initTabs();\n  }\n\n  async initTabs() {\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    Promise.all(promises).then(() => {\n      this.search();\n    }).catch((error) => {\n      console.log('initTabs', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: this.setEndpoint(),\n      name: 'table-fidelity-cards-activations'\n    });\n    return this.tableInterface.initialize();\n  }\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-multicoin-movements-search',\n      table: this.tableInterface,\n      schema: {\n        activatedAtGte: {\n          control: 'date',\n          label: 'Attivata dal:',\n          query: 'activated-at-gte'\n        },\n        activatedAtLte: {\n          label: 'Al:',\n          control: 'date',\n          query: 'activated-at-lte'\n        },\n        owner: {\n          label: 'Utenti',\n          datavalue: 'id',\n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          datasource: {\n            table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER',\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        status: {\n          label: 'Stato',\n          query: 'status',\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          datasource: [\n            { text: 'Attivata', value: 'ACTIVE' },\n            { text: 'Scaduta', value: 'EXPIRED' },\n            { text: 'Rescissa', value: 'RESCINDED' },\n            { text: 'Terminata', value: 'TERMINATED' },\n            { text: 'Periodo di tolleranza', value: 'GRACE-PERIOD' },\n            { text: 'In attesa di pagamento', value: 'WAITING-FOR-COST-CONFIRMATION' }\n          ]\n        },\n        priceListCode: {\n          label: 'Tipologia',\n          query: 'price-list-code',\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          datasource: [\n            { text: 'Base', value: 'BASE' },\n            { text: 'Base Plus', value: 'BASE-PLUS' },\n            { text: 'Silver', value: 'SILVER' },\n            { text: 'Gold', value: 'GOLD' }\n          ]\n        },\n        confirmationShortCode: {\n          label: 'Codice di conferma breve',\n          query: 'confirmation-short-code',\n          control: 'text'\n        }\n      },\n      data: structuredClone(this.defaultSettings)\n    });\n    return this.searchInterface.initialize();\n  }\n  search() {\n    this.tableInterface.endpoint = this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset(true);\n    this.searchInterface.data = this.defaultSettings;\n    this.search();\n  }\n  setEndpoint() {\n    const userId = this.searchInterface?.data?.owner;\n    const slug = 'fidelity-cards-activations';\n    return userId\n      ? `users/${userId}/${slug}`\n      : `bo/${slug}`;\n  }\n  openDialogConfirmPayment(card, $event) {\n    $event.model.busy = true;\n    this.dialog.open({ \n      type: 'confirm', \n      title: 'Attenzione!', \n      class: 'small fidelity-card-payment-confirm', \n      body: `<p class=\"m-0\">Confermi il pagamento della Fidelity Card <strong>${card.title}</strong> associata all’utente <strong>${card.userDisplayName}?</strong></p>`\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.fidelityCardsModel.postConfirmPayment(card.userId, card.id).then(() => {\n            this.toast.show('Pagamento confermato con successo!', 'success');\n            this.search();\n          }).finally(() => {\n            $event.model.busy = false;\n          });\n        } else $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { FidelityCardsModel } from '../../classes/models/fidelityCards';\n\nexport class ViewActivation {\n  statuses;\n  isPendingInit;\n  fidelityCards;\n  userPromotions;\n  fidelityCardsModel;\n  userCurrentFidelityCard;\n  templateCard = PLATFORM.moduleName('views/fidelity-cards/templates/card');\n\n  static inject = [Api, Aurelia, KaDialog, KaToast];\n  constructor(api, aurelia, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.aurelia = aurelia;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.fidelityCardsModel = new FidelityCardsModel(this.api, this.toast);\n    this.statuses = this.fidelityCardsModel.statuses;\n  }\n\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.getFidelityCards().then((xhr) => {\n      const response = xhr.response;\n      this.userCurrentFidelityCard = this.setUserFidelityCard(response);\n      this.fidelityCards = this.parseFidelityCards(response);\n      this.userPromotions = this.setUserPromotions();\n      this.viewActivation = this;\n      this.isPendingInit = false;\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('getFidelityCards', error);\n    });\n  }\n  getFidelityCards() {\n    const path = 'users/me/fidelity-cards';\n    return this.api.get(path);\n  }\n\n  // Parse functions\n  parseFidelityCards(fidelityCards) {\n    fidelityCards.forEach?.((card) => {\n      if (card.code === 'GOLD') card.status === 'PENDING-PAYMENT';\n      const status = card.status;\n      card.statusClass = this.statuses?.[status]?.class;\n      card.statusLabel = this.statuses?.[status]?.label;\n      if (card.activable === 'YES') {\n        card.statusDescription = `Puoi attivare la Fidelity Card ${card.title}`;\n      } else {\n        card.statusDescription = `Non puoi attivare la Fidelity Card ${card.title} ${this.userCurrentFidelityCard ? 'perchè hai già attivato una Fidelity Card più vantaggiosa' : ''}`;\n      }\n      if (card.revocable === 'YES') {\n        card.revocableMessage = `Per richiesta di recesso inviare comunicazione a <a href=\"mailto:fidelity@multidialogo.it\">fidelity@multidialogo.it</a>`;\n      }\n      switch (status) {\n        case 'GRACE-PERIOD':\n          card.statusDescription = `La Fidelity Card ${card.title} è in periodo di tolleranza, ${card.preCheckoutUuid ? 'è possibile pagare' : 'sarà possibile rinnovare'} entro il ${this.dateFormat(card?.gracePeriodEndAt, 'DD/MM/YY')}`;\n          break;\n        case 'ACTIVE':\n          card.statusDescription = `${card?.statusLabel} dal ${this.dateFormat(card?.activatedAt, 'DD/MM/YY')} al ${this.dateFormat(card?.expireAt, 'DD/MM/YY')}`;\n          break;\n      }\n    });\n    return fidelityCards;\n  }\n  dateFormat(data, format = null) {\n    return this.aurelia?.resources?.valueConverters?.dateFormat?.toView?.(data, format);\n  }\n\n  // Set functions\n  setUserFidelityCard(response) {\n    return response?.find?.((card) => ['ACTIVE','GRACE-PERIOD'].includes(card?.status));\n  }\n  setUserPromotions() {\n    let userPromotions = [];\n    this.fidelityCards.forEach?.((card) => {\n      if (!card?.status) {\n        const code = card.code;\n        const title = card.title;\n        if (card.promotion) {\n          card.promotion.card = { title, code };\n          userPromotions.push(card.promotion);\n        }\n      }\n    });\n    return userPromotions;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\nimport { KaDialog, KaToast } from 'ka-components';\n\nexport class DialogFidelityCardActivation {\n  disclosure;\n  isActivable;\n  isPendingInit;\n  isPendingActivation;\n  isAcknowledgementPending;\n  elementDialogHeaderH2;\n  resource = {\n    schema: {\n      acknowledgement: {\n        control: 'check'\n      }\n    },\n    data: {}\n  };\n\n  changeAcknowledgement() {\n    this.isAcknowledgementPending = true;\n    this.postDisclosureAcceptances().finally(() => {\n      this.isAcknowledgementPending = false;\n    });\n  }\n\n  static inject = [DialogController, KaDialog, KaToast];\n  constructor(controller, dialog, toast) {\n    this.toast = toast;\n    this.dialog = dialog;\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.parent = params.parent;\n    this.card = this.parent.card;\n    this.api = this.parent.parent.api;\n    this.isPaymentRequired = this.card.price > 0;\n    this.fidelityCardsModel = this.parent.fidelityCardsModel;\n    this.userCurrentFidelityCard = this.parent.parent.userCurrentFidelityCard;\n  }\n  attached() {\n    this.elementDialogHeaderH2 = document.querySelector('ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2');\n    this.init();\n  }\n  detached() {\n    this.cardDisclosureWrapper?.removeEventListener('transitionend', this.handleExpandDisclosureWrapper);\n  }\n\n  // Init functions\n  init() {\n    const delay = 1500;\n    this.isPendingInit = true;\n    this.appendElementFidelityCardTitle();\n    this.appendElementFidelityCardPrice();\n    let promises = [\n      this.getFidelityCardDisclosure(),\n      new Promise((resolve) => setTimeout(resolve, delay))\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const response = xhr?.response;\n        if (response?.type === 'fidelity-card-disclosures') {\n          this.disclosure = xhr.response;\n          this.resource.schema.acknowledgement.description = this.disclosure.acknowledgementStatement;\n        }\n      });\n    }).catch((error) => {\n      console.error('getFidelityCardDisclosure', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isPendingInit = false;\n      setTimeout(() => {\n        this.expandDisclosureWrapper();\n      }, 0);\n    })\n  }\n  appendElementFidelityCardTitle() {\n    let span = document.createElement('span');\n    span.classList.add('card-title');\n    span.innerHTML = `Informativa Fidelity Card <strong>${this.card.title}</strong>`;\n    this.elementDialogHeaderH2.append(span);\n  }\n  appendElementFidelityCardPrice() {\n    let div = document.createElement('div');\n    div.classList.add('new-tag');\n    if (this.card?.price === 0) div.classList.add('success');\n    div.innerHTML = this.card?.price === 0 ? 'Gratuita' : `Prezzo ${this.card?.price}€/Anno`;\n    this.elementDialogHeaderH2.append(div);\n  }\n  expandDisclosureWrapper() {\n    requestAnimationFrame(() => {\n      this.cardDisclosureWrapper.style.height = this.cardDisclosureWrapper.scrollHeight + 'px';\n      this.cardDisclosureWrapper.style.opacity = '1';\n    });\n    this.handleExpandDisclosureWrapper = () => {\n      this.cardDisclosureWrapper.style.height = 'auto';\n    }; \n    this.cardDisclosureWrapper.addEventListener('transitionend', this.handleExpandDisclosureWrapper, { once: true });\n  }\n  handleCardActivation($event) {\n    if (this.isPaymentRequired) {\n      this.controller.cancel();\n      this.dialogCardPayment($event);\n    } else this.fidelityCardActivation($event);\n  }\n\n  // Http functions\n  getFidelityCardDisclosure() {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    return this.api.client.createRequest(path)\n      .asGet()\n      .withHeader('Content-Type', 'application/json')\n      .send()\n  }\n  postDisclosureAcceptances() {\n    const disclosureAccepted = this.resource.data.acknowledgement ? 'YES' : 'NO';\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure-acceptances`;\n    return this.api.post(path, { disclosureAccepted }).then((xhr) => {\n      this.isActivable = xhr?.response?.fidelityCardUuid === this.card.id;\n    }).catch((error) => {\n      console.error('postDisclosureAcceptances', error);\n      this.api.dialogError(error);\n    });\n  }\n  fidelityCardActivation($event) {\n    $event.model.busy = this.isPendingActivation = true;\n    return this.fidelityCardsModel?.activation(this.card).then(() => {\n      this.controller.ok();\n    }).finally(() => {\n      this.controller.cancel();\n      $event.model.busy = this.isPendingActivation = false;\n    });\n  }\n\n  // Dialog functions\n  dialogCardPayment($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Dati di Pagamento',\n      class: 'fidelity-card-payment',\n      viewModelParams: { card: this.card, parent: this.parent.parent },\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-payment')\n    }, true).whenClosed(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { FidelityCardsModel } from '../../../classes/models/fidelityCards';\n\nexport class DialogFidelityCardPayment {\n  prececkout;\n  isErrorInit;\n  isPendingInit;\n  elementCopyAll;\n  paymentInformation;\n  isPendingPrececkout;\n  paymentMethodMessage;\n  elementDialogHeaderH2;\n  fidelityCardAllowedPaymentMethods;\n  resource = {\n    controls: {},\n    schema: {\n      fidelityCardTitle: {\n        readonly: true,\n        control: 'text',\n        label: 'Fidelity Card'\n      },\n      fidelityCardPrice: {\n        readonly: true,\n        label: 'Prezzo',\n        control: 'text'\n      },\n      paymentMethod: {\n        control: 'combo', \n        label: 'Metodo di pagamento', \n        datasource: [\n          { value: 'BANK-TRANSFER', label: 'Bonifico bancario' }\n        ], \n        datavalue: 'value', \n        datatext: 'label', \n        datapreload: true,\n        datamultiple: false,\n        readonly: true\n      },\n      payeeDisplayName: {\n        readonly: true,\n        control: 'text',\n        label: 'Beneficiario'\n      },\n      payeeIbanCode: {\n        readonly: true,\n        label: 'IBAN',\n        control: 'text',\n      },\n      remittanceInformation: {\n        readonly: true,\n        control: 'text',\n        label: 'Causale'\n      }\n    },\n    data: {}\n  }\n  \n  static inject = [KaDialog, KaToast, DialogController, Api];\n  constructor(kaDialog, kaToast, controller, api) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.controller = controller;\n    this.fidelityCardsModel = new FidelityCardsModel(this.api, this.toast);\n  }\n  activate(params) {\n    this.params = params;\n    this.card = params.card;\n    this.parent = params.parent;\n    this.isCostConfirmation = !!this.card.preCheckoutUuid;\n  }\n  attached() {\n    this.init();\n  }\n  detached() {\n    this.elementCopyAll?.removeEventListener('click', this.boundCopyAll);\n    this.cardPaymentWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n    this.cardPaymentPrececkoutWrapper?.removeEventListener('transitionend', this.handleExpandPrececkoutWrapper);\n  }\n\n  // Init functions\n  init() {\n    const delay = 1500;\n    this.isPendingInit = true;\n    let promises = [new Promise((resolve) => setTimeout(resolve, delay))];\n    if (this.isCostConfirmation) {\n      this.appendElementCopyAll();\n      promises.unshift(this.fidelityCardsModel.getPrececkout(this.card.preCheckoutUuid))\n    }\n    return Promise.all(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const response = xhr?.response;\n        if (response?.type === 'pre-checkouts') {\n          this.prececkout = response;\n        }\n        this.resource.data = this.setResourceData();\n      });\n    }).catch((error) => {\n      this.isErrorInit = true;\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isPendingInit = false;\n      setTimeout(() => {\n        this.expandWrapper();\n      }, 0);\n    })\n  }\n  appendElementCopyAll() {\n    const elementDialogHeaderH2 = document.querySelector('ux-dialog.fidelity-card-payment h2');\n    this.elementCopyAll = elementDialogHeaderH2.querySelector('.copy-all');\n    this.elementCopyAll = document.createElement('span');\n    this.elementCopyAll.classList.add('copy-all');\n    this.elementCopyAll.innerHTML = `Copia i dati per il bonifico`;\n    elementDialogHeaderH2.append(this.elementCopyAll);\n    this.boundCopyAll = this.copyAll.bind(this);\n    this.elementCopyAll.addEventListener('click', this.boundCopyAll);\n  }\n  setResourceData() {\n    return {\n      paymentMethod: 'BANK-TRANSFER',\n      fidelityCardTitle: this.card.title,\n      fidelityCardPrice: `${this.card.price} €`,\n      ...(this.prececkout && { payeeIbanCode: this.prececkout.paymentCoors?.payeeIbanCode }),\n      ...(this.prececkout && { payeeDisplayName: this.prececkout.paymentCoors?.payeeDisplayName }),\n      ...(this.prececkout && { remittanceInformation: this.prececkout.paymentCoors?.remittanceInformation })\n    }\n  }\n  expandWrapper() {\n    this.cardPaymentBody.style.overflow = 'hidden';\n    requestAnimationFrame(() => {\n      this.cardPaymentWrapper.style.height = this.cardPaymentWrapper.scrollHeight + 'px';\n      this.cardPaymentWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.cardPaymentWrapper.style.height = 'auto';\n      this.cardPaymentBody.style.overflow = '';\n    }; \n    this.cardPaymentWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n  expandPrececkoutWrapper() {\n    this.cardPaymentPrececkoutWrapper.style.opacity = '0';\n    requestAnimationFrame(() => {\n      this.cardPaymentPrececkoutWrapper.style.height = this.cardPaymentPrececkoutWrapper.scrollHeight + 'px';\n      this.cardPaymentPrececkoutWrapper.style.opacity = '1';\n    });\n    this.handleExpandPrececkoutWrapper = () => {\n      this.cardPaymentPrececkoutWrapper.style.height = 'auto';\n      this.cardPaymentBody.style.overflow = '';\n    }; \n    this.cardPaymentPrececkoutWrapper.addEventListener('transitionend', this.handleExpandPrececkoutWrapper, { once: true });\n  }\n  confirm($event) {\n    $event.model.busy = true;\n    this.fidelityCardsModel.postPrececkout(this.resource.data.paymentMethod, this.card.priceListUuid).then((xhr) => {\n      const response = xhr.originalResponse;\n      const activationUuid = response.data.activationUuid;\n      this.parent.init();\n      this.toast.show('Ordine inviato con successo', 'success');\n      this.fidelityCardsModel.getPrececkout(activationUuid).then((xhr) => {\n        this.prececkout = xhr.response;\n        this.resource.data = this.setResourceData();\n        setTimeout(() => {\n          this.appendElementCopyAll();\n          this.expandPrececkoutWrapper();\n        }, 0);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n  copyAll() {\n    const text = `Importo: ${this.resource.data.fidelityCardPrice} Beneficiario: ${this.resource.data.payeeDisplayName} IBAN: ${this.resource.data.payeeIbanCode} Causale: ${this.resource.data.remittanceInformation}`;\n    navigator.clipboard.writeText(text);\n    this.toast.show('Dati di pagamento copiati negli appunti con successo!', 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardActivation {\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.card = params.card;\n  }\n  confirm($event) {\n    $event.model.busy = true;\n    let value = this.card.autoRenewEnabled === 'YES' ? 'NO' : 'YES';\n    return this.api.patch(`users/me/fidelity-cards/${this.card.code}/auto-renew`, { value }).then(() => {\n      switch (value) {\n        case 'YES':\n          this.toast.show(`Hai attivato il rinnovo automatico`, 'success');\n          break;\n        case 'NO':\n        this.toast.show(`Hai disattivato il rinnovo automatico`, 'success');\n          break;\n      }\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('patchAutoRenew', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { KaToast } from 'ka-components';\nimport { Aurelia } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardsComparison {\n  cards;\n\n  static inject = [Aurelia, DialogController, KaToast];\n  constructor(aurelia, controller, kaToast) {\n    this.toast = kaToast;\n    this.controller = controller;\n    this.valueConverters = aurelia.resources.valueConverters;\n  }\n  activate(params) {\n    this.parent = params.parent;\n    const target = structuredClone(this.parent.card);\n    const current = this.parseCurrentCard(structuredClone(this.parent.parent.userCurrentFidelityCard));\n    this.cards = [current, target];\n  }\n  attached() {\n    this.elementDialogHeaderH2 = document.querySelector('ux-dialog.fidelity-cards-comparison ux-dialog-header .dialog-header-content h2');\n    this.appendTitle();\n    this.setCardHeight();\n  }\n  parseCurrentCard(card) {\n    card.marketingHints = card.marketingHints\n      .map(item => {\n        if (!['promo','simple'].includes(item.type)) return item;\n        const autoRenewEnabled = card.autoRenewEnabled === 'YES';\n        const expireAt = this.valueConverters.dateFormat.toView(card.expireAt, 'DD/MM/YYYY');\n        const activatedAt = this.valueConverters.dateFormat.toView(card.activatedAt, 'DD/MM/YYYY');\n        let html = item.html;\n        if (html.startsWith('Attivazione')) {\n          html = html.replace('Attivazione', 'Attivata');\n          if (html.includes('Gratuita')) {\n            html = html.replace('.', '');\n            html = html.replace('Gratuita', 'gratuitamente');\n          }\n          html += ` il <strong>${activatedAt}.</strong>`;\n        }\n        if (html.startsWith('Durata')) {\n          html = `Scadenza al <strong>${expireAt}</strong> con <strong>rinnovo ${autoRenewEnabled ? 'automatico' : 'manuale'}.</strong>`;\n        }\n        return { ...item, html };\n      });\n  \n    return card;\n  }\n  appendTitle() {\n    const span = document.createElement('span');\n    span.classList.add('card-title');\n    span.innerHTML = `Passaggio a <strong>${this.cards[1].title}</strong>`;\n    this.elementDialogHeaderH2.append(span);\n  }\n  setCardHeight() {\n    const elementTargetCard = document.querySelector(`.target .card`);\n    const elementCurrentCard = document.querySelector(`.current .card`);\n    const maxHeight = Math.max(\n      elementTargetCard?.getBoundingClientRect().height ?? 0,\n      elementCurrentCard?.getBoundingClientRect().height ?? 0\n    );   \n    if (maxHeight > 0) {\n      elementTargetCard.style.minHeight = `${maxHeight}px`;\n      elementCurrentCard.style.minHeight = `${maxHeight}px`;\n    }\n  }\n  continue($event) {\n    $event.model.busy = true;\n    this.controller.ok().then(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { MdFileDownload } from 'services/md-files';\n\nexport class viewTemplateCard {\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n\n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.dialog = this.parent.dialog;\n    this.fidelityCardsModel = this.parent.fidelityCardsModel;\n    this.mdFileDownload = new MdFileDownload(this.parent.api, this.parent.toast);\n    const hasCreateFidelityCardPermission = this.parent.api.hasRole('CREATE_USER_FIDELITY_CARD_ACTIVATION');\n    const hasModifyFidelityCardAutoRenewPermission = this.parent.api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW');\n    this.isCardActivationVisible = !['ACTIVE', 'GRACE-PERIOD', 'WAITING-FOR-COST-CONFIRMATION'].includes(this.card.status);\n    this.isCardActivationDisabled = !hasCreateFidelityCardPermission || this.card.activable === 'NO' || this.parent.api.isImpersonated;\n    this.isAutoRenewalSettingsDisabled = this.card.autoRenewable === 'NO' || !hasModifyFidelityCardAutoRenewPermission || this.parent.api.isImpersonated;\n    this.isCardRenewDisabled = !hasCreateFidelityCardPermission || this.parent.api.isImpersonated;\n  }\n\n  // Http functions\n  disclosureDownload($event) {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    return this.mdFileDownload.fileDownload(path, this.card, 'pdf', $event);\n  }\n  handleCardActivation($event) {\n    $event.model.busy = true;\n    const currentActiveCard = this.model.parent.userCurrentFidelityCard;\n    if (currentActiveCard?.id && currentActiveCard?.id !== this.card.id) {\n      this.dialogFidelityCardsComparison($event);\n    } else {\n      this.dialogCardActivation($event);\n    }\n  }\n  fidelityCardRenew($event) {\n    $event.model.busy = true;\n    return this.fidelityCardsModel.renew(this.card).then(() => {\n      this.parent.init();\n    }).catch((error) => {\n      let isPayment;\n      let response;\n      try {\n        response = JSON.parse(error?.response);\n        isPayment = response.status === 409 && response.code === 'a614af4fde1e991a3ecdc926b95f7996';\n      } catch(e) {\n        console.warn('fidelityCardRenew: is not JSON', e);\n      }\n      if (isPayment) {\n        this.card.preCheckoutUuid = response.detail;\n          this.dialogCardPayment($event);\n      } else {\n        console.log('fidelityCardRenewals', error);\n        this.api.dialogError(error);\n      }\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  // Set functions\n  setActivationButtonMessage(card, context = null) {\n    const activationMessage = `${card.status === 'GRACE-PERIOD' ? 'Rinnova ' : !!this.parent?.userCurrentFidelityCard ? 'Passa a ' : 'Attiva '}${card.title}`;\n    if (context === 'tooltip' && card.activable === 'NO') return card.statusDescription;\n    return activationMessage;\n  }\n  setSelfRenewTooltip(card) {\n    if (card.autoRenewEnabled === 'YES') {\n      return 'La Fidelity Card si rinnoverà automaticamente alla scadenza';\n    }\n    return 'Rinnovo automatico inattivo. La Fidelity Card potrà essere rinnovata manualmente';\n  }\n\n  // Dialog functions\n  dialogCardActivation($event) {\n    $event.model.busy = true;\n    const userCurrentFidelityCard = this.parent?.userCurrentFidelityCard;\n    return this.dialog.open({\n      title: ' ',\n      viewModelParams: { parent: this },\n      class: 'fidelity-card-activation',\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-activation')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogCardManagement($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Gestione rinnovo',\n      viewModelParams: { card: this.card },\n      class: 'fidelity-card-renewal-management',\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-renewal-management')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogFidelityCardsComparison($event) {\n    return this.dialog.open({\n      title: ' ',\n      viewModelParams: { parent: this },\n      class: 'fidelity-cards-comparison',\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-cards-comparison')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) this.dialogCardActivation($event);\n      else $event.model.busy = false;\n    });\n  }\n  dialogCardPayment($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Dati di Pagamento',\n      class: 'fidelity-card-payment',\n      viewModelParams: { card: this.card },\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-payment')\n    }, true).whenClosed(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  // Accordion\n  toggleFindOutAccordion() {\n    const element = document.querySelector(`.fidelity-cards-activation .card.${this.card.code} .find-out`);\n    element.classList.toggle('open');\n    this.findOutAccordion(this.card);\n  }\n  findOutAccordion() {\n    const wrapperElement = document.querySelector(`.fidelity-cards-activation .card.${this.card.code} .find-out .wrapper`);\n    if (wrapperElement.clientHeight) {\n      wrapperElement.style.height = 0;\n    } else {\n      const growingElement = document.querySelector(`.fidelity-cards-activation .card.${this.card.code} .find-out .wrapper .descriptions`);\n      wrapperElement.style.height = 20 + growingElement.clientHeight + 'px';\n    }\n  }\n}\n","export class viewTemplateFidelityCard{\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n  \n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\nimport { Router } from \"aurelia-router\";\nimport mdt from 'services/md-tools';\n\nexport class DialogHelpServicesAgreement {\n  mdt = mdt;\n  services = {\n    'MultiDialogo': {\n      target: \"\",\n      text: \"MultiDialogo\"\n    },\n    'MultiInvio': {\n      text: \"MultiInvio\",\n      target: \"https://termsofservice.multidialogo.it/multidialogo/multinvio/condizioni-contrattuali/\"\n    },\n    'Multinforma': {\n      text: \"Multinforma\",\n      target: 'https://termsofservice.multidialogo.it/multidialogo/multinforma/condizioni-contrattuali/'\n    }\n  }\n\n  resource = {\n    schema: {\n      service: {\n        control: 'combo',\n        label: 'Seleziona il servizio',\n        datasource: this.setDatasourceServices(),\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      service: 'MultiDialogo',\n    }\n  }\n\n  static inject = [DialogController, Router];\n  constructor(controller, router) {\n    this.controller = controller;\n    this.router = router;\n  }\n\n  setDatasourceServices() {\n    let datasource = [];\n    for (const [key, value] of Object.entries(this.services)) {\n      datasource.push({ value: key, text: value.text, target: value.target });\n    }\n    return datasource;\n  }\n\n  openServiceAgreement() {\n    const selectedService = this.resource.data.service;\n\n    const serviceData = this.resource.schema.service.datasource.find(x => x.value === selectedService);\n\n    if (selectedService !== 'MultiDialogo') {\n      window.open(serviceData.target, '_blank');\n    } else {\n      this.router.navigateToRoute('impostazioni/agreements', { id: 'last' });\n    }\n\n    this.controller.ok();\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Help {\n  urls = {\n    privacy: \"https://termsofservice.multidialogo.it/multidialogo/privacy-policy/\",\n    mailTo: \"mailto:assistenza@multidialogo.it\",\n    sla: \"https://termsofservice.multidialogo.it/multidialogo/sla/\",\n    dpa: \"https://termsofservice.multidialogo.it/wp-content/uploads/DPA-MultiDialogo.pdf\",\n    knowledge: \"https://docs.multidialogo.it/s/\",\n    copyright: \"https://termsofservice.multidialogo.it/multidialogo/disclaimer\"\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.supportTickets.reload();\n  }\n\n  supportTickets = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/me/support-tickets`).then(xhr => {\n        let response = xhr.response.filter(x => x.expired === false);\n        this.supportTickets.data = response && response.length > 0 ? response[0] : null;\n      }).catch(error => {\n        console.log('Errore GET support-tickets', error);\n      });\n    },\n    request: () => {\n      this.api.post(`users/me/support-tickets`, {}).then(() => {\n        this.toast.show('Codice assistenza generato!', 'success');\n        this.supportTickets.reload();\n      }).catch(error => {\n        console.log('Errore POST support-tickets', error);\n        this.toast.show('Impossibile generare codice assistenza!', 'error');\n      });\n    }\n  };\n\n  dialogHelpServicesAgreement() {\n    return this.dialog.open({\n      title: 'Condizioni e termini contrattuali',\n      class: 'help-services-agreement small',\n      viewModel: PLATFORM.moduleName('views/help/dialogs/help-services-agreement')\n    });\n  }\n\n  openExternalLink(target) {\n    window.open(target, \"_blank\");\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { activationStrategy } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdUser } from 'services/md-user';\n\n@inject(Router, Api, KaToast, KaDialog, MdUser)\nexport class ViewAgreements {\n  redirect = null;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: {},\n    back: false\n  }\n\n  constructor(router, api, toast, dialog, mdUser) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdUser = mdUser;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init(this.params?.id);\n  }\n\n  init(id) {\n    if (id && id === 'last') this.agreement.back = true;\n    let url = id === 'last' ? 'accepted-user-agreements/last' : 'user-agreements/current';\n    this.allClausesAccepted = false;\n\n    // Current agreement\n    this.api.get(`users/me/${url}`).then((xhr) => {\n      const response = xhr.response;\n      this.agreement.view = (response?.constructor === Object && Object.keys(response || '')?.length === 0) ? null : response;\n      if (this.agreement.view?.clauses?.length) {\n        this.agreement.view.clauses.forEach(clause => { clause.accepted = false; });\n\n        // Clauses already accepted\n        this.api.get(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`).then(xhr => {\n          this.acceptances = xhr.response;\n          if (this.acceptances?.length) {\n            this.agreement.view.clauses.forEach(clause => {\n              if (this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) clause.accepted = true;\n            });\n          }\n        }).catch(error => {\n          console.log('Clause acceptances', error);\n        });\n      }\n    }).catch(error => {\n      let status = [404, 405, 406, 407, 408, 409, 410];\n      if (status.includes(error.statusCode)) {\n        this.agreement.view = null;\n        this.redirect = localStorage.getItem(`u${this.api.user.id}-eula-href`);\n        console.log('checkAgreements - no current agreement', error, `u${this.api.user.id}-eula-href refirect href`, this.redirect);\n        this.toast.show('Condizioni di servizio accettate', 'success');\n      } else {\n        console.log('Agreements subscription', error);\n        this.toast.show('Sottoscrizione fallita', 'error');\n      }\n    })\n  }\n\n  accept(event) {\n    if (!this.acceptances) return\n    event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai accettando le nostre condizioni di servizio. Continua per poter accedere alla piattaforma.'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.agreement.view.clauses.forEach(clause => {\n          if (clause.accepted && !this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) {\n            promises.push(this.api.post(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`, [{ userAgreementClauseUuid: clause.id }]));\n          }\n        });\n        Promise.all(promises).then(() => {\n          this.init();\n          event.model.busy = false;\n          this.mdUser.checkFlow.getCheck('checkAgreements').hasPassed = true;\n        }).catch(errors => {\n          console.log('Agreements approval promises', errors);\n        });\n      } else event.model.busy = false;\n    });\n  }\n\n  areAllClausesAccepted() {\n    console.log('agreement.view.clauses', this.agreement);\n    setTimeout(() => {\n      if (this.agreement.view.clauses.some(clause => clause.accepted === false)) {\n        return this.allClausesAccepted = false;\n      } else return this.allClausesAccepted = true;\n    }, 0);\n  }\n\n  cancel() {\n    this.router.navigateToRoute('help');\n  }\n}\n\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogAddPec {\n  resource;\n\n  static inject = [DialogController];\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.parent = params.parent;\n    this.api = this.parent.api;\n    this.prefsel = this.parent.prefsel;\n    this.schema = this.parent.pec.schema;\n    this.data = { smtpPort: 465, default: false };\n    this.displayName = this.parent.prefSelector?.data?.displayName || this.api.user.displayName;\n  }\n\n  save(event) {\n    event.model.busy = true;\n    this.resource.validate().then(() => {\n      const data = this.parent.pec.setPayload(this.data);\n      return this.api.post(`users/${this.prefsel}/preferences/sender/email/certified-addresses`, data).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        this.api.dialogError(error, this.resource.controls);\n      }).finally(() => {\n        event.model.busy = false;\n      });\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\n\nexport class viewEmailPec {\n  views = {\n    preferenze: {\n      label: 'Preferenze',\n      vm: PLATFORM.moduleName(`views/impostazioni/emailPec/views/settings`),\n      visible: true\n    },\n    modelli: {\n      label: 'Modelli',\n      vm: PLATFORM.moduleName(`views/impostazioni/shared-views/template`),\n      visible: mdt.helpers.checkPermission({ group: 'MASTER_USER' })\n    },\n    firma: {\n      label: 'Firma',\n      vm: PLATFORM.moduleName(`views/impostazioni/shared-views/signature`),\n      visible: mdt.helpers.checkPermission({ group: 'MASTER_USER' })\n    }\n  };\n  tools = {};\n  static inject = [Router];\n  constructor(router) {\n    this.router = router;\n  }\n  activate(params) {\n    this.params = params;\n    this.view = params.view;\n    if (!this.view) this.router.navigate('impostazioni/email-pec/preferenze');\n    this.navConfig = {\n      path: 'impostazioni/email-pec',\n      links: Object.entries(this.views)\n        .filter(([, value]) => value.visible)\n        .map(([key, value]) => ({ view: key, label: value.label }))\n    };\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { observable, PLATFORM } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\n\nexport class Settings {\n  isPendingInit;\n  @observable() prefsel = null;\n  multinvioDigitalSelfUsages;\n  isMultinvioDigitalSelfUsagesEnded = false;\n  preferences = {\n    endpoint: null,\n    dataLoaded: false,\n    schema: {\n      displayAddress: { control: 'text', label: 'Email mittente', readonly: true },\n      displayName: { control: 'text', label: 'Denominazione mittente' },\n      notificationAddress: { control: 'text', label: 'Indirizzo per notifiche' },\n      emailForwarding: {\n        certified: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con PEC' },\n        notCertified: { control: 'check', label: 'Abilita l\\'invio delle comunicazioni a tutte le caselle mail presenti in anagrafica' },\n      },\n      readConfirmationRequested: { control: 'check', label: 'Abilita le conferme di lettura su tutti i destinatari con canale Email' },\n      certifiedAddresses: { control: 'text' }\n    },\n    data: {},\n    reload: () => {\n      this.api.get(`users/${this.prefsel}/preferences`).then((xhr) => {\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'email'], xhr.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.hasInheritedPEC = xhr.response.requested && !xhr.response.requested.sender?.email?.certifiedAddresses?.length && !!xhr.response.current?.sender?.email?.certifiedAddresses?.length;\n        this.preferences.dataLoaded = true;\n      })\n    },\n    reset: () => {\n      this.preferences.dataLoaded = false;\n      this.preferences.data = {};\n      this.preferences._data = {};\n      this.preferences.hasInheritedPEC = false;\n    },\n    save: (event) => {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/email`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          event.model.busy = false;\n        });\n      }\n      else event.model.busy = false;\n    }\n  };\n\n  pec = {\n    isSelected: false,\n    selected: null,\n    endpoint: null,\n    schema: {\n      label: { label: 'Etichetta', control: 'text', required: true },\n      address: { label: \"Indirizzo\", control: 'text', required: true },\n      username: { label: \"Username\", control: 'text', required: true },\n      password: { label: 'Password', control: 'password' },\n      smtpServer: { label: 'Server SMTP', control: 'text', required: true },\n      smtpPort: { label: 'Porta SMTP', control: 'number', required: true },\n      default: { label: 'Imposta come casella PEC predefinita', control: 'check' }\n    },\n    data: {},\n    reload: () => {\n      this.pec.cancel();\n      this.preferences.reload();\n    },\n    cancel: () => {\n      const uuid = this.pec.selected;\n      if (uuid) this.togglePecForm(uuid, false);\n      this.pec.selected = null;\n      this.pec.isSelected = false;\n      this.pec.data = {};\n    },\n    edit: (item) => {\n      this.pec.selected = item.uuid;\n      this.pec.isSelected = true;\n      this.pec.data = { ...item, default: item.default === 'YES' };\n      this.togglePecForm(item.uuid, true);\n    },\n    delete: (item) => {\n      this.dialog.open({\n        type: 'confirm',\n        title: 'Attenzione!',\n        class: 'small delete-pec',\n        body: `<p class=\"m-0\">L'operazione non è reversibile.</p><p class=\"m-0\"><strong>Confermi di voler eliminare l'indirizzo PEC?</strong></p>`\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.prefsel}/preferences/sender/email/certified-addresses/${item.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.pec.reload();\n          }).catch((error) => {\n            this.api.dialogError(error);\n          })\n        }\n      });\n    },\n    dialogAddPec: (event) => {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n      this.pec.isSelected = true;\n      this.dialog.open({\n        title: 'Aggiungi indirizzo PEC',\n        class: 'large add-pec',\n        viewModelParams: { parent: this },\n        viewModel: PLATFORM.moduleName('views/impostazioni/emailPec/dialogs/add-pec')\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.toast.show('Indirizzo PEC salvato con successo!', 'success');\n          this.pec.reload();\n        }\n        event.model.busy = false;\n        this.pec.isSelected = false;\n      });\n    },\n    setPayload: (data) => {\n      const payload = {\n        label: data.label,\n        address: data.address,\n        username: data.username,\n        password: data.password,\n        smtpServer: data.smtpServer,\n        smtpPort: parseInt(data.smtpPort),\n        default: data.default ? 'YES' : 'NO'\n      };\n      return payload;\n    },\n    save: (event) => {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n      let data = JSON.parse(JSON.stringify(this.pec.data));\n      if (data && Object.entries(data).length) {\n        this.api.patch(`users/${this.prefsel}/preferences/sender/email/certified-addresses/${data.uuid}`, this.pec.setPayload(data)).then(() => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pec.reload();\n        }).catch((error) => {\n          this.api.dialogError(error);\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          event.model.busy = false;\n        });\n      }\n      else event.model.busy = false;\n    }\n  }\n\n  staticTooltipReadConfirmation = {\n    subtitle: 'Attivando questa opzione, la conferma di lettura verrà richiesta su tutte le tue spedizioni con canale email',\n    href: 'https://docs.multidialogo.it/s/article/conferma-di-lettura-delle-e-mail',\n    placement: 'top',\n    icon: { type: null }\n  };\n\n  static inject = [Api, KaToast, KaDialog];\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.getMultinvioDigitalSelfUsages().then((xhr) => {\n      this.multinvioDigitalSelfUsages = xhr.response;\n      this.isMultinvioDigitalSelfUsagesEnded = this.multinvioDigitalSelfUsages?.usage >= this.multinvioDigitalSelfUsages?.limit;\n    }).catch((error) => {\n      console.error('current-year', error);\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n\n  getMultinvioDigitalSelfUsages() {\n    return this.api.get('users/me/multinvio-digital-self-usages/current-year');\n  }\n  prefselChanged(value) {\n    this.preferences.reset();\n    if (value) setTimeout(() => this.pec.reload(), 0);\n  }\n  togglePecForm(uuid, isOpen) {\n    const wrapper = document.querySelector(`.pec-address[id=\"${uuid}\"] .pec-form`);\n    if (wrapper) {\n      if (isOpen) {\n        requestAnimationFrame(() => {\n          wrapper.style.height = wrapper.scrollHeight + 'px';\n          wrapper.style.opacity = '1';\n        });\n        const onEnd = (event) => {\n          if (event.target !== wrapper || event.propertyName !== 'height') return;\n          wrapper.style.height = 'auto';\n          wrapper.removeEventListener('transitionend', onEnd);\n        };\n        wrapper.addEventListener('transitionend', onEnd);\n      } else {\n        wrapper.style.height = wrapper.scrollHeight + 'px';\n        wrapper.getBoundingClientRect();\n        wrapper.style.height = '0';\n        wrapper.style.opacity = '0';\n      }\n    }\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniFax {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      cover: {control: 'textarea', label: 'Copertina' },\n      name: { control: 'text', label: 'Nome mittente' },\n      prefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di fax' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.fax) || (!this.preferences.isCal && x.response.current?.sender?.fax);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'fax'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/fax`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.number) data.prefix = data.prefix || '+39';\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/fax`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniGenerali {\n  environment = environment;\n  mdt = mdt;\n  mobileEndpoint = 'users/me/preferences/mobile-numbers';\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.isSubuser = this.api.user.group.includes('BASIC_USER');\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    this.preferences.reload();\n    this.mobileNumbers.reload();\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      masterUserCreditSharing: { control: 'check', datamultiple: false, description: 'Attivo' },\n      sdi: {\n        code: { control: 'text' },\n        genericSubuserCode: { control: 'text' }\n      },\n      debtGuarantorDisplayName: { control: 'text', label: 'Garante deposito' },\n      debtGuarantorUuid: {\n        label: 'Garante deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      enableCreditPartialUsage: { control: 'check', datamultiple: false, label: 'Usa il credito residuo per il pagamento delle spedizioni', description: 'Attivo' },\n      enableToPayQueueDutiesForSubuserAtCheckout: { control: 'check', datamultiple: false, description: 'Attivo' },\n      registerBillsAsManagementMovement: { control: 'check', datamultiple: false, label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali' }\n    },\n    data: {},\n    checks: {\n      masterUserCreditSharing: false\n    },\n    writeEnabled: false,\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/me/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.email) || (!this.preferences.isCal && x.response.current?.sender?.email);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['payment'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.masterUserCreditSharing = this.preferences.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n      });\n      this.writeEnabled = this.api.hasRole('MODIFY_USERS_PRIVILEDGED_PREFERENCES');\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.preferences.data;\n      if (this.preferences.checks.masterUserCreditSharing === true) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n      } else if (this.preferences.checks.masterUserCreditSharing === false) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n      }\n      data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/me/preferences/payment`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  mobileNumbers = {\n    endpoint: null,\n    schema: {\n      //internationalPrefix: { control: 'number', label: 'Prefisso'},\n      internationalPrefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di telefono'},\n      confirmationCode: { control: 'text', label: 'Codice di sicurezza ricevuto tramite SMS'}\n    },\n    records: [],\n    optedIn: null,  // List of all mobile numbers already registred and verified\n    optedOut: null, // List of all mobile numbers already registred but not yet verified\n    uuid: null,\n    data: {\n      internationalPrefix: '+39',\n      number: null,\n      confirmationCode: null\n    },\n    reset: () => {\n      this.mobileNumbers.data.number = null;\n      this.mobileNumbers.reload();\n    },\n    reload: () => {\n      this.api.get(this.mobileEndpoint).then(x => {\n        this.mobileNumbers.records = x.response;\n        this.mobileNumbers.optedIn = x.response.filter(x => x.status === 'opted-in');\n        this.mobileNumbers.optedOut = x.response.filter(x => x.status === 'opted-out');\n        this.mobileNumbers.uuid = (this.mobileNumbers.optedIn[0] || this.mobileNumbers.optedOut[0] || { uuid: null}).uuid;\n      });\n    },\n    request: ($event) => {\n      $event.model.busy = true;\n      // Normalize data\n      this.mobileNumbers.data.internationalPrefix = String(this.mobileNumbers.data.internationalPrefix);\n      this.mobileNumbers.data.number = String(this.mobileNumbers.data.number);\n      // Override data\n      let overrideData = Object.assign({}, this.mobileNumbers.data);\n      overrideData.number = overrideData.internationalPrefix + overrideData.number;\n      delete overrideData.internationalPrefix;\n      delete overrideData.confirmationCode;\n      // Save data through md-resource\n      this.mobileNumbers.resource.save(overrideData, this.mobileEndpoint).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch(() => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    resend: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(this.mobileEndpoint, {number: record.number}).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    confirm: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`${this.mobileEndpoint}/${record.uuid}/opt-ins`, {confirmationCode: record.confirmationCode}).then(() => {\n        this.toast.show('Conferma inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare conferma!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    revoke: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`${this.mobileEndpoint}/${record.uuid}/opt-outs`, {}).then(() => {\n        this.toast.show('Revoca inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare revoca!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: ($event, record) => {\n      $event.model.busy = true;\n      this.api.delete(`${this.mobileEndpoint}/${record.uuid}`, {}).then(() => {\n        this.toast.show('Numero eliminato con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile eliminare il numero!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {Toolbar} from '../app/app-toolbar';\n\n@inject(Api, Toolbar)\nexport class Impostazioni {\n\n  constructor(api, toolbar) {\n    this.api = api;\n    this.modules = toolbar.items.find(x => x.settings === true).nav;\n  }\n\n  attached() {\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniMultibox {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      firstname: { control: 'text', label: 'Nome' },\n      lastname: { control: 'text', label: 'Cognome' },\n      companyName: { control: 'text', label: 'Nome azienda' },\n      addressee: { control: 'text', label: 'Destinatario azienda' },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      envelope: {\n        packagePresentation: { control: 'combo', label: 'Proprietà buste', datasource: [{value: 'CLOSED', text: 'Chiuse'}, {value: 'OPEN', text: 'Aperte'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        recipientList: {\n          subject: { control: 'text', label: 'Oggetto foglio destinatari' }\n        }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multibox' }\n    },\n    data: {},\n    checks: {\n      recipientList: false\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multibox) || (!this.preferences.isCal && x.response.current?.sender?.multibox);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multibox'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.recipientList = this.preferences.data.envelope.recipientList?.subject && this.preferences.data.envelope.recipientList?.subject.length > 0 ? true : false;\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multibox`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.preferences.checks.recipientList === false) {\n        this.preferences.data.envelope.recipientList = {subject: null};\n      }\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multibox`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n}\n","import mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\n\nexport class viewMulticerta {\n  views = {\n    preferenze: {\n      label: 'Preferenze',\n      vm: PLATFORM.moduleName(`views/impostazioni/multicerta/views/settings`),\n      visible: true\n    },\n    modelli: {\n      label: 'Modelli',\n      vm: PLATFORM.moduleName(`views/impostazioni/shared-views/template`),\n      visible: mdt.helpers.checkPermission({ group: 'MASTER_USER' })\n    },\n    firma: {\n      label: 'Firma',\n      vm: PLATFORM.moduleName(`views/impostazioni/shared-views/signature`),\n      visible: mdt.helpers.checkPermission({ group: 'MASTER_USER' })\n    }\n  }\n  tools = {}\n  static inject = [Router];\n  constructor(router) {\n    this.router = router;\n  }\n  activate(params) {\n    this.params = params\n    this.view = params.view;\n    if (!this.view) this.router.navigate('impostazioni/multicerta/preferenze');\n    this.navConfig = {\n      path: 'impostazioni/multicerta',\n      links: Object.entries(this.views)\n        .filter(([,value]) => value.visible)\n        .map(([key, value]) => ({ view: key, label: value.label }))\n    };\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { bindable } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\n\nexport class Settings {\n  @bindable() prefsel = null;\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      multicertaInvitation: { control: 'check', label: 'Invia automaticamente in email l\\'invito a scaricare l\\'app quando effettui una spedizione postale' },\n      deadline: {\n        acknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'read', text: 'Letto'}, {value: 'none', text: 'Nessun canale alternativo'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        duration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalAcknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'notified', text: 'Notificato'}, {value: 'identified', text: 'Identificato (aperto)'}, {value: 'read', text: 'Letto'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalDuration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true }\n      },\n      postage: {\n        type: {\n          control: 'combo',\n          label: 'Affrancatura default',\n          datasource: [],\n          datavalue: 'value',\n          datatext: 'description',\n          datapreload: true\n        },\n        legalType: {\n          control: 'combo',\n          label: 'Affrancatura default',\n          datasource: [],\n          datavalue: 'value',\n          datatext: 'description',\n          datapreload: true\n        }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multicerta' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multicerta) || (!this.preferences.isCal && x.response.current?.sender?.multicerta);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multicerta'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multicerta`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multicerta`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  static inject = [Api, KaToast, MdDatasources];\n  constructor(api, toast, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.mdDatasources = mdDatasources;\n  }\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.setPostageDatasource();\n    }, 0);\n  }\n\n  setPostageDatasource() {\n    const datasource = structuredClone(this.mdDatasources.postalServices.postages);\n    datasource?.forEach?.((item) => {\n      switch (item.code) {\n        case 'AR':\n          item.value = 'RACCOMANDATAAR'\n          break;\n        case 'P':\n          item.value = 'PRIORITARIA'\n          break;\n        case 'P1':\n          item.value = 'PRIORITARIA1'\n          break;\n        case 'R':\n          item.value = 'RACCOMANDATA'\n          break;\n        case 'R1':\n          item.value = 'RACCOMANDATA1'\n          break;\n        case 'R1R':\n          item.value = 'RACCOMANDATA1R'\n          break;\n      }\n    });\n    this.preferences.schema.postage.type = Object.assign({}, this.preferences.schema.postage.type, { datasource });\n    this.preferences.schema.postage.legalType = Object.assign({}, this.preferences.schema.postage.type, { datasource });\n  }\n}\n","import { inject, bindable } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniNotifiche {\n  @bindable() prefsel = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.pushPreferences.isOverride = null;\n      this.uiPreferences.isOverride = null;\n      this.uiPreferences.reload();\n      this.emailPreferences.reload();\n      this.pushPreferences.reload();\n      this.privacyConsent.reload();\n    }, 0);\n  }\n\n  uiPreferences = {\n    endpoint: null,\n    schema: {\n      email: { \n        control: 'list', \n        datasource: { \n          model: { \n            view: 'address', \n            schema: [ { field: 'address', control: 'text', label: 'Indirizzo email' } ] \n          } \n        }, \n        label: 'Inserire gli indirizzi email sui quali ricevere le notifiche di sistema',\n        max: 3\n      }\n    },\n    data: {},\n    reload: () => {\n      this.uiPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.uiPreferences.isOverride === null) {\n          this.uiPreferences.isOverride = (this.uiPreferences.isCal && x.response.requested?.notification?.email?.length) || (!this.uiPreferences.isCal && x.response.current?.notification?.email?.length)\n        };\n        this.uiPreferences.data = mdt.preferences.mergeModelData(this.uiPreferences.schema, ['notification'], x.response);\n        this.uiPreferences._data = JSON.parse(JSON.stringify(this.uiPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      if (this.uiPreferences.data.email) {\n        this.api.patch(`users/${this.prefsel}/preferences/notification`, {email: []}).then(x => {\n          this.uiPreferences.isOverride = !this.uiPreferences.isOverride;\n        }).catch(e => {}).finally(() => {\n          this.uiPreferences.reload();\n          $event.model.busy = false;\n        });\n      }\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.uiPreferences.data;\n       data = mdt.helpers.diffObject(this.uiPreferences._data, this.uiPreferences.data);\n      if (data && Object.entries(data).length) {\n       this.uiPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.uiPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  emailPreferences = {\n    endpoint: null,\n    schema: {\n      credit: {\n        enabled: { control: 'check' },\n        serviceThreshold: { control: 'number', label: 'Soglia minima servizio €' },\n        postageThreshold: { control: 'number', label: 'Soglia minima affrancatura €' },\n      },\n      dailyDigest: {\n        queue: null\n      },\n      directDebit: {\n        sdd: {\n          enabled: { control: 'check' },\n          threshold: { control: 'number', label: 'Soglia minima deposito cauzionale €' },\n        }\n      },\n      bouncedEmailsDigest: {\n        enabled: { control: 'check' },\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.api.get(`users/me/preferences`).then(x => {\n        this.emailPreferences.data = mdt.preferences.mergeModelData(this.emailPreferences.schema, ['notification'], x.response);\n        this.emailPreferences._data = JSON.parse(JSON.stringify(this.emailPreferences.data));\n        this.emailPreferences.checks.dailyDigest = this.emailPreferences.data.dailyDigest?.queue?.includes('BLOCKED');\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.emailPreferences.data;\n      if (this.emailPreferences.checks.dailyDigest === true) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') < 0) data.dailyDigest.queue.push('BLOCKED');\n      } else if (this.emailPreferences.checks.dailyDigest === false) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') > -1) data.dailyDigest.queue.splice(data.dailyDigest.queue.indexOf('BLOCKED'), 1);\n      }\n      data = mdt.helpers.diffObject(this.emailPreferences._data, this.emailPreferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.credit?.postageThreshold) data.credit.postageThreshold = parseInt(data.credit.postageThreshold, 10);\n        if (data.credit?.serviceThreshold) data.credit.serviceThreshold = parseInt(data.credit.serviceThreshold, 10);\n        this.emailPreferences.resource.save(data, `users/me/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.emailPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  pushPreferences = {\n    endpoint: null,\n    schema: {\n      appPush: {\n        blocked: { control: 'check' },\n        refused: { control: 'check' },\n        delivered: { control: 'check' }\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.pushPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.pushPreferences.isOverride === null) this.pushPreferences.isOverride = (this.pushPreferences.isCal && x.response.requested?.notification?.appPush) || (!this.pushPreferences.isCal && x.response.current?.notification?.appPush);\n        this.pushPreferences.data = mdt.preferences.mergeModelData(this.pushPreferences.schema, ['notification'], x.response);\n        this.pushPreferences._data = JSON.parse(JSON.stringify(this.pushPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, {appPush: {enableOverride: !this.pushPreferences.isOverride}}).then(x => {\n        this.pushPreferences.isOverride = !this.pushPreferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.pushPreferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.pushPreferences.data;\n      data = mdt.helpers.diffObject(this.pushPreferences._data, this.pushPreferences.data);\n      if (data && Object.entries(data).length) {\n        this.pushPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pushPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  privacyConsent = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/${this.prefsel}/preferences`).then(xhr => {\n        const response = xhr.response;\n        this.privacyConsent.data = response.current?.notification?.commercial;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      const data = { commercial: this.privacyConsent.data };\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.privacyConsent.reload();\n      }).catch(xhr => {\n        console.log('PATCH preferences/notification', xhr);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class PostaDialogConfirm {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\nimport { TableInterface } from 'classes/md-table';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { activationStrategy } from 'aurelia-router';\nimport { MdDatasources } from 'services/md-datasources';\nimport { inject, bindable, PLATFORM } from 'aurelia-framework';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ImpostazioniPosta {\n  @bindable() prefsel = null;\n  envelopeLogoUuid;\n  dataset = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  data = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  environment = environment;\n\n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.vmCover = PLATFORM.moduleName('views/print-backoffice/copertine');\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.envelopeLogoUuid = params?.envelopeLogoUuid;\n  }\n \n  attached() {\n    this.postalOrders.tableInterface = new TableInterface({ \n      name: 'preferences-postal-orders-table', \n      client: this.api, \n      endpoint: null, \n      query: null \n    });\n    this.postalOrders.tableInterface.initialize();\n\n    this.watermarks.tableInterface = new TableInterface({ \n      name: 'preferences-watermarks-table', \n      client: this.api, \n      endpoint: 'users/me/preferences/sender/letter/watermarks', \n      query: null \n    });\n    this.watermarks.tableInterface.initialize().then(() => { \n      this.watermarks.tableInterface.load(); \n    });\n\n    this.watermarks.tableInterface.events.addEventListener('dataLoaded', () => {\n      for (let record of this.watermarks.tableInterface.data) {\n        this.watermarks.previews[record.uuid] = '';\n        if (record.previews && record.previews[0]) {\n          this.api.get(this.watermarks.uriBuild(record.previews[0].webPath)).then(x => {\n            this.watermarks.previews[record.uuid] = x.response.fileData;\n          });\n        }\n      }\n    });\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.postalOrders.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      print: {\n        frontBack: { control: 'check', label: 'Stampa Fronte/Retro' },\n        colorMode: { control: 'check', label: 'Stampa a colori' },\n        sheetFormat: { control: 'combo', label: 'Formato', datasource: [{value: 'A3'}, {value: 'A4'}], datavalue: 'value', datatext: 'value', datapreload: true },\n        weight: { control: 'combo', label: 'Grammatura', datasource: [{value: 80, text: '80 g/m²'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        staple: { control: 'check', label: 'Pinzatura' }\n      },\n      postage: {\n        code: { control: 'combo', label: 'Affrancatura', datasource: [/* array loaded from this.preferences.reload() function */], datavalue: 'code', datatext: 'description', datapreload: true },\n        vectors: [{\n          postageCode: null,\n          vector: null\n        }],\n        vectorEnablings: [{\n          vector: null,\n          enabledAt: null,\n          disabledAt: null\n        }],\n        expectReceipt: { control: 'check', label: 'Desidero ricevere una scansione digitale della cartolina di ritorno' },\n        topicOnReturnReceipt: { control: 'check', label: 'Riportare il promemoria invio nelle cartoline di ritorno' }\n      },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      displayName: { control: 'text', label: 'Mittente' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      countryCode: { control: 'text', label: 'Nazione' },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata per posta' }\n    },\n    datasources: { vectors: [], postages: [] },\n    data: {},\n    nexive: {\n      enabled: false,\n      enabledAt: null\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.letter) || (!this.preferences.isCal && (x.response.current?.sender?.letter && !(x.response.current.sender.letter.watermarks && Object.keys(x.response.current.sender.letter).length === 1) ));\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'letter'], x.response);\n        // Adjust some of the values\n        // data.postage.vectors\n        let _prioritaria = this.preferences.data.postage.vectors.find(x => x.postageCode === 'P');\n        let _raccomandata = this.preferences.data.postage.vectors.find(x => x.postageCode === 'R');\n        let vectors = {\n          prioritaria: _prioritaria ? _prioritaria.vector.toUpperCase() : null,\n          raccomandata: _raccomandata ? _raccomandata.vector.toUpperCase() : null\n        };\n        this.preferences.data.vectors = vectors;\n        this.preferences.processPostages(false);\n        this.preferences.processVectors();\n        // other\n        this.preferences.data.postage.topicOnReturnReceipt = (this.preferences.data.postage.topicOnReturnReceipt || false) === true;\n        this.preferences.data.print.colorMode = this.preferences.data.print.colorMode === 'color';\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        \n        //console.log('nexive', nexive, this.preferences.data.postage.vectorEnablings);\n        \n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.vectors) {\n        data.postage.vectors = [];\n        if (data.vectors.prioritaria) data.postage.vectors.push({postageCode: 'P', vector: data.vectors.prioritaria});\n        if (data.vectors.raccomandata) data.postage.vectors.push({postageCode: 'R', vector: data.vectors.raccomandata});\n        delete(data.vectors);\n      }\n      if (data.print && typeof data.print.colorMode !== undefined) data.print.colorMode = data.print.colorMode ? 'color' : 'bw';\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/letter`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    },\n    processVectors: () => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.vectors) {\n        let nexive = this.preferences.data.postage.vectorEnablings.filter(x => x.vector.toUpperCase() === 'NEXIVE' && x.enabledAt);\n        let vectors = JSON.parse(JSON.stringify(this.mdDatasources.postalServices.vectors));\n        if (nexive.length === 1) {\n          this.preferences.nexive = { enabled: true, enabledAt: nexive[0].enabledAt };\n          this.preferences.datasources.vectors = vectors;\n        } else {\n          this.preferences.nexive = { enabled: false, enabledAt: null };\n          let nexiveIndex = vectors.findIndex(x => x.code === 'NEXIVE');\n          if (nexiveIndex >= 0) vectors.splice(nexiveIndex, 1);\n          this.preferences.datasources.vectors = vectors;\n        }\n      }\n    },\n    processPostages: (reset = true) => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.postages) {\n        const vectors = this.preferences.data.vectors;\n        let postages = [];\n        if (vectors.prioritaria) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.prioritaria && x.code.startsWith('P')));\n        }\n        if (vectors.raccomandata) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.raccomandata && (x.code.startsWith('R') || x.code.startsWith('AR'))));\n        }\n        this.preferences.datasources.postages = postages;\n        this.preferences.resource.controls['postage.code'].datasource = this.preferences.datasources.postages;\n        if (reset) this.preferences.data.postage.code = null;\n      }\n    },\n    toggleNexive: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter/postage/vector-enablings`, { vector: 'NEXIVE', enabled: !this.preferences.nexive.enabled }).then(x => {\n        this.preferences.reload();\n      }).catch(e => {}).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n\n  postalOrders = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato',\n        control: 'combo',\n        datasource: [{\n          text: 'Inviato',\n          value: 'PENDING'\n        }, {\n          text: 'In revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_POST_OFFICE_REVISION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      postalAccount: {\n        label: 'Numero conto corrente',\n        control: 'number',\n        min: 12\n      },\n      postalAccountHolder: {\n        label: 'Intestatario conto corrente',\n        control: 'text'\n      }\n    },\n    data: {},\n    prefsel: null,\n    tableInterface: null,\n    toggle: () => {\n      this.postalOrders.isToggle = !!!this.postalOrders.isToggle || false;\n      if (!this.postalOrders.isToggle) {\n        this.postalOrders.prefsel = null;\n      }\n    },\n    reset: () => {\n      Object.keys(this.postalOrders.data).forEach(k => this.postalOrders.data[k] = null);\n    },\n    reload: () => {\n      this.postalOrders.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.postalOrders.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/payments/postal-orders`;\n      this.postalOrders.tableInterface.load();\n    },\n    confirm: () => {\n      if (this.api.user.id === this.prefsel) {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/impostazioni/posta-dialog-confirm'),\n        }, true).whenClosed(response => {\n          console.log(response);\n          if (!response.wasCancelled) {\n            if (response.output) {\n              this.prefsel = response.output.id;\n            }\n            this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : response.output.displayName;\n            this.postalOrders.prefsel = this.prefsel;\n          }\n        });\n      } else {\n        this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector?.data?.displayName;\n        this.postalOrders.prefsel = this.prefsel;\n      }\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.postalOrders.resource.save(this.postalOrders.data, `users/${this.prefsel}/preferences/sender/payments/postal-orders`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.postalOrders.tableInterface.load();\n        this.postalOrders.toggle();\n        this.postalOrders.reset();\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il bollettino selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.prefsel}/preferences/sender/payments/postal-orders/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.postalOrders.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    }\n  };\n\n  watermarks = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato ',\n        control: 'combo',\n        datasource: [{\n          text: 'Caricato',\n          value: 'PENDING'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_APPROVAL'\n        }, {\n          text: 'In attesa di revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di conferma',\n          value: 'PENDING_CONFIRMATION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      default: {\n        label: 'Predefinito',\n        control: 'check'\n      },\n      text: {\n        label: 'Testo',\n        control: 'textarea'\n      },\n      colorMode: {\n        label: 'Colori',\n        control: 'combo',\n        datasource: [{\n          text: 'Colori',\n          value: 'color'\n        }, {\n          text: 'Bianco e nero',\n          value: 'bw'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      /* notificationEmail: {\n        label: 'Email notifica',\n        control: 'text'\n      }, */\n      fileUri: {\n        label: 'File',\n        control: 'file'\n      },\n      fileData: {\n        label: 'File immagine del logo',\n        control: 'file'\n      }\n    },\n    data: {},\n    previews: {},\n    tableInterface: null,\n    toggle: () => {\n      this.watermarks.isToggle = !!!this.watermarks.isToggle || false;\n    },\n    reset: () => {\n      Object.keys(this.watermarks.data).forEach(k => this.watermarks.data[k] = null);\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.watermarks.resource.save(this.watermarks.data, `users/me/preferences/sender/letter/watermarks`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        this.watermarks.toggle();\n        this.watermarks.reset();\n        this.dialog.open({\n          title: 'Caricamento riuscito!',\n          class: 'small',\n          type: 'confirm',\n          body: `Il logo deve essere inviato per approvazione presso il centro stampa prima di poter essere utilizzato.<br><strong>Vuoi inviarlo adesso?</strong>`\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.watermarks.setStatus(x.response, 'PENDING_APPROVAL');\n          }\n        });\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    setDefault: (record) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {default: true}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    setStatus: (record, status) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {statusCode: status}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        if (status === 'APPROVED') {\n          this.dialog.open({\n            title: 'Logo approvato!',\n            class: 'small',\n            type: 'confirm',\n            body: `Vuoi impostare questo logo come predefinito?`\n          }, true).whenClosed(response => {\n            if (!response.wasCancelled) {\n              this.watermarks.setDefault(record);\n            }\n          });\n        }\n        \n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il logo selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/me/preferences/sender/letter/watermarks/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.watermarks.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    },\n    download: (record) => {\n      if (!record.fileUri) return;\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(record.fileUri)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    uriBuild: (path, absolute = false) => {\n      path = path.replace(this.api.baseUrl, '');\n      path = path.replace('/api/v0.0.1/', '');\n      return absolute ? this.api.baseUrl + path : path;\n    },\n    getImage: (path) => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(path)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        //anchor.target = '_blank';\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    }\n  };\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogAddKeyword {\n  message;\n  customKeyword = { \n    label: 'Campo personalizzato',\n    placeholder: 'data',\n    context: 'QUEUE',\n    autoResolved: 'NO'\n  };\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n  activate(model) {\n    this.parent = model.parent;\n    this.api = model.parent.api;\n    this.keywords = this.parent.keywords;\n    this.viewTemplate = model.parent.parent;\n    this.templateModel = this.viewTemplate.templateModel;\n    this.systemKeywords = this.templateModel.systemKeywords;\n    this.resource = this.initResource();\n    this.setDatasource();\n  }\n  initResource() {\n    return {\n      controls: {},\n      schema: {\n        keyword: {\n          required: true,\n          control: 'combo',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          label: 'Parola chiave',\n          datavalue: 'placeholder',\n          datasource: []\n        },\n        placeholder: {\n          required: true,\n          control: 'text',\n          label: 'Nome parola chiave',\n          placeholder: 'nome parola chiave',\n          validationRule: {\n            satisfies: (value) => !this.isKeywordTaken(value),\n            withMessage: 'Parola chiave già esistente'\n          }\n        }\n      },\n      data: {\n        placeholder: 'data'\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { \n            if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    };\n  }\n  setMessage() {\n    let message = \"Ti verrà chiesto di inserire un valore testuale ogni volta che sceglierai di utilizzare questo modello\";\n    if (this.resource.data.keyword !== 'data') {\n      message = \"Le parole chiave selezionate saranno risolte automaticamente dal sistema all'invio del messaggio\"\n    }\n    this.message = message;\n  }\n  isKeywordTaken(value) {\n    return this.templateModel.systemKeywords.some((keyword) => {\n      return keyword.label === value || keyword.placeholder === value;\n    });\n  }\n  setDatasource() {\n    const customKeyword = structuredClone(this.customKeyword);\n    let datasource = [customKeyword];\n    const usedKeywords = this.keywords.map((keyword) => keyword.placeholder);\n    const availableKeywords = this.systemKeywords.filter(\n      (keyword) => !usedKeywords.includes(keyword.placeholder)\n    );\n    datasource = availableKeywords.concat(datasource);\n    this.resource.schema.keyword = Object.assign({}, this.resource.schema.keyword, { datasource });\n    this.resource.data.keyword = datasource[0].placeholder;\n    return datasource;\n  }\n  uniquePlaceholder(value) {\n    const base = value.replace(/-\\d+$/, '');\n    const escapedBase = base.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n    const pattern = new RegExp(`^${escapedBase}(?:-(\\\\d+))?$`);\n\n    const matches = this.keywords\n      .map((keyword) => keyword.placeholder.match(pattern))\n      .filter(Boolean);\n\n    if (matches.length === 0) return base;\n    const maxSuffix = Math.max(...matches.map((match) => (match[1] ? parseInt(match[1], 10) : 0)));\n    return `${base}-${maxSuffix + 1}`;\n  }\n  save() {\n    let keyword;\n    const selected = this.resource.data.keyword;\n    const systemKeyword = this.templateModel.systemKeywords.find((keyword) => keyword.placeholder === selected);\n    if (systemKeyword) keyword = systemKeyword;\n    else {\n      keyword = {\n        ...this.customKeyword,\n        placeholder: this.uniquePlaceholder(this.resource.data.placeholder)\n      }\n    }\n    return this.resource.validate().then(() => {      \n      this.parent.keywords.push(keyword);\n      this.controller.ok(); \n    }); \n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogSignatureEditor {\n  ckEditorInlineAlignment = {\n    'image-style-align-left': 'float:left;margin:12.6px 21px 21px 0;',\n    'image-style-align-right': 'float:right;margin:12.6px 0 21px 21px;',\n    'image-style-align-center': 'display:block;margin:0 auto;',\n  };\n\n  imageLimitKb = 150;\n  editor;\n  uploadCmd;\n  resizeCmd;\n\n  resource = {\n    controls: {},\n    schema: {\n      label: {\n        label: 'Nome firma',\n        control: 'text',\n        required: true,\n      },\n      default: {\n        label: 'Impostazioni',\n        description: 'Imposta come predefinito',\n        control: 'check'\n      },\n      html: {\n        required: true,\n        control: 'editor',\n        params: {\n          language: 'it',\n          toolbar: {\n            items: ['imageUpload', '|', 'bold', 'italic', 'link']\n          },\n          image: {\n            styles: [\n              'alignLeft',\n              'alignRight',\n              'alignCenter',\n              'side'\n            ],\n            toolbar: [\n              'imageStyle:alignLeft',\n              'imageStyle:alignRight',\n              'imageStyle:alignCenter'\n            ]\n          }\n        },\n        validationRule: {\n          satisfies: (value) => (this.parseHtml(value)?.querySelectorAll('img').length || 0) <= 1,\n          withMessage: 'È possibile inserire una sola immagine nella firma.'\n        }\n      },\n      text: {\n        required: true,\n        control: 'textarea',\n        placeholder: 'Inserisci la tua firma testuale'\n      }\n    },\n    data: {\n      allowAlreadyExistingLabel: 'NO'\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  static inject = [DialogController];\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n  activate(params) {\n    this.api = params.parent.api;\n    this.signature = params.signature;\n    this.dialog = params.parent.dialog;\n    this.baseUrl = params.parent.baseUrl;\n    if (this.signature) this.initResourceData();\n  }\n  attached() {\n    this.init();\n  }\n  detached() {\n    this.uploadCmd?.off('execute', this.onImageUpload);\n    this.resizeCmd?.off('execute', this.onImageResize);\n  }\n\n  // Init\n  init() {\n    setTimeout(() => {\n      const editable = this.htmlEditorRef.querySelector('.ck-editor__editable');\n      this.editor = editable?.ckeditorInstance;\n      if (this.editor) {\n        this.uploadCmd = this.editor.commands.get('imageUpload');\n        this.resizeCmd = this.editor.commands.get('imageResize');\n        this.setupImageGuard();\n        this.setupImageUploadListener();\n        this.setupImageResizeListener();\n      }\n    }, 0);\n  }\n  initResourceData() {\n    this.resource.data = {\n      ...this.signature,\n      default: this.signature.default === 'YES' ? true : false,\n      allowAlreadyExistingLabel: 'NO'\n    };\n  }\n\n  // Setup\n  setupImageGuard() {\n    this.editor.model.document.registerPostFixer(() => {\n      this.syncImageState();\n    });\n  }\n  setupImageUploadListener() {\n    if (!this.uploadCmd) return;\n    this.onImageUpload = () => {\n      let handled = false;\n      const onData = () => {\n        if (handled) return;\n        handled = true;\n        this.editor.model.document.off('change:data', onData);\n        setTimeout(() => {\n          const src = this.getImageSrc();\n          if (src) this.imageSize = this.setImageSize(src);\n        }, 100);\n      };\n      this.editor.model.document.on('change:data', onData);\n    };\n    this.uploadCmd.on('execute', this.onImageUpload);\n  }\n  setupImageResizeListener() {\n    if (!this.resizeCmd) return;\n    this.onImageResize = () => this.calculateResizedImageSize();\n    this.resizeCmd.on('execute', this.onImageResize);\n  }\n  syncImageState() {\n    const hasImage = this.parseHtml(this.editor.getData()).querySelectorAll('img').length > 0;\n    this.toggleUploadLock(hasImage);\n    if (!hasImage) this.imageSize = null;\n  }\n  toggleUploadLock(hasImage) {\n    if (!this.uploadCmd) return;\n    if (hasImage) this.uploadCmd.forceDisabled('signatureLock');\n    else this.uploadCmd.clearForceDisabled('signatureLock');\n  }\n  getImageSrc() {\n    return this.parseHtml(this.resource.data.html)?.querySelector('img[src^=\"data:image\"]')?.getAttribute('src');\n  }\n  calculateResizedImageSize() {\n    const selectedImage = this.getSelectedImage();\n    const src = selectedImage?.getAttribute('src');\n    if (src.includes('base64')) {\n      const width = selectedImage?.getAttribute('width');\n\n      if (src && width) {\n        const scale = parseFloat(width) / 100;\n        const img = new Image();\n\n        img.onload = () => {\n          const targetWidth = Math.floor(img.naturalWidth * scale);\n          const targetHeight = Math.floor(img.naturalHeight * scale);\n          const canvas = document.createElement('canvas');\n          canvas.width = targetWidth;\n          canvas.height = targetHeight;\n          canvas.getContext('2d').drawImage(img, 0, 0, targetWidth, targetHeight);\n          const resizedSrc = canvas.toDataURL('image/jpeg', 1);\n          this.imageSize = this.setImageSize(resizedSrc);\n        };\n        img.src = src;\n      }\n    }\n  }\n  // CRUD functions\n create(event) {\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      return this.resampleImageForSave(this.resource.data.html)\n        .then((resizedHtml) => this.finalizeHtmlForSave(resizedHtml))\n        .then((formattedHtml) => {\n          const payload = {\n            ...this.resource.data,\n            html: formattedHtml,\n            default: this.resource.data.default ? 'YES' : 'NO'\n          };\n          return this.api.post(this.baseUrl, payload).then(() => {\n            this.controller.ok();\n          }).catch((xhr) => {\n            if (xhr.statusCode === 409) {\n              this.dialogAllowAlreadyExistingLabel(event);\n            } else {\n              this.api.dialogError(xhr, this.resource.controls);\n            }\n          }).finally(() => {\n            event.model.busy = false;\n            this.resource.data.allowAlreadyExistingLabel = 'NO';\n          });\n        });\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n\n  edit(event) {\n    event.model.busy = true;\n    const endpoint = `${this.baseUrl}/${this.signature.id}`;\n    return this.resource.validate().then(() => {\n      return this.resampleImageForSave(this.resource.data.html)\n        .then((resizedHtml) => this.finalizeHtmlForSave(resizedHtml))\n        .then((formattedHtml) => {\n          const payload = {\n            ...this.resource.data,\n            html: formattedHtml,\n            default: this.resource.data.default ? 'YES' : 'NO'\n          };\n          return this.api.put(endpoint, payload).then(() => {\n            this.controller.ok();\n          }).catch((xhr) => {\n            if (xhr.statusCode === 409) {\n              this.dialogAllowAlreadyExistingLabel(event);\n            } else {\n              this.api.dialogError(xhr, this.resource.controls);\n            }\n          }).finally(() => {\n            event.model.busy = false;\n            this.resource.data.allowAlreadyExistingLabel = 'NO';\n          });\n        });\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n\n  // Set functions\n  resampleImageForSave(html) {\n    const liveImg = this.htmlEditorRef?.querySelector('figure > img');\n    if (!liveImg || !liveImg.closest('figure')?.classList.contains('image_resized')) return Promise.resolve(html);\n\n    const rect = liveImg.getBoundingClientRect();\n    const targetWidth = Math.round(rect.width);\n    const targetHeight = Math.round(rect.height);\n    const src = liveImg.getAttribute('src');\n\n    if (!src || !targetWidth || !targetHeight) return Promise.resolve(html);\n\n    if (src.startsWith('data:image')) {\n      return new Promise((resolve) => {\n        const img = new Image();\n        img.onload = () => {\n          const canvas = document.createElement('canvas');\n          canvas.width = targetWidth;\n          canvas.height = targetHeight;\n          const context = canvas.getContext('2d');\n          context.fillStyle = 'white';\n          context.fillRect(0, 0, targetWidth, targetHeight);\n          context.drawImage(img, 0, 0, targetWidth, targetHeight);\n          const resizedSrc = canvas?.toDataURL('image/jpeg', 1);\n          const parsedHtml = this.parseHtml(html);\n          const targetImg = parsedHtml.querySelector('img');\n          if (targetImg) {\n            targetImg.setAttribute('width', targetWidth);\n            targetImg.setAttribute('height', targetHeight);\n            if (resizedSrc) targetImg.setAttribute('src', resizedSrc);\n          }\n          resolve(parsedHtml.body.innerHTML);\n        };\n        img.onerror = () => resolve(html);\n        img.src = src;\n      });\n    }\n\n    const parsedHtml = this.parseHtml(html);\n    const targetImg = parsedHtml.querySelector('img');\n    if (targetImg) {\n      targetImg.setAttribute('width', targetWidth);\n      targetImg.setAttribute('height', targetHeight);\n    }\n    return Promise.resolve(parsedHtml.body.innerHTML);\n  }\n  syncTextFromHtml(force = false) {\n    if (force || !this.resource.data.text?.trim()) {\n      this.resource.data.text = this.htmlToText(this.resource.data.html);\n    }\n  }\n\n  // Utilities\n  finalizeHtmlForSave(html) {\n    const parsedHtml = this.parseHtml(html);\n    const img = parsedHtml.querySelector('img');\n    if (img) {\n      const figure = img.closest('figure');\n      figure.style.margin = '0';\n      const alignClass = Object.keys(this.ckEditorInlineAlignment).find((cls) => figure?.classList.contains(cls));\n      const alignCss = alignClass ? this.ckEditorInlineAlignment[alignClass] : '';\n      img.setAttribute('style', `${alignCss}${img.getAttribute('style') || ''}`);\n    } \n    return parsedHtml.body.innerHTML;\n  }\n  getSelectedImage() {\n    const selection = this.editor.model.document.selection;\n    return selection.getSelectedElement()\n      || selection.getFirstPosition()?.findAncestor('imageBlock')\n      || selection.getFirstPosition()?.findAncestor('imageInline');\n  }\n  parseHtml(html) {\n    return new DOMParser().parseFromString(html, 'text/html');\n  }\n  setImageSize(dataUrl) {\n    const base64 = dataUrl?.split(',')[1] || '';\n    const b = Math.ceil((base64.length * 3) / 4);\n    const kb = b / 1024;\n    return kb.toFixed(kb < 10 ? 1 : 0);\n  }\n  htmlToText(html) {\n    if (!html) return '';\n    const htmlText = this.parseHtml(html);\n\n    htmlText.querySelectorAll('br').forEach(br => br.replaceWith('\\n'));\n    htmlText.querySelectorAll('p').forEach(p => {\n      p.after('\\n\\n');\n      p.replaceWith(p.textContent);\n    });\n    htmlText.querySelectorAll('a').forEach(a => a.replaceWith(a.textContent || a.href));\n    htmlText.querySelectorAll('img').forEach(img => img.remove());\n\n    return (htmlText.body.textContent || '').replace(/\\n{3,}/g, '\\n\\n').trim();\n  }\n\n  // Dialogs\n  dialogAllowAlreadyExistingLabel(event) {\n    const body = '<p class=\"m-0\"><strong>Esiste già una firma con questo nome.</strong></p><p class=\"m-0\">Annulla per rinominare oppure Conferma per salvare con un nome generato automaticamente.</p>';\n    this.dialog.open({\n      body,\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small already-existing-label'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.resource.data.allowAlreadyExistingLabel = 'YES';\n        if (this.signature) return this.edit(event);\n        return this.create(event);\n      }\n    });\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogSignaturePreview {\n  imageLimitKb = 150;\n  editor;\n  textSynced;\n  isErrorInit;\n  isPendingInit;\n  onImageResize;\n  isImageSizeValid = true;\n\n  resource = {\n    controls: {},\n    schema: {\n      html: {\n        readonly: true,\n        control: 'editor',\n        params: {\n          language: 'it',\n          toolbar: {\n            items: ['imageUpload', '|', 'bold', 'italic', 'link']\n          },\n          image: {\n            styles: [\n              'alignLeft',\n              'alignRight',\n              'alignCenter',\n              'side'\n            ],\n            toolbar: [\n              'imageStyle:alignLeft',\n              'imageStyle:alignRight',\n              'imageStyle:alignCenter'\n            ]\n          }\n        },\n      },\n      text: {\n        readonly: true,\n        control: 'textarea',\n        placeholder: 'Inserisci la tua firma testuale'\n      }\n    },\n    data: {}\n  }\n\n  static inject = [DialogController];\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n  activate(params) {\n    this.signature = params.signature;\n  }\n  attached() {\n    this.init();\n  }\n  detached() {\n    this.signaturePreviewWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n  init() {\n    this.resource.data.html = this.signature.html;\n    this.resource.data.text = this.signature.text;\n    setTimeout(() => {\n      this.expandWrapper();\n    }, 0);\n  }\n  expandWrapper() {\n    requestAnimationFrame(() => {\n      this.signaturePreviewWrapper.style.height = this.signaturePreviewWrapper.scrollHeight + 'px';\n      this.signaturePreviewWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.signaturePreviewWrapper.style.height = 'auto';\n    };\n    this.signaturePreviewWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n}\n","import { PLATFORM } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\nexport class DialogTemplateEditor {\n  isErrorInit;\n  isPendingInit;\n  keywords = [];\n  baseUrl = 'users/me/preferences/sender/message-templates';\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n  \n  activate(model) {\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.toast = this.parent.toast;\n    this.template = model.template;\n    this.dialog = this.parent.dialog;\n    this.resource = this.initResource();\n    this.keywords = this.template?.keywords || [];\n  }\n  initResource() {\n    return {\n      controls: {},\n      schema: {\n        label: {\n          required: true,\n          control: 'text',\n          label: 'Nome modello',\n          placeholder: 'Inserisci il nome del modello (es. Convocazione assemblea)'\n        },\n        subject: {\n          required: true,\n          control: 'text',\n          label: 'Oggetto'\n        },\n        htmlBody: {\n          required: true,\n          control: 'editor',\n          label: 'Messaggio',\n          params: {\n            language: 'it',\n            toolbar: {\n              items: [\n                'heading',\n                'bold',\n                'italic',\n                'strikethrough',\n                'removeFormat',\n                '|',\n                'bulletedList',\n                'numberedList',\n                '|',\n                'link',\n                '|',\n                'undo',\n                'redo'\n              ]\n            }\n          }\n        }\n      },\n      data: {\n        ...(this.template ? structuredClone(this.template) : {}),\n        allowAlreadyExistingLabel: 'NO'\n      },\n      validate: () => {\n        const promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            control.validate().then((result) => {\n              if (result.valid) resolve();\n              else reject('Control didn\\'t pass validation');\n            });\n          }));\n        });\n        return Promise.all(promises);\n      }\n    };\n  }\n  addKeyword() {\n    return this.dialog.open({\n      class: 'small add-keyword',\n      title: 'Aggiungi parola chiave',\n      viewModelParams: { parent: this },\n      viewModel: PLATFORM.moduleName('views/impostazioni/shared-views/dialogs/add-keyword')\n    });\n  }\n  insertKeyword(keyword) {\n    const editor = this.resource.controls.htmlBody?.control?.editor;\n    editor?.model?.change?.((writer) => {\n      editor.model.insertContent(writer.createText(`{${keyword.placeholder}}`), editor.model.document.selection);\n    });\n  }\n  removeKeyword(keyword) {\n    const index = this.keywords.indexOf(keyword);\n    if (index > -1) this.keywords.splice(index, 1);\n  }\n  setPayload() {\n    return {\n      keywords: this.keywords,\n      label: this.resource.data.label,\n      subject: this.resource.data.subject,\n      htmlBody: this.resource.data.htmlBody,\n      allowAlreadyExistingLabel: this.resource.data.allowAlreadyExistingLabel || 'NO'\n    };\n  }\n  create(event) {\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      const payload = this.setPayload();\n      return this.api.post(this.baseUrl, payload).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        if (error?.statusCode === 409) {\n          this.dialogAllowAlreadyExistingLabel(event);\n        } else {\n          this.api.dialogError(error, this.resource.controls);\n        }\n      }).finally(() => {\n        event.model.busy = false;\n        this.resource.data.allowAlreadyExistingLabel = 'NO';\n      });\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n  edit(event) {\n    event.model.busy = true;\n    const endpoint = `${this.baseUrl}/${this.template.id}`;\n    return this.resource.validate().then(() => {\n      const payload = this.setPayload();\n      return this.api.put(endpoint, payload).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        if (error.statusCode === 409) {\n          this.dialogAllowAlreadyExistingLabel(event);\n        } else {\n          this.api.dialogError(error, this.resource.controls);\n        }\n      }).finally(() => {\n        event.model.busy = false;\n        this.resource.data.allowAlreadyExistingLabel = 'NO';\n      });\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n  dialogAllowAlreadyExistingLabel(event) {\n    const body = '<p class=\"m-0\"><strong>Esiste già un modello con questo nome.</strong></p><p class=\"m-0\">Annulla per rinominare oppure Conferma per salvare con un nome generato automaticamente.</p>';\n    this.dialog.open({\n      body,\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small already-existing-label'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.resource.data.allowAlreadyExistingLabel = 'YES';\n        if (this.template?.id) return this.edit(event);\n        return this.create(event);\n      }\n    });\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogTemplatePreview {\n  resource = {\n    controls: {},\n    schema: {\n      subject: {\n        control: 'text',\n        label: 'Oggetto',\n        readonly: true\n      },\n      htmlBody: {\n        control: 'editor',\n        label: 'Messaggio',\n        readonly: true,\n        params: {\n          language: 'it',\n          toolbar: { items: [] }\n        }\n      }\n    },\n    data: {}\n  };\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n  activate(params) {\n    this.template = params.template;\n  }\n  attached() {\n    this.init();\n  }\n  detached() {\n    this.templatePreviewWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n  init() {\n    this.resource.data.subject = this.template.subject;\n    this.resource.data.htmlBody = this.template.htmlBody;\n    setTimeout(() => {\n      this.expandWrapper();\n    }, 0);\n  }\n  expandWrapper() {\n    requestAnimationFrame(() => {\n      this.templatePreviewWrapper.style.height = this.templatePreviewWrapper.scrollHeight + 'px';\n      this.templatePreviewWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.templatePreviewWrapper.style.height = 'auto';\n    };\n    this.templatePreviewWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class Signatures {\n  baseUrl;\n  userCanEdit;\n  userCanRead;\n  userCanDelete;\n\n  static inject = [Api, KaToast, KaDialog];\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n    this.baseUrl = `users/${this.api.user.id}/preferences/sender/signatures`;\n  }\n  attached() {\n    this.setupPermission();\n    this.init();\n  }\n \n  // Init\n  init() {\n    this.isPendingInit = true;\n    const promises = [\n      this.initTableInterface(),\n      this.initSearchInterface()\n    ];\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n        this.searchInterface.search().finally(() => {\n          this.isPendingInit = false;\n        });\n      });\n    }).catch((error) => {\n      console.log('init', error);\n      this.isPendingInit = false;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: `table-signatures`,\n      endpoint: this.baseUrl\n    });\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: `search-signatures`,\n      table: this.tableInterface,\n      schema: {\n        label: {\n          control: 'text',\n          label: 'Nome firma',\n          query: 'label-search'\n        },\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n  // Setup\n  setupPermission() {\n    this.userCanDelete = this.api.hasRole('DELETE_USER_PREFERENCES_SENDER_SIGNATURE');\n    this.userCanEdit = this.api.hasRole('MODIFY_USER_PREFERENCES_SENDER_SIGNATURE');\n    this.userCanRead = this.api.hasRole('LIST_USER_PREFERENCES_SENDER_SIGNATURES');\n  }\n  // CRUD\n  setSignatureAsDefault(event, record) {\n    event.model = { busy: true };\n    const data = { default: 'YES' };\n    return this.api.put(`${this.baseUrl}/${record.id}/default`, data).then(() => {\n      this.toast.show(`Firma impostata come predefinita!`, 'success');\n      this.searchInterface.search();\n    }).catch((error) => {\n      console.error('setSignatureAsDefault', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n  deleteSignature(record) {\n    return this.api.delete(`${this.baseUrl}/${record.id}`).then(() => {\n      this.toast.show('Firma eliminata con successo', 'success');\n      this.searchInterface.search();\n    }).catch((error) => {\n      console.error('deleteSignature', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  // Dialog\n  dialogSignatureEditor(event, record = null) {\n    if (event.model) event.model.busy = true;\n    else event.model = { busy: true };\n    const title = `${record ? 'Modifica' : 'Crea'} firma`;\n    this.dialog.open({\n      title,\n      class: 'large signature-editor',\n      viewModelParams: { parent: this, signature: record },\n      viewModel: PLATFORM.moduleName('views/impostazioni/shared-views/dialogs/signature-editor')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.toast.show('Firma salvata con successo', 'success');\n        this.searchInterface.search();\n      }\n      event.model.busy = false;\n    });\n  }\n  dialogDeleteSignature(event, record) {\n    event.model = { busy: true };\n    this.dialog.open({\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'delete-signature',\n      body: `<p class=\"m-0\"><strong>Stai eliminando definitivamente <i>${record.label}</i></strong></p><p class=\"m-0\">Confermi di voler proseguire?</p>`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteSignature(record).finally(() => {\n        event.model.busy = false;\n      });\n    } else {\n      event.model.busy = false;\n    };\n    });\n  }\n  dialogPreviewSignature(event, record) {\n    event.model = { busy: true };\n    this.dialog.open({\n      title: 'Anteprima firma',\n      class: 'large signature-preview',\n      viewModelParams: { signature: record },\n      viewModel: PLATFORM.moduleName('views/impostazioni/shared-views/dialogs/signature-preview')\n    }).whenClosed(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","import { PLATFORM } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { TemplateModel } from '../../../classes/models/template';\nexport class Template {\n  isPendingInit;\n  userCanRead;\n  userCanCreate;\n  userCanEdit;\n  userCanDelete;\n\n  static inject = [Api, KaToast, KaDialog];\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.templateModel = new TemplateModel();\n  }\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n  attached() {\n    this.setupPermission();\n    this.init();\n  }\n  setupPermission() {\n    this.userCanCreate = this.api.hasRole('CREATE_USER_PREFERENCES_SENDER_MESSAGE_TEMPLATE');\n    this.userCanEdit = this.api.hasRole('MODIFY_USER_PREFERENCES_SENDER_MESSAGE_TEMPLATE');\n    this.userCanDelete = this.api.hasRole('DELETE_USER_PREFERENCES_SENDER_MESSAGE_TEMPLATE');\n  }\n\n  init() {\n    this.isPendingInit = true;\n    const promises = [\n      this.initTableInterface(),\n      this.initSearchInterface()\n    ];\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n      });\n      this.searchInterface.search();\n    }).catch(() => {\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: `table-multicerta-templates`,\n      endpoint: `users/me/preferences/sender/message-templates`\n    });\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: `search-multicerta-templates`,\n      table: this.tableInterface,\n      schema: {\n        label: {\n          control: 'text',\n          label: 'Nome modello',\n          query: 'label-search'\n        },\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          control: 'date',\n          label: 'al',\n          query: 'created-at-lte'\n        }\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  dialogTemplateEditor(event, record = null) {\n    if (event.model) event.model.busy = true;\n    else event.model = { busy: true };\n    return this.dialog.open({\n      title: record ? 'Modifica modello' : 'Crea modello',\n      class: 'large template-editor',\n      viewModel: PLATFORM.moduleName('views/impostazioni/shared-views/dialogs/template-editor'),\n      viewModelParams: { parent: this, template: record }\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      event.model.busy = false;\n    });\n  }\n\n  dialogTemplatePreview(event, record) {\n    if (event.model) event.model.busy = true;\n    else event.model = { busy: true };\n    return this.dialog.open({\n      title: 'Anteprima modello',\n      class: 'medium template-preview',\n      viewModel: PLATFORM.moduleName('views/impostazioni/shared-views/dialogs/template-preview'),\n      viewModelParams: { template: record }\n    }).whenClosed(() => {\n      event.model.busy = false;\n    });\n  }\n\n  dialogDeleteTemplate(event, record) {\n    if (event.model) event.model.busy = true;\n    else event.model = { busy: true };\n    return this.dialog.open({\n      title: 'Attenzione!',\n      type: 'confirm',\n      class: 'small template-delete',\n      body: `<p class=\"m-0\">L'operazione non è reversibile.</p><p class=\"m-0\"><strong>Confermi di voler eliminare il modello?</strong></p>`\n    }, true).whenClosed((response) => {\n      if (response.wasCancelled) {\n        event.model.busy = false;\n        return;\n      }\n      return this.deleteTemplate(record).finally(() => {\n        event.model.busy = false;\n      });\n    });\n  }\n  deleteTemplate(record) {\n    return this.api.delete(`users/me/preferences/sender/message-templates/${record.id}`).then(() => {\n      this.toast.show(`Modello eliminato con successo!`, 'success');\n      this.searchInterface.search();\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\nexport class DialogSmsAliasRequest {\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(model) {\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.toast = this.parent.toast;\n    this.ownerName = this.parent.prefSelector.data?.displayName || this.api.user.displayName;;\n    this.resource = {\n      controls: {},\n      schema: {\n        displayName: { label: 'Mittente SMS', control: 'text', required: true },\n        companyName: { label: 'Azienda', control: 'text', required: true },\n        vatCode: { label: 'Partita IVA', control: 'text', required: true },\n        fiscalCode: { label: 'Codice fiscale', control: 'text', required: true },\n        streetAddress: { label: 'Indirizzo', control: 'text', required: true },\n        zipCode: { label: 'CAP', control: 'text', required: true },\n        admLvl3: { label: 'Città', control: 'text' },\n        admLvl2: { label: 'Provincia', control: 'text', required: true },\n        country: {\n          label: 'Nazione',\n          control: 'combo',\n          datasource: {\n            table: 'geo/countries',\n            query: {\n              search: 'text-search',\n              item: 'code'\n            }\n          },\n          datatext: 'name',\n          datavalue: 'code',\n          datapreload: false,\n          required: true\n        },\n        email: { label: 'Email', control: 'text', required: true },\n        pec: { label: 'PEC', control: 'text', required: true },\n        phoneNumber: { label: 'Telefono', control: 'text', required: true },\n        default: { description: 'Imposta come predefinito', control: 'check' }\n      },\n      data: { displayName: this.ownerName, companyName: this.ownerName },\n      validate: () => {\n        const promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            control.validate().then((result) => {\n              if (result.valid) resolve();\n              else reject('Control didn\\'t pass validation');\n            });\n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n\n\n  send(event) {\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      const payload = {\n        ...this.resource.data,\n        default: this.resource.data.default ? 'YES' : 'NO'\n      };\n      return this.api.post(this.parent.tableInterface.endpoint, payload).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        this.api.dialogError(error, this.resource.controls);\n      }).finally(() => {\n        event.model.busy = false;\n      })\n    }).catch(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\n\nexport class ViewSms {\n  views = {\n    preferenze: {\n      label: 'Preferenze',\n      vm: PLATFORM.moduleName('views/impostazioni/sms/views/aliases'),\n      visible: true\n    }\n  };\n  static inject = [Api, Router, KaToast, KaDialog];\n  constructor(api, router, kaToast, kaDialog) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n    this.parent = this;\n  }\n  activate(params) {\n    this.params = params;\n    this.view = params.view;\n    if (!this.view) this.router.navigate('impostazioni/sms/preferenze');\n    this.navConfig = {\n      path: 'impostazioni/sms',\n      links: Object.entries(this.views)\n        .filter(([, value]) => value.visible)\n        .map(([key, value]) => ({ view: key, label: value.label }))\n    };\n  }\n}\n","import { PLATFORM, observable } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\nexport class ViewSmsAliases {\n  isPendingInit;\n  @observable() prefsel = null;\n  statuses = {\n    PENDING: { label: 'In attesa di registrazione', class: 'pending' },\n    REGISTERED: { label: 'Richiesta registrata', class: 'pending' },\n    COMPLETED: { label: 'Attivo', class: 'success' },\n    REFUSED: { label: 'Rifiutato', class: 'error' },\n    ERROR: { label: 'Errore', class: 'error' }\n  };\n  activate(model) {\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.toast = this.parent.toast;\n    this.dialog = this.parent.dialog;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.initTableInterface().finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  initTableInterface() {\n    const client = this.api;\n    const name = 'preferences-sms-aliases-table';\n    this.tableInterface = new TableInterface({ client, name });\n    return this.tableInterface.initialize();\n  }\n  prefselChanged(value, old) {\n    if (old && value === null) this.tableInterface.reset(); \n    else if (value && value !== old) {\n      setTimeout(() => {\n        this.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/sms-aliases`;\n        this.tableInterface.load();\n      }, 0);\n    }\n  }\n  setDefaultAlias(record, event) {\n    event.model = { busy: true };\n    return this.api.patch(`${this.tableInterface.endpoint}/${record.id}`, { default: 'YES' }).then(() => {\n      this.tableInterface.load();\n      this.toast.show('Alias impostato come predefinito!', 'success');\n    }).catch((error) => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n  dialogSmsAliasRequest(event) {\n    event.model.busy = true;\n\n    return this.dialog.open({\n      title: 'Richiedi nuovo alias',\n      class: 'large sms-alias-request',\n      viewModel: PLATFORM.moduleName('views/impostazioni/sms/dialogs/sms-alias-request'),\n      viewModelParams: { parent: this }\n    }).whenClosed((response) => {\n      event.model.busy = false;\n      if (!response.wasCancelled) this.tableInterface.load();\n    });\n  }\n}\n","export class vmLandingDownloadAppMobile {\n  isPendingInit = true;\n\n  activate() {\n    const targetUrl = this.setRedirectUrl();\n    setTimeout(() => {\n      window.location.replace(targetUrl);\n    }, 1000);\n  }\n\n  setRedirectUrl() {\n    const ua = navigator.userAgent;\n    let url = 'https://www.multicerta.it/per-il-condomino.html';\n\n    if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n      url = 'https://apps.apple.com/it/app/multicerta/id1406693417';\n    }\n    if (/Android/.test(ua)) {\n      url = 'https://play.google.com/store/apps/details?id=com.multicerta';\n    }\n    return url;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog)\nexport class vmEmailConfirm {\n  constructor(aurelia, router, api, dialog) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.dialog = dialog;\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.post(`users/login`, { emailConfirmationCode: this.params.code, grantType: 'firstAccessLogin' }).then(xhr => {\n      const response = xhr.response;\n      this.api.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.api.accessToken = response.token;\n      this.api.refreshToken = response.refreshToken;\n      return this.api.startUser();\n    }).catch(xhr => {\n      let response = null;\n      console.log('POST email-confirmations', xhr);\n      try { response = JSON.parse(xhr?.response) } finally {\n        return this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'large', \n          type: 'alert', \n          body: response?.detail ? response.detail : xhr?.response \n        }).whenClosed(() => {\n          return location.href = '/login';\n        });\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\n\nexport class vmLandingReadConfirmation {\n  isMobile;\n  isLoading;\n  isErrorInit;\n  errorMessage;\n  delay = 1500;\n  isPendingInit;\n  currentYear = new Date().getFullYear();\n  qrCodeSrc = ENVIRONMENT.APP_DEBUG === 'true'\n    ? '../../static/images/qrcode-multicerta-app-stage.svg'\n    : '../../static/images/qrcode-multicerta-app-prod.svg';\n\n  static inject = [Api];\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.token = this.params.token;\n    this.isMobile = this.checkMobile();\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    let promises = [\n      this.api.get(`email-read-receipts/${this.token}`),\n      new Promise((resolve) => setTimeout(resolve, this.delay))\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const response = xhr?.response;\n        if (response?.type === 'email-read-receipts') {\n          this.emailReadReceipts = xhr.response;\n        }\n      });\n    }).catch((error) => {\n      this.isErrorInit = true;\n      this.errorMessage = error?.statusCode === 410 ? 'Il link non è più valido.' : 'Si è verificato un errore.';\n    }).finally(() => {\n      this.isLoading = false;\n      this.isPendingInit = false;\n    });\n  }\n  goToMobileApp(platform) {\n    const storeUrls = {\n      android: 'https://play.google.com/store/apps/details?id=com.multicerta',\n      ios: 'https://apps.apple.com/it/app/multicerta/id1406693417'\n    };\n    const url = storeUrls[platform];\n    if (url) {\n      window.open(url, '_blank', 'noopener,noreferrer');\n    }\n  }\n  checkMobile() {\n    if ('userAgentData' in navigator) {\n      return navigator.userAgentData.mobile;\n    }\n    return /Android|iPhone|iPad|iPod|IEMobile|BlackBerry|Opera Mini/i.test(navigator.userAgent);\n  }\n  confirm() {\n    this.isLoading = true;\n    this.api.post(`email-read-receipts/${this.token}/confirm`, {}).then(() => {\n      this.init();\n    }).catch(() => {\n      this.isErrorInit = true;\n      this.errorMessage = 'Si è verificato un errore.';\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingOfferta {\n  offer = null;\n  offerExpired = null;\n  currentDate = new Date().toISOString();\n  promoOffers = { 'email': null, 'redeemCodes': [] };\n  localStorageOffer = JSON.parse(localStorage.getItem('promo-offers')) || localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n  resource = {\n    controls: {},\n    schema: {\n      email: {\n        label: 'Email', \n        control: 'text',\n        placeholder: 'Inserisci un indirizzo email',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => {\n              if (result.valid) resolve();\n              else reject('Control didn\\'t pass validation');\n            });\n          else if (control.input?.validate) control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => { mdt.parsers.apiError(error, this.resource.controls); }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.get(`promotion-offers/${this.params.code}`).then((xhr) => {\n      this.offer = xhr.response;\n    }).catch((xhr) => {\n      if (xhr.statusCode === 410) this.offerExpired = true;\n      else location.href = '/not-found';\n    });\n\n    if (this.api.isAuthenticated) {\n      this.api.get(`users/me/promotion-offer-activations/${this.params.code}`).then((xhr) => {\n        this.authUserRedeemDate = this.aurelia.resources.valueConverters.dateFormat.toView(xhr.response.redeemedAt, 'DD/MM/YYYY');\n        this.offerStatus = 'AUTH-USER-ACTIVATED';\n      }).catch(error => {\n        if (error.statusCode === 403) this.offerStatus = 'SUBUSER-WITHOUT-PERMISSIONS';\n      });\n    }\n  }\n\n  attached() {\n    this.reroute = encodeURIComponent(this.router.currentInstruction.fragment);\n    if (this.localStorageOffer?.email && this.localStorageOffer?.redeemCodes.includes(this.params.code)) this.offerStatus = 'EMAIL-ALREADY-STORED';\n  }\n\n  activateOffer() {\n    this.resource.validate().then(() => {\n      let data = { email: this.resource.data.email, redeemCode: this.params.code };\n      let endpoint = this.api.isAuthenticated ? 'users/me/promotion-offer-activations' : 'promotion-offer-activations';\n\n      this.api.post(endpoint, data).then(() => {\n        // set local storage data\n        if (data.email) this.promoOffers.email = data.email;\n        if (!this.promoOffers.redeemCodes.includes(data.redeemCode)) this.promoOffers.redeemCodes.push(data.redeemCode);\n        this.updateLocalStorage();\n\n        if (this.api.isAuthenticated) this.offerStatus = 'AUTH-USER-ACTIVATED-NOW'; \n        else this.offerStatus = 'GUEST-USER-ACTIVATED';\n      }).catch(error => {\n        // conflict case - if the submitted email is already used, overwrite promo-offers in local storage\n        if (error.statusCode === 409) {\n          if (!this.promoOffers.redeemCodes.includes(data.redeemCode) && data.email) this.promoOffers.email = data.email; \n          this.updateLocalStorage();\n          this.offerStatus = 'EMAIL-ALREADY-STORED';\n        }\n        if (error.statusCode !== 423) this.resource.error(error);\n      });\n    })\n  }\n\n  updateLocalStorage() {\n    localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n    this.localStorageOffer = JSON.parse(localStorage.getItem('promo-offers'));\n  }\n}","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\nimport mdMarketing from 'services/md-marketing';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingRegistrazione {\n  clients;\n  mdt = mdt;\n  legalForms;\n  marketingCode;\n  legalFormTypes;\n  legalFormSelected;\n  oldSelectedCountryCode;\n  pendingAttached = true;\n  editableUsername = false;\n  mdMarketing = mdMarketing;\n\n  get phoneNumberRequired() {\n    return !this.resource.data.profile.mobilePhoneNumber;\n  }\n  get mobilePhoneNumberRequired() {\n    return !this.resource.data.profile.phoneNumber;\n  }\n  \n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.priceList = {\n      schema: {\n        definitive: {\n          label: 'Listino definitivo applicato',\n          control: 'text',\n          readonly: true,\n          required: true,\n        },\n        temporary: {\n          label: 'Listino temporaneo applicato',\n          control: 'text',\n          readonly: true,\n          required: this.prospectUuid,\n        }\n      },   \n      data: {}\n    };\n    this.resource = {\n      controls: {},\n      schema: {\n        passwordConfirm: {\n          control: 'password', \n            label: 'Conferma password',\n            validationRule: {\n              satisfies: () => { return this.resource.data.password === this.resource.data.passwordConfirm; },\n              withMessage: 'Le password non coincidono',\n            },\n            required: true\n        },\n        password: {\n          control: 'password', \n          label: 'Password',\n          min: 8,\n          required: true\n        },\n        clientUuid: {\n          label: 'Gestionale utilizzato',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          required: true\n        },\n        profile: {\n          username: {\n            control: 'text',\n            label: 'Username',\n            required: true\n          },\n          email: {\n            control: 'text', \n            label: 'Email',\n            required: true\n          },\n          pec: {\n            control: 'text', \n            label: 'PEC',\n            required: false\n          },\n          businessType: {\n            label: 'Attività',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [\n              { label: 'Amministratore di condominio', code: 'BUILDING-ADMINISTRATOR' },\n              { label: 'Altro', code: 'OTHER' },\n            ],\n            required: true\n          },\n          companyLegalFormCode: {\n            label: 'Forma giuridica',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: [],\n            required: true\n          },\n          fiscalCode: {\n            control: 'text', \n            label: 'Codice fiscale',\n            required: false\n          },\n          vatCode: {\n            control: 'text', \n            label: 'Partita iva',\n            required: true\n          },\n          phoneNumber: {\n            control: 'text',\n            label: 'Telefono fisso'\n          },\n          mobilePhoneNumber: {\n            control: 'text',\n            label: 'Cellulare'\n          },\n          holderName: {\n            firstname: {\n              control: 'text', \n              label: 'Nome',\n              required: false\n            },\n            lastname: {\n              control: 'text', \n              label: 'Cognome',\n              required: false\n            },\n            companyName: { \n              control: 'text',\n              label: 'Denominazione',\n              required: false\n            },\n          },\n          location: {\n            streetAddress: {\n              control: 'text', \n              label: 'Indirizzo',\n              required: true\n            },\n            countryCode: { \n              label: 'Nazione', \n              control: 'combo',  \n              datatext: 'name',\n              datavalue: 'code', \n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' }},\n              required: true\n            },\n            admLvl1Uuid: {\n              label: 'Regione',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl2Uuid: {\n              label: 'Provincia',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl3Uuid: {\n              label: 'Comune',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            zipCode: {\n              label: 'CAP',\n              control: 'text',\n              required: true\n            }\n          }\n        }\n      }, \n      data: {\n        group: \"MASTER_USER\",\n        profile: {\n          businessType: 'BUILDING-ADMINISTRATOR',\n          location: {\n            countryCode: 'IT'\n          },\n        },\n        privacyConsent: {\n          commercialContact: null,\n          thirdPartyDisclosure: null\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        this.api.dialogError(error, this.resource.controls);\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.marketingCode = this.mdMarketing.capture(params?.mkt);\n    this.prospectUuid = this.params.prospectUuid || null;\n    this.api.logout(true); // API calls need not to be authenticated\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n    this.getPriceLists();\n  }\n\n  async init() {\n    let promises = [\n      this.setClientUuidDatasource(),\n      this.setBusinessTypeDatasource(),\n      this.setCompanyLegalFormCodeDatasource(),\n    ];\n    if (this.prospectUuid) {\n      promises.push(this.load())\n    };\n    return Promise.all(promises).catch((error) => {\n      console.error(`Init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingAttached = false;\n      this.changeEmail();\n    });\n  }\n\n  async getPriceLists() {\n    const url = this.prospectUuid ? `price-lists/default?prospect-uuid=${this.prospectUuid}` : 'price-lists/default/';\n    return this.api.get(url).then((xhr) => {\n      let priceListResponse = xhr.response;\n      this.priceList.data.definitive = priceListResponse.definitivePriceList;\n      this.priceList.data.temporary = priceListResponse?.temporaryPriceList;\n    }).catch((error) => {\n      console.error('Error in getPriceLists(): ', url, error);\n    });\n  }\n\n  async setClientUuidDatasource() {\n    return this.api.get('clients?declarable=YES').then((xhr) => { \n      this.clients = xhr.response;\n      this.resource.schema.clientUuid.datasource = this.clients;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    const countryCode = this.resource.data.profile.location.countryCode;\n    const promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?country-code=${countryCode}&self-sufficient-account=YES&available-for-registration=YES`)\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        let companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    });\n  }\n\n  async setBusinessTypeDatasource() {\n    return this.api.get(`user-business-types`).then((xhr) => {\n      let businessTypes = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: businessTypes });\n    });\n  }\n\n  async load() {\n    return this.api.get(`user-prospects/${this.prospectUuid}`).then((xhr) => {\n      // Parse prospect data\n      const response = xhr.response;\n      this.resource.data = {\n        ...this.resource.data,\n        ...(response.clientUuid && { clientUuid: response.clientUuid }),\n      }\n      this.resource.data.privacyConsent = {\n        commercialContact: response.privacyConsent.commercialContact,\n        thirdPartyDisclosure: response.privacyConsent.thirdPartyDisclosure\n      }\n      this.assignToProfile(response);\n      this.assignToHolderName(response);\n      this.parsePhoneNumber(response);\n    }).catch((error) => {\n      console.error('GET user-prospects', error);\n      if (error.response?.source?.intents && error.response.source.intents[0].subject?.referral) {\n        this.router.navigateToRoute('login', { \n          email: error.response.source.intents[0].subject?.email, \n          source: 'prospect-registration' \n        });\n      }\n    });\n  }\n\n  assignToProfile(response) {\n    const email = response.email;\n    const zipCode = response.zipCode;\n    const vatCode = response.vatCode;\n    const prospectUuid = this.prospectUuid;\n    const fiscalCode = response.fiscalCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    const legalFormCode = response.legalFormCode;\n    this.resource.data.profile = {\n      ...this.resource.data.profile,\n      email,\n      prospectUuid,\n      username: response.email,\n      ...(zipCode && { zipCode }),\n      ...(vatCode && { vatCode }),\n      ...(fiscalCode && { fiscalCode }),     \n      ...(countryCode && { countryCode }),\n      ...(admLvl1Uuid && { admLvl1Uuid }),\n      ...(admLvl2Uuid && { admLvl2Uuid }),\n      ...(admLvl3Uuid && { admLvl3Uuid }),\n      ...(streetAddress && { streetAddress }),\n      ...(legalFormCode && { companyLegalFormCode }),\n    }\n  }\n\n  assignToLocation(response) {\n    const zipCode = response.zipCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    if (zipCode || countryCode || admLvl1Uuid || streetAddress) {\n      this.resource.data.profile.location = {\n        ...(zipCode && { zipCode }),  \n        ...(countryCode && { countryCode }),\n        ...(admLvl1Uuid && { admLvl1Uuid }),\n        ...(admLvl2Uuid && { admLvl2Uuid }),\n        ...(admLvl3Uuid && { admLvl3Uuid }),\n        ...(streetAddress && { streetAddress }),\n      }\n    }\n  }\n\n  assignToHolderName(response) {\n    const lastname = response.lastname;\n    const firstname = response.firstname;\n    const companyName = response.companyName;\n    if (companyName || firstname || lastname) {\n      this.resource.data.profile.holderName = {\n        ...(firstname && { firstname }),\n        ...(lastname && { lastname }),\n        ...(companyName && { companyName })\n      }\n    }\n  }\n\n  parsePhoneNumber(response) {\n    const phoneId = response.phoneId;\n    const mobilePhoneId = response.mobilePhoneId;\n    const number = response.phoneId || response.mobilePhoneId;\n    if (number) {\n      const phoneCountryPrefix = response.phoneCountryPrefix || '';\n      const mobilePhoneCountryPrefix = response.mobilePhoneCountryPrefix || '';\n      this.resource.data.profile = {\n        ...this.resource.data.profile,\n        ...(phoneId && { phoneNumber: `${phoneCountryPrefix}${number}` }),\n        ...(mobilePhoneId && { mobilePhoneNumber: `${mobilePhoneCountryPrefix}${number}` }),\n      }\n    }\n  }\n\n  changeEmail() {\n    if (!this.editableUsername) this.resource.data.profile.username = this.resource.data.profile.email;\n  }\n\n  changeUsername() {\n    this.editableUsername = true;\n  }\n\n  changeLegalForm() {\n    this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n    this.resource.controls['profile.vatCode'].required = this.legalFormSelected.vatCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected.fiscalCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected.companyNameNeeded === 'YES';\n    this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected.personNameNeeded === 'YES';\n  }\n\n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode']?.control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    }\n    \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly;\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.setCompanyLegalFormCodeDatasource();\n      this.oldSelectedCountryCode = countryCode;\n    }\n  }\n\n  dialogPrivacyConsent($event) {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'alert', \n      body: 'Necessario indicare una preferenza riguardo l\\'informativa sulla <a target=\"_blank\" href=\"https://www.multidialogo.it/sicurezza/informativa\" style=\"color:#ed5a23\">privacy.</a>' \n    }, true).whenClosed(() => { $event.model.busy = false; });\n  }\n\n  async registration($event) {\n    $event.model.busy = true;\n    let data = Object.assign({}, this.resource.data);\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;    \n    \n    return this.resource.validate().then(() => {\n      if (!this.resource.data.privacyConsent.commercialContact || !this.resource.data.privacyConsent.thirdPartyDisclosure) {\n        return this.dialogPrivacyConsent($event);\n      } else {\n        return this.postAnonymousUsers($event);\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n  \n  async postAnonymousUsers($event) {\n    let data = {\n      ...structuredClone(this.resource.data),      \n      ...(this.marketingCode && { marketingCode: this.marketingCode }),\n    };\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;\n\n    return this.api.post('anonymous-users', data).then(() => {\n      this.toast.show('Utente registrato con successo!', 'success');\n      this.api.login(data.profile.username, data.password).then(() => {\n      }).catch((error) => {\n        console.warn('Login failed', error);\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      });\n    }).catch((error) => {\n      console.error('POST anonymous-users', error);\n      this.resource.error(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class MulticertaInvite {\n  endpoint = 'users/me/multicerta-invitations';\n  data = {};\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.data.mittente = this.api.user.profile.displayName;\n    this.data.email = this.api.user.profile.email;\n\n    /* Table interface */\n    this.multicertaInviteTableInterface = new TableInterface({\n      name: 'multicerta-invite-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.multicertaInviteSearchInterface = new SearchInterface({\n      name: 'multicerta-invite-table-search',\n      table: this.multicertaInviteTableInterface,\n      schema: {\n        email: {\n          label:   \"Email\",\n          control: \"text\",\n          query: 'email-like'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.multicertaInviteTableInterface.initialize().then(() => {\n      this.multicertaInviteSearchInterface.initialize().then(() => {\n        this.multicertaInviteSearchInterface.search().catch(error => { console.error('TableSearchInterface-search multicertaInvite failed', error); });\n      }).catch(error => { console.error('TableSearchInterface-initialize multicertaInvite failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize multicertaInvite failed', error); });\n  }\n\n  test($event) {\n    $event.model.busy = true;\n    let data = {\n      displayName: this.data.mittente || this.api.user.profile.displayName,\n      demoRecipient: this.data.email\n    };\n    this.api.post(this.endpoint, data).then(x => {\n      this.toast.show(`Invito di prova inviato con successo all'indirizzo ${data.demoRecipient}!`, 'success');\n      this.multicertaInviteTableInterface.load();\n    }).catch(x => {\n      console.warn(x);\n      this.toast.show(`Errore nell'invio dell'invito di prova all'indirizzo ${data.demoRecipient}!`, 'error');\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  send($event) {\n    if (!this.data.file || this.data.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.data.file[0]);\n    reader.onload = () => {\n      let data = {\n        displayName: this.data.mittente || this.api.user.profile.displayName,\n        fileData: reader.result\n      };\n      this.api.post(this.endpoint, data).then(x => {\n        this.toast.show('Inviti inviati con successo!', 'success');\n        this.multicertaInviteTableInterface.load();\n        this.data.file = null;\n      }).catch(x => {\n        console.warn(x);\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nell\\'invio degli inviti!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      $event.model.busy = false;\n    };\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class vmPointsTransactionHistory {\n  sourceTypes;\n  selectedUser;\n  isPendingInit;\n  contextDatasource;\n  isMdCounterVisible;\n  userCurrentFidelityCard;\n  sourceUserUuidDatasource;\n  multicoinRegistrationIssue;\n  isSelectedUserBuildingAdministartor;\n  multicoinRegistrationIssueActionPath;\n  infoTooltipStatus = '<ul class=\"points-transaction-history-info-tooltip-status\"><li>Bloccati: Presenza di un insoluto. I punti sbloccati appena effettuato il pagamento dell\\’ordine.</li><li>Da Trasferire: Movimento in attesa. I punti verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione.</li><li>Trasferiti: Complimenti! I punti sono disponibili sulla tua area Multicoin</li></ul>';\n  infoTooltipPoints = 'I punti in attesa di trasferimento verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione';\n  multicoinPoints = {\n    'totalAmount' : {\n      amount: 0,\n      class: 'total',\n      text: 'Totale maturati',\n      description: 'Il Totale dei punti Multicoin maturati quest\\'anno: la somma dei punti non trasferiti, trasferiti e bloccati'\n    },\n    'totalPending':{\n      amount: 0,\n      class: 'pending',\n      text: 'Da trasferire',\n      description: 'Totale dei punti che verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione'\n    },\n    'totalTransferred': {\n      amount: 0,\n      class: 'success',\n      text: 'Trasferiti',\n      description: 'Totale dei punti che sono stati trasferiti quest\\'anno sulla tua area Multicoin'\n    },\n    'totalBlocked': {\n      amount: 0,\n      class: 'error',\n      text: 'Bloccati',\n      description: 'Totale dei punti bloccati. Verranno sbloccati appena effettuato il pagamento dell’ordine'\n    }\n  }\n  staticTooltipFidelityCard = {\n    target: '_self',\n    title: 'Fidelity Card', \n    subtitle: 'Attivazione',\n    message: 'Vai alla sezione Fidelity Card e scopri di più!',\n    href: '/fidelity-cards/activation', \n    icon: { \n      order: 0, \n      width: 1.5, \n      height: 1.5, \n      color: '#ff0000', \n      type: 'icon', \n      weight: 'far', \n      margin: [0, 0.5, 0, 0], \n      class: 'fa-exclamation-circle', \n    }\n  }\n  staticTooltipMulticoin = {\n    subtitle: 'Multicoin e punteggio', \n    href: 'https://docs.multidialogo.it/s/article/consultazione-punti-multicoin-in-multidialogo',\n    icon: {\n      type: 'svg', \n      order: 0, \n      width: 2, \n      height: 2, \n      margin: [0, 0.3, 0, 0]\n    }\n  }\n  staticTooltipRegistration = {\n    title: 'Multicoin', \n    subtitle: 'Registrati a Multicoin per poterti iscrivere all\\'operazione a premi',\n    message: 'Vai alla pagina di registrazione Multicoin!',\n    icon: { \n      order: 0, \n      width: 1.5, \n      height: 1.5, \n      color: '#ff0000', \n      type: 'icon', \n      weight: 'far', \n      margin: [0, 0.5, 0, 0], \n      class: 'fa-exclamation-circle', \n    }\n  }\n  staticTooltipContestSignUp = {\n    title: 'Multicoin', \n    subtitle: 'Iscriviti all\\'operazione a premi',\n    message: 'Accedi a Multicoin e iscriviti all\\'operazione a premi',\n    icon: { \n      order: 0, \n      width: 1.5, \n      height: 1.5, \n      color: '#ff0000', \n      type: 'icon', \n      weight: 'far', \n      margin: [0, 0.5, 0, 0], \n      class: 'fa-exclamation-circle', \n    }\n  }\n\n  changeSourceUserUuid() {\n    if (this.searchInterface.data.sourceUserUuid) {\n      this.searchInterface.data.context = 'YES'\n    }\n  }\n  changeSourceUserId() {\n    this.selectedUser = null;\n    this.isSelectedUserBuildingAdministartor = false;\n    setTimeout(() => {\n      if (this.searchInterface.data.sourceUserId) {\n        this.selectedUser = this.searchInterface.controls.sourceUserId.control.valueModel;\n        this.isSelectedUserBuildingAdministartor = this.selectedUser?.profile?.[0]?.businessType === 'BUILDING-ADMINISTRATOR';\n        this.setContextDatasource();\n      } else {\n        this.searchInterface.data.context = 'null';\n      }\n    }, 800);\n  }\n  changeContext() {\n    if (this.searchInterface.data.context !== 'YES') {\n      this.searchInterface.data.sourceUserUuid = null;\n    }\n  }\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n    this.defaultSearchSettings = {\n      status: 'null',\n      context: 'null',\n      sourceType: 'null',\n      createdAtGte: this.setDateRange(),\n      createdAtLte: this.setDateRange(364)\n    };\n    this.sourceUserUuidDatasource = {\n      table: 'users/me/users?include=user-profiles&status=ACTIVE',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceUserIdDatasource = {\n      table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceTypes = {\n      'QUEUE': 'Spedizione',\n      'FLAT-SUBSCRIPTION-MULTINVIO': 'Servizio Multinvio',\n      'FLAT-SUBSCRIPTION-MULTINFORMA': 'Servizio Multinforma',\n    };\n    this.transactionStatuses = [\n      {\n        value: 'BLOCKED',\n        text: 'Bloccati',\n        class: 'error',\n        explanation: 'Trasferimento fallito:',\n        description: 'Punti che non possono essere trasferiti verso Multicoin'\n      },\n      {\n        value: 'PENDING',\n        text: 'Da trasferire',\n        class: 'pending',\n        explanation: 'In attesa di trasferimento',\n        description: 'Punti maturati ma non ancora trasferiti su Multicoin'\n      },\n      {\n        value: 'TRANSFERRED',\n        text: 'Trasferiti',\n        class: 'success',\n        explanation: 'Trasferimento verso Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      },\n      {\n        value: 'ACCREDITED',\n        text: 'Trasferimento',\n        class: 'secondary',\n        explanation: 'Totale trasferito in Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      }\n    ];\n  }\n  activate() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  attached() {\n    this.isMdCounterVisible = this.setMdCounterVisibility();\n    this.initTabs();\n  }\n\n  // Init functions\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: this.setEndpoint(),\n      name: 'table-points-transaction-history'\n    });\n    return this.tableInterface.initialize();\n  }\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-multicoin-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal:',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'Al:',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        sourceType: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          query: 'source-in',\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          datasource: this.setSourceTypesDatasource()\n        },\n        status: {\n          label: 'Stato',\n          query: 'status',\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          datasource: this.setTransactionStatusesDatasource()\n        },\n        context: {\n          required: true,        \n          datasource: [],\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          query: 'source-user-not-me',\n          label: 'Quali movimenti vuoi visualizzare?'\n        }\n      },\n      data: structuredClone(this.defaultSearchSettings)\n    });\n    if (this.isOperator) {\n      this.sourceTypes['MULTICOIN-TRANSFER'] = 'Trasferimento verso Multicoin';\n      this.searchInterface.schema.sourceUserId = {\n        required: true,\n        label: 'Utenti',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserIdDatasource,\n      }\n    } else {\n      this.searchInterface.schema.sourceUserUuid = {\n        control: 'combo',\n        datavalue: 'uuid',\n        datapreload: false,\n        datamultiple: false,\n        query: 'source-subuser-uuid-in',\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserUuidDatasource,\n        label: `${mdt.parsers.contextualize(this.api.user, 'Utente')}`\n      }\n    }\n    this.setContextDatasource();\n    return this.searchInterface.initialize();\n  }\n  async initTabs() {\n    this.isPendingInit = true;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (!this.isOperator && this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n      promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations') {\n          this.userCurrentFidelityCard = xhr.value.response;\n        }\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!this.isOperator) this.search();\n      else if (this.isOperator && this.searchInterface.data.sourceUserId) this.search();\n      else this.isPendingInit = false;\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  // Get functions\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (this.isOperator) this.tableInterface.endpoint = this.setEndpoint(data.sourceUserId);\n    return this.searchInterface.search(data).then((response) => {\n      this.multicoinPoints.totalAmount.amount = response?.originalResponse?.meta?.totalAmount || 0;\n      this.multicoinPoints.totalPending.amount = response?.originalResponse?.meta?.totalPendingAmount || 0;\n      this.multicoinPoints.totalBlocked.amount = response?.originalResponse?.meta?.totalBlockedAmount || 0;\n      this.multicoinPoints.totalTransferred.amount = response?.originalResponse?.meta?.totalTransferredAmount || 0;\n      this.multicoinRegistrationIssueActionPath = response?.originalResponse?.meta?.multicoinRegistrationIssueActionPath;\n      const multicoinUrl = this.setMulticoinUrl(this.multicoinRegistrationIssueActionPath);\n      this.staticTooltipRegistration.href = multicoinUrl;\n      this.staticTooltipContestSignUp.href = multicoinUrl;\n      this.multicoinRegistrationIssue = response?.originalResponse?.meta?.multicoinRegistrationIssue;\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data = structuredClone(this.defaultSearchSettings);\n    this.search();\n  }\n\n  // Set functions\n  setMdCounterVisibility() {\n    const storedRecord = sessionStorage.getItem(btoa('table-multicoin-movements-search-data'));\n    return !storedRecord && !this.isOperator;\n  }\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/multicoin-movements`;\n    return endpoint;\n  }\n  setMulticoinUrl(path) {\n    return `${ENVIRONMENT.APP_URL_MULTICOIN}${path || ''}`;\n  }\n  setDateRange(days = 0) {\n    const currentDate = new Date(new Date().getFullYear(), 0, 1);\n    currentDate.setDate(currentDate.getDate() + days);\n    return currentDate.toISOString();\n  }\n  setTransactionStatusesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    this.transactionStatuses.forEach((item) => {\n      datasource.push({ value: item.value, text: item.text });\n    });\n    return datasource;\n  }\n  setSourceTypesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    for (const [value, text] of Object.entries(this.sourceTypes)) {\n      datasource.push({ value, text });\n    }\n    return datasource;\n  }\n  getTransactionStatus(record, property) {\n    let recordProperty = '';\n    let recordStatus = record;\n    if (typeof record === 'object' && !Array.isArray(record) && record !== null) recordStatus = record.status;\n    if (record.hasTransferError === 'YES') {\n      switch (property) {\n        case 'class':\n          recordProperty = 'transfer-error ';\n          break;\n        case 'explanation':\n          return 'Tentativo di trasferimento fallito';\n        case 'description':\n          return 'Trasferimento fallito: punti maturati ma non ancora trasferiti su Multicoin a causa di un errore';\n      }\n    }\n    recordProperty += this.transactionStatuses?.find?.((status) => status.value === recordStatus)?.[property];\n    return recordProperty;\n  }\n  setContextDatasource() {\n    let datasource = [{ value: 'null', text: 'Tutti' }];\n    let user = { value: 'NO', text: `I movimenti del`};\n    let subusers = { value: 'YES', text: `I movimenti dei ` };\n    if (!this.isOperator) {\n      user.text += ` mio ${mdt.parsers.contextualize(this.api.user, 'account')}`;\n      subusers.text += `miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    } else {\n      const displayAccount = this.isSelectedUserBuildingAdministartor ? 'lo studio' : 'l\\'utente';\n      const displaySubusers = this.isSelectedUserBuildingAdministartor ? 'condomìni' : 'sottoutenti';\n      user.text += `${displayAccount}`;\n      subusers.text += `suoi ${displaySubusers}`;\n    }\n    datasource.push(user);\n    datasource.push(subusers);\n    return this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource });\n  }\n\n  // Dialogs\n  dialogReason(record) {\n    this.dialog.open({\n      type: 'alert',\n      class: 'medium',\n      body: record?.reason,\n      title: 'Dettaglio origine'\n    });\n  }\n  dialogLockedAccreditation(record) {\n    const bodyMessage = record?.reason || 'Impossibile accreditare. Contatta l\\'assistenza.';\n    this.dialog.open({\n      title: 'Dettaglio',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n  detail(record, $event) {\n    switch (true) {\n      case !!record.legacySmsQueueId:\n        this.navigateToLegacySMSreport(record, $event);\n        break;\n      case !!record.sourceQueueUuid:\n        this.navigateToQueueDetail(record);\n        break;\n      case !!record.sourceFlatServiceSubscriptionUuid:\n        this.dialogFlatServiceSubscriptionDetail(record);\n        break;\n    }\n  }\n  dialogFlatServiceSubscriptionDetail(record) {\n    const ownerId = record.sourceUserId;\n    const flatServiceUuid = record.sourceFlatServiceSubscriptionUuid;\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio servizio in abbonamento',\n      viewModelParams: { ownerId, flatServiceUuid },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail')\n    });\n  }\n\n  // Utility functions\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/destinatari/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n  navigateToLegacySMSreport(record, $event) {\n    $event.model.busy = true;\n    mdt.legacy.getCrossLoginTokenCurrent(this.api).then((xhr) => {\n      const token = xhr.response?.token;\n      return window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_queue_report_detail&mi_queue_id=${record.legacySmsQueueId}`);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  openMulticoin() {\n    return mdt?.general?.navigateToExternal(this.setMulticoinUrl());\n  }\n  downloadTerms() {\n    return mdt?.general?.navigateToExternal('https://termsofservice.multidialogo.it/wp-content/uploads/20260319_Multidialogo_Regolamento-Operazione-a-Premi.pdf');\n  }\n  toggleTransferError(record) {\n    const element = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error`);\n    element.classList.toggle('open');\n    this.transferErrorDetail(record);\n  }\n  transferErrorDetail(record) {\n    const wrapperElement = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error-details .wrapper`);\n    if (wrapperElement.clientHeight) {\n      wrapperElement.style.height = 0;\n    } else {\n      const wrappers = document.querySelectorAll(`.multicoin-points-transaction-history .transfer-error-details .wrapper`);\n      const growingElement = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error-details .wrapper p`);\n      wrappers.forEach((wrapper) => {\n        if (wrapper.clientHeight) {\n          wrapper.style.height = 0;\n          wrapper.parentElement.previousElementSibling.classList.remove('open');\n        }\n      });\n      setTimeout(() => {\n        wrapperElement.style.height = 20 + growingElement.clientHeight + 'px';\n      }, 300)\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class NotificheAnteprima {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.notification = params.notification;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast)\nexport class vmNotifiche {\n  mdt = mdt;\n  tabs = [\n    {\n      id: 'elencoNotificheMie',\n      label: 'Le mie notifiche',\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-mie')\n    },\n    {\n      id: 'elencoNotificheUtenti',\n      label: null,\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-utenti')\n    }\n  ];\n\n  tools = {\n    kaTabsCounter: (alerts) => {\n      // Storage\n      if (alerts) {\n        localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify({ \n          totalUnreadNotifications: alerts.totalUnreadNotificationsCount ? parseInt(alerts.totalUnreadNotificationsCount, 10) : null, \n          myUnreadNotifications: alerts.totalMineUnreadNotificationsCount ?  parseInt(alerts.totalMineUnreadNotificationsCount,10): null, \n          subusersUnreadNotifications: alerts.totalSubuserUnreadNotificationsCount ? parseInt(alerts.totalSubuserUnreadNotificationsCount, 10) : null \n        }));\n      }\n      let storage = localStorage.getItem(btoa('ui-notifications-counter')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-counter'))) : null;\n      let myUnreadNotifications = storage && storage.myUnreadNotifications && storage.myUnreadNotifications !== 'error' ? parseInt(storage.myUnreadNotifications, 10) : null;\n      let subusersUnreadNotifications = storage && storage.subusersUnreadNotifications && storage.subusersUnreadNotifications !== 'error' ? parseInt(storage.subusersUnreadNotifications, 10) : null;\n\n      // Ka tabs\n      let kaTabs = document.querySelectorAll('ka-tabs#main > nav > a');\n      if (kaTabs) {\n        for (let i = 0; i < kaTabs.length; i++) {\n          let counter = kaTabs[i].querySelector('span');\n          if (counter) counter.remove();\n          // Mine\n          if (i === 0 && myUnreadNotifications) {\n            if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n            kaTabs[i].insertAdjacentHTML('beforeend', `<span>${myUnreadNotifications}</span>`);\n          }\n          // Subusers\n          if (!this.privileges.isOperator) {\n            if (i === 1 && subusersUnreadNotifications) {\n              if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n              kaTabs[i].insertAdjacentHTML('beforeend', `<span>${subusersUnreadNotifications}</span>`);\n            }\n          }\n        } \n      }\n    },\n    getAlerts: () => {\n      let limit = 100;\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/me/ui-notification-alerts?limit=${limit}`).then(xhr => {\n          let alerts = xhr.response;\n          let metaAlerts = xhr.originalResponse.meta;\n\n          // Ka tabs\n          this.tools.kaTabsCounter(metaAlerts);\n\n          // Subusers alert (if total subusers are more than ${limit})\n          if (!this.privileges.isOperator && alerts.length > 1) {\n            let total = xhr.originalResponse.meta.total;\n            if (total > limit) {\n              let offset = limit;\n              const fetchSubusers = () => {\n                this.api.get(`users/me/ui-notification-alerts?limit=${limit}&offset=${offset}`).then(y => {\n                  alerts = alerts.concat(y.response);\n                  offset += limit;\n                  if (offset < total) fetchSubusers();\n                  else {\n                    alerts = alerts.filter(x => x.legacyOwnerId !== this.api.user.id);\n                    return resolve(alerts);\n                  }\n                }).catch(error => {\n                  console.log('ERROR ui-notifications-alerts get', error);\n                  let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n                  localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n                  this.api.dialogError(error);\n                  return reject();\n                });\n              };\n              fetchSubusers();   \n            } else {\n              alerts = xhr.response.filter(x => x.legacyOwnerId !== this.api.user.id);\n              return resolve(alerts);\n            }\n          } else {\n            return resolve(alerts); \n          } \n        }).catch(error => {\n          console.log('ERROR ui-notifications-alerts get', error);\n          let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n          localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    getUser: (user) => {\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n          let user = { legacyOwnerId: xhr.response.id, ownerDisplayName: xhr.response.profile[0].displayName };\n          localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(user));\n          return resolve();\n        }).catch(() => {\n          console.log('ERROR ui-notifications-user get', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      }); \n    },\n    preview: (notification, user = null) => {\n      return new Promise((resolve, reject) => {\n        if (!notification) return reject();\n        this.dialog.open({\n          title: notification.title,\n          class: 'notificheui-anteprima',\n          viewModel: PLATFORM.moduleName('views/notifiche-ui/dialogs/notifiche-anteprima'),\n          viewModelParams: { notification }\n        }, true).whenClosed(() => {\n          let load = false;\n          if (!notification.readByMeAt) load = true;\n          if (this.privileges.isOperator && notification.userUuid !== this.api.user.uuid) load = false;\n          if (load) { this.tools.notificationsReadStatus(notification, user).then(() => {\n              return resolve(load); \n            }).catch(() => {\n              return reject();\n            })\n          } else {\n            return resolve(load);\n          }\n        });\n      });     \n    },\n    notificationsReadStatus: (notification, user) => {\n      return new Promise((resolve, reject) => {\n        let data = { read: 'YES' };\n        data.read = notification.readByMeAt ? 'NO' : 'YES';\n\n        this.api.patch(`users/${user?.legacyOwnerId || 'me'}/ui-notifications/${notification.uuid}`, data).then(() => {\n          return resolve(); \n        }).catch(error => {\n          console.log('ERROR ui-notifications patch', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    setAllAsRead: (notificationsTableInterface) => {\n      let promises = [];\n      notificationsTableInterface.data.forEach(record => {\n        promises.push(this.api.patch(`${notificationsTableInterface.endpoint}/${record.uuid}`, { read: 'YES' }));\n      });\n      return Promise.all(promises).then(() => {\n        this.toast.show('Operazione effettuata con successo!', 'success');\n      }).catch((errors) => {\n        console.error('ERRORS ui-notifications - patch', errors);\n        this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n      });\n    },\n    takeOver: (notification) => {\n      return new Promise((resolve, reject) => {\n        if (notification.assigneeUuid) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>Questa notifica è già assegnata ad un altro utente</strong><br>Confermi di volerla prendere in carico?`}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n              this.toast.show('Notifica presa in carico con successo!', 'success');\n              return resolve();\n            }).catch(error => {\n              console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n              this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n              return reject();\n            });\n          }\n        });\n      } else {\n        this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n          this.toast.show('Notifica presa in carico con successo!', 'success');\n          return resolve();\n        }).catch(error => {\n          console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n          this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n          return reject();\n        });\n      }\n      });\n    },\n    notificationTooltip: (notification) => {\n      return `<div class=\"notification-tooltip\"><strong class=\"title\">${notification.title}</strong><p class=\"content\">${notification.plainTextBody}</p></div>`;\n    },\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n    this.tools.kaTabsCounter();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elencoNotificheMie: false, elencoNotificheSottoutenti: false, elencoNotificheUtenti: false  }};\n    this.privileges.isOperator = false;\n    if (this.api.hasRole('LIST_USER_UI_NOTIFICATION')) {\n      this.privileges.tabs.elencoNotificheMie = true;\n      this.privileges.tabs.elencoNotificheUtenti = this.api.user.group === 'MASTER_USER' ? true : false;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    }\n    if (this.api.hasRole('LIST_ANY_USER_UI_NOTIFICATION')) {\n      this.privileges.isOperator = this.privileges.tabs.elencoNotificheUtenti = true;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche degli utenti`;      \n    }\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheMie {\n  mdt = mdt;\n  pending = true;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    \n    // INIT notifications TableInterface\n    this.myNotificationsTableInterface = new TableInterface({\n      name: 'myNotificationsTableInterface',\n      client: this.api,\n      endpoint: `users/me/ui-notifications`\n    });\n    this.myNotificationsTableInterface.initialize().catch(error => { console.log('myNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.myNotificationsSearchInterface = new SearchInterface({\n      name: 'myNotificationsSearchInterface',\n      table: this.myNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        templateCode: {\n          control: 'combo',  \n          label: 'Addebitabile a', \n          datasource: null,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: false,\n          datamultiple: false,\n          query: 'template-code'\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        templateCode: 'null'\n      }\n    });\n    this.myNotificationsSearchInterface.initialize().then(() => {\n      this.getTemplates().then(() => { this.setTemplate(); });\n    }).catch(error => { \n      console.log('ERROR searchInterface initialization failed', error);\n    });\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getTemplates() {\n    return this.api.get('system-notification-templates?channel=ui').then(xhr => {\n      this.templates = xhr.response;\n      this.myNotificationsSearchInterface.schema.templateCode.datasource = this.templates;\n    }).catch(error => {\n      console.log('ERROR system-notification-templates get', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  setTemplate(templateCode) {\n    this.pending = true;\n    if (templateCode) {\n      this.myNotificationsSearchInterface.data.templateCode = templateCode === 'all-templates' ? null : templateCode;\n    } else {\n      templateCode = this.myNotificationsSearchInterface.data.templateCode;\n    }\n\n    // Select templates\n    setTimeout(() => {\n      let oldSelectedTemplate = document.querySelector('.templates > .selected');\n      oldSelectedTemplate?.classList.remove('selected');\n      let newSelectedTemplate = document.getElementById(templateCode || 'all-templates');\n      newSelectedTemplate?.classList.add(\"selected\");\n    }, 0);\n\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    return this.myNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(() => {\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification).then(() => {\n      this.tools.getAlerts().then(() => {\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(myNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(myNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheUtenti {\n  mdt = mdt;\n  pending = null;\n  subusers = null;\n  _subusers = null;\n  @observable() searchSubuser = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n\n    // INIT notifications TableInterface\n    this.userNotificationsTableInterface = new TableInterface({\n      name: 'userNotificationsTableInterface',\n      client: this.api,\n      endpoint: null\n    });\n    this.userNotificationsTableInterface.initialize().catch(error => { console.log('userNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.userNotificationsSearchInterface = new SearchInterface({\n      name: 'userNotificationsSearchInterface',\n      table: this.userNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        user: {\n          label: 'Utente',\n          control: 'combo',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        user: null\n      }\n    });\n    this.userNotificationsSearchInterface.initialize().then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || (this.privileges.isOperator ? { legacyOwnerId: null, ownerDisplayName: null } : null);\n        this.searchSubuser = localStorage.getItem(btoa('ui-notifications-subuser')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-subuser'))).searchSubuser : null;\n        if (!this.privileges.isOperator && this.user) this.setSubuser();\n        else this.pending = false;\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  searchSubuserChanged(value) {\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n    this._subusers = value ? this.subusers.filter(x => x.ownerDisplayName.toLowerCase().includes(value.toLowerCase())) : this.subusers;\n    localStorage.setItem(btoa('ui-notifications-subuser'), JSON.stringify({ searchSubuser: value || null }));\n\n    if (this._subusers.filter(x => x?.legacyOwnerId === this.user?.legacyOwnerId).length) {\n      setTimeout(() => {\n        let newSelectedSubuser = this.user?.legacyOwnerId ? document.getElementById(this.user.legacyOwnerId) : null;\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  searchUser() {\n    if (this.userNotificationsSearchInterface.data.user) {\n      this.user = { legacyOwnerId: this.userNotificationsSearchInterface.data.user, ownerDisplayName: null };\n      this.tools.getUser(this.user).then(() => {\n        this.pending = true;\n        this.getNotifications();\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n      }).catch(() => { \n        this.pending = false;\n      });\n    } else {\n      this.pending = true;\n      setTimeout(() => {\n        this.user = { legacyOwnerId: null, ownerDisplayName: null };\n        localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(this.user));\n        this.userNotificationsTableInterface.data = [];\n        this.pending = false;\n      }, 200);\n    }\n  }\n\n  setSubuser(user) {\n    // Select subuser\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = null;\n      if (user) newSelectedSubuser = document.getElementById(user.legacyOwnerId);\n      else if (this.user) newSelectedSubuser = document.getElementById(this.user.legacyOwnerId);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0);\n\n    if (user) {\n      this.tools.getUser(user).then(() => {\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n        this.getNotifications();\n      });\n    } else {\n      this.getNotifications();\n    }\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    if (!this.user || !this.user.legacyOwnerId) return this.pending = false;\n    this.userNotificationsTableInterface.endpoint = `users/${this.user.legacyOwnerId}/ui-notifications`;\n    return this.userNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification, this.user).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(alerts => {\n          this.subusers = [...alerts];\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification, this.user).then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(userNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(userNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications(); \n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdFileViewer, MdFileDownload } from 'services/md-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast, MdFileViewer)\nexport class viewCopertine {\n  isSubuser;\n  isOperator;\n  isMasterUser;\n  isPrintOperator;\n  IsUserSearchFieldVisible;\n  searchInterfaceData = {\n    status: 'null',\n    target: 'null'\n  };\n  coverStatuses = {\n    \"PENDING\": { \n      text: 'In attesa', \n      class: 'pending' \n    },\n    \"REFUSED\": { \n      text: 'Rifiutata', \n      class: 'error' \n    },\n    \"APPROVED\": { \n      text: 'Approvata', \n      class: 'success' \n    }\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.mdFileDownload = new MdFileDownload(api, kaToast);\n    this.mdFileViewer = new MdFileViewer(api, kaDialog, kaToast);\n  }\n\n  activate(model) {\n    this.model = model;\n    this.setPrivileges();\n    this.setIsUserSearchFieldVisible();\n  }\n\n  attached() {\n    this.initView();\n  }\n\n  // Init methods\n  initView() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.getCovers();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-interface-covers'\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'covers-table-search',\n      table: this.tableInterface,\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          query: 'associated-users',\n          label: 'Quali copertine visualizzare?',\n          datasource: [\n            { text: 'Tutte', value: 'null' },\n            { text: 'Associate al mio Studio', value: 'SELF' },\n            { text: 'Associate ai miei condomini', value: 'SUBUSERS' }\n          ]\n        },\n        user: {\n          datavalue: 'id',\n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          label: this.setSearchInterfaceUserLabel(),\n          datasource: {\n            table: this.setSearchInterfaceUserEndpoint(),\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        label: {\n          query: 'label',\n          control: 'text',\n          label: 'Titolo copertina'\n        },\n        status: {\n          query: 'status',\n          control: 'combo',\n          label: 'Stato omologazione',\n          datasource: this.setSearchInterfaceSchemaStatusDatasource()\n        },\n        createdAtGte: {\n          control: 'date',\n          query: 'created-at-gte',\n          label: 'Copertina inserita dal'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: structuredClone({\n        ...this.searchInterfaceData,\n        ...(this.isSubuser && { target: 'SELF' })\n      })\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Get methods\n  getCovers() {\n    this.setTableInterfaceCoversEndpoint();\n    return this.searchInterface.search();\n  }\n  resetCovers() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.status = this.searchInterfaceData.status;\n    this.searchInterface.data.target = this.isSubuser ? 'SELF' : this.searchInterfaceData.target;\n    return this.getCovers();\n  }\n\n  // Change methods\n  changeSearchInterfaceDataTarget() {\n    this.setIsUserSearchFieldVisible();\n    if (['SELF','null'].includes(this.searchInterface.data.target)) this.searchInterface.data.user = null;\n  }\n  changeSearchInterfaceDataUser() {\n    if (this.searchInterface.data.target !== 'SELF' && this.searchInterface.data.user && (this.isOperator || !this.isPrintOperator)) {\n      this.searchInterface.data.target = this.searchInterface.data.user;\n    } else if (!this.searchInterface.data.user && !this.isOperator && !this.isPrintOperator) {\n      this.searchInterface.data.target = 'SUBUSERS';\n    }\n  }\n\n  // Set methods\n  setIsUserSearchFieldVisible() {\n    this.IsUserSearchFieldVisible = !this.isSubuser && (this.isOperator || this.isPrintOperator || !['null', 'SELF'].includes(this.searchInterface?.data?.target));\n  }\n  setPrivileges() {\n    const userGroup = this.api.user.group;\n    switch (userGroup) {\n      case 'PRINT_BACKOFFICE':\n        this.isPrintOperator = true;\n        break;\n      case 'EXECUTIVE_OPERATOR':\n        this.isOperator = true;\n        break;\n      case 'BACKOFFICE':\n        this.isOperator = true;\n        break;\n      case 'BASIC_USER':\n        this.isSubuser = true;\n        break;\n      case 'MASTER_USER':\n        this.isMasterUser = true;\n        break;\n    }\n  }\n  setSearchInterfaceUserLabel() {\n    let label = 'Utente';\n    if (!this.isOperator && !this.isPrintOperator) {\n      label = mdt.parsers.contextualize(this.api.user, 'Utente');\n    }\n    return label;\n  }\n  setSearchInterfaceUserEndpoint() {\n    const baseUrl = this.isOperator || this.isPrintOperator ? 'bo/users' : 'users/me/users';\n    return `${baseUrl}?status=ACTIVE&include=user-profiles`;\n  }\n  setTableInterfaceCoversEndpoint() {\n    let baseUrl = 'users/me';\n    if (this.isOperator || this.isPrintOperator) {\n      baseUrl = this.searchInterface.data.user ? `users/${this.searchInterface.data.user}` : 'bo/users';\n    }\n    this.tableInterface.endpoint = `${baseUrl}/preferences/sender/letter-covers`;\n  }\n  setSearchInterfaceSchemaStatusDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    for (const [key, value] of Object.entries(this.coverStatuses)) {\n      datasource.push({ text: value.text, value: key });\n    }\n    return datasource;\n  }\n\n  // Dialog methods\n  dialogManageCover($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Dati copertina',\n      class: 'medium manage-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/manage-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogAddCover($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Aggiungi nuova copertina',\n      class: 'medium add-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/add-cover'),\n      viewModelParams: { user: this.api.user }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.toast.show('Copertina aggiunta con successo', 'success');\n        this.getCovers();\n      }\n    });\n  }\n  dialogUserAssociationsWithTheCover(record, $event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica associazione',\n      class: 'user-associations-with-the-cover medium',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/user-associations-with-the-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogDeleteCover(recordUuid) {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: 'Se sicuro di voler cancellare questa copertina?' }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteCover(recordUuid).then(() => {\n          this.toast.show(`Copertina eliminata con successo!`, 'success');\n          this.getCovers();\n        }).catch((error) => {\n          console.error(\"error deleting cover\", error);\n          this.toast.show(`Errore durante l'eliminazione`, 'error');\n        });\n      }\n    });\n  }\n\n  // Features\n  deleteCover(recordUuid) {\n    return this.api.delete(`users/me/preferences/sender/letter-covers/${recordUuid}`);\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogAddCover {\n  mdt = mdt;\n\n  static inject = [Api, DialogController];\n  selectedSubuserProfiles;\n  staticTooltipCover = {\n    title: 'Copertina',\n    href: 'https://docs.multidialogo.it/s/article/LE-COPERTINE-SU-MULTIDIALOGO',\n    icon: { type: 'svg', order: 1, width: 2, height: 2, margin:[0, 0, 0, 0.3] }\n  };\n\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n    this.resource = this.initResource();\n  }\n  activate(params) {\n    this.params = params;\n    this.user = params.user;\n  }\n\n  // Init methods\n  initResource() {\n    return {\n      controls: {},\n      schema: {\n        label: {\n          required: true,\n          control: 'text',\n          label: 'Titolo copertina',\n          placeholder: 'Denominazione generica della copertina'\n        },\n        fileData: {\n          required: true,\n          control: 'file',\n          label: 'Copertina',\n          placeholder: 'File PDF di 4 pagine in formato A4',\n          validationRule: {\n            satisfies: () => { return this.resource.data?.fileData?.[0]?.type === 'application/pdf'; },\n            withMessage: 'Caricare un file PDF.',\n          },\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        colorMode: {\n          required: true,\n          label: 'Stampa',\n          control: 'combo',\n          datasource: [\n            { text: 'a colori' , value: 'COLOR' },\n            { text: 'in bianco e nero' , value: 'BW' }\n          ]\n        },\n        associations: {\n          target: {\n            required: true,\n            control: 'combo',\n            label: 'Associa la copertina a',\n            datasource: [\n              { text: 'Il mio Studio' , value: 'SELF' },\n              { text: 'I miei Condomini' , value: 'SUBUSERS' },\n            ]\n          },\n          items: {\n            datavalue: 'id',\n            control: 'combo',\n            datamultiple: true,\n            datapreload: false,\n            datatext: 'profile[0].displayName',\n            datasource: {\n              table: 'users/me/users?status=ACTIVE&include=user-profiles',\n              query: { search: 'text-search', item: 'id-in' },\n            },\n            label: `Associa ad uno o più ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} *`,\n            validationRule: {\n              satisfies: () => { return this.setResourceSchemaItemsValidationRule(); },\n              withMessage: `Aggiungere almeno un ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n            },\n          },\n          presets: {\n            datasource: [],\n            control: 'combo',\n            datamultiple: true,\n            label: `Configura come predefinita: puoi selezionare solo i ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} associati`\n          }\n        }\n      },\n      data: {\n        weight: 80,\n        colorMode: 'BW',\n        associations: {\n          presets: [],\n          target: 'SELF',\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n\n  // Change methos\n  changeAssociationsTarget() {\n    if (this.resource.data.associations.target === 'SELF') this.selectedSubuserProfiles = [];\n    this.setResourceSchemaPresetsDatasource();\n    this.resource.data.associations.items = [];\n\n  }\n  changeAssociationsItems() {\n    this.selectedSubuserProfiles = [];\n    this.resource?.controls?.['associations.items']?.control?.valueModel?.forEach((record) => {\n      let item = { \n        ...record, \n        profile: record.profile[0] \n      }\n      this.selectedSubuserProfiles.push(item);\n    });\n    this.resource.data.associations.presets = [];\n    return this.setResourceSchemaPresetsDatasource();\n  }\n\n  // Set methods\n  setResourceSchemaItemsValidationRule() {\n    return (this.resource.data?.associations?.target === 'SUBUSERS' && this.resource.data?.associations?.items?.length) || this.resource.data?.associations?.target === 'SELF';\n  }\n  setResourceSchemaPresetsDatasource() {\n    let datasource = [];\n    this.selectedSubuserProfiles.forEach((record) => {\n      const item = { \n        text: record.profile.displayName, \n        value: record.uuid \n      };\n      datasource.push(item);\n    });\n    if (this.resource.data.associations.target === 'SELF' && !datasource.length) datasource.push({ text: 'Il mio Studio', value: 'SELF' });\n    this.resource.schema.associations.presets = Object.assign({}, this.resource.schema.associations.presets, { datasource });\n  }\n  setFileData() {\n    return new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.readAsDataURL(this.resource.data?.fileData?.[0]);\n      reader.onloadend = () => {\n        const fileData = reader.result;\n        resolve(fileData);\n      };\n      reader.onerror = reject;\n    });\n  }\n  setPayload(fileData) {\n    const associatedSubusers = [];\n    let payload = structuredClone(this.resource.data);\n    switch (payload.associations.target) {\n      case 'SUBUSERS':\n        this.selectedSubuserProfiles?.forEach((record) => {\n          const item = { \n            userUuid: record.uuid,\n            default: this.resource.data.associations?.presets?.includes(record.uuid) ? 'YES' : 'NO'\n          };\n          associatedSubusers.push(item);\n        });\n        payload.associations.items = associatedSubusers;\n        break;\n      case 'SELF':\n        payload.associations.default = payload.associations.presets?.includes('SELF') ? 'YES' : 'NO';  \n        delete payload.associations.items;\n        break;\n    } \n    payload.fileData = fileData;\n    delete payload.associations.presets;\n    return payload;\n  }\n\n  // Post methods\n  postCover($event, payload) {\n    $event.model.busy = true;\n    return this.api.post(`users/${this.user.id}/preferences/sender/letter-covers`, payload).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('postCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  // Features\n  addCover($event) {\n    this.resource.validate().then(() => {\n      this.setFileData().then((fileData) => {\n        const payload = this.setPayload(fileData);\n        this.postCover($event, payload);\n      });\n    }).catch((error) => {\n      console.log('addCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    })\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdFileViewer } from 'services/md-files';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogManageCover {\n  static inject = [Api, DialogController, KaToast, KaDialog];\n  constructor(api, controller, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.controller = controller;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n  }\n\n  activate(params) {\n    this.params = params;\n    this.cover = params.cover;\n    this.initResource();\n  }\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        label: {\n          readonly: true,\n          control: 'text',\n          label: 'Titolo'        \n        },\n        cover: {\n          readonly: true,\n          control: 'text',\n          label: 'Autore'        \n        },\n        refusalReason: {\n          control: 'text',\n          label: 'Motivazione del rifiuto *'\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        color: {\n          readonly: true,\n          control: 'combo',\n          label: 'Stampa',\n          datasource: [\n            { text: 'bianco e nero' , value: 'BW' },\n            { text: 'a colori' , value: 'COLOR' }\n          ]\n        },\n        status: {\n          required: true,\n          control: 'combo',\n          label: 'Omologa copertina',\n          datasource: [\n            { text: 'Rifiuta' , value: 'REFUSED' },\n            { text: 'Approva' , value: 'APPROVED' }\n          ]\n        }\n      },\n      data: {\n        label: this.cover.label,\n        weight: this.cover.weight,\n        color: this.cover.colorMode,\n        status: this.setCoverStatus(),\n        cover: this.cover.authorDisplayName\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n  setCoverStatus() {\n    return ['REFUSED', 'APPROVED'].includes(this.cover.status) ? this.cover.status : 'APPROVED';\n  }\n  setPayload() {\n    return {\n      status: this.resource.data.status,\n      ...(this.resource.data.status === 'REFUSED' && { refusalReason: this.resource.data.refusalReason })\n    }\n  }\n  patchLetterCover() {\n    const payload = this.setPayload();\n    return this.api.patch(`users/me/preferences/sender/letter-covers/${this.cover.uuid}`, payload);\n  }\n  manageCover() {\n    this.patchLetterCover().then(() => {\n      this.controller.ok();\n      this.toast.show(`Copertina omologata con successo!`, 'success');\n    }).catch((error) => {\n      console.error('manageCover', error);\n      this.toast.show('Errore in fase di omologazione', 'error');\n      this.api.dialogError(error, this.resource.controls);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast } from 'ka-components'\nimport { DialogController, DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class DialogUserAssociationsWithTheCover {\n  resource;\n  mdt = mdt;\n  currentItems = {};\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.mdt = mdt;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n  activate(params) {\n    this.cover = params.cover;\n    this.initResource();\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          label: 'Associa la copertina a',\n          datasource: [\n            { text: 'Il mio Studio' , value: 'SELF' },\n            { text: 'I miei Condomini' , value: 'SUBUSERS' }\n          ]\n        },\n        default: {\n          control: 'check',\n          label: 'Imposta come',\n          description: 'Predefinita per lo Studio'\n        }\n      },\n      data: {\n        target: this.cover.associations.target,\n        default: this.cover.associations.default === 'YES'\n      }\n    }\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-associable-users',\n      endpoint: `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associable-users`\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach((record, index) => {\n        response[index].isDefault = this.normalizeItemDefault(record.isDefault);\n        response[index].isAssociated = this.normalizeItemAssociation(record.isAssociated);\n        if (!this.currentItems[record.uuid]) this.currentItems[record.uuid] = response[index];\n      });\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-search-associable-users',\n      table: this.tableInterface,\n      schema: {\n        items: {\n          control: 'text',\n          query: 'text-search',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente')\n        },\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Normalize methods\n  normalizeItemDefault(itemDeafault) {\n    return itemDeafault === 'YES';\n  }\n  normalizeItemAssociation(itemAssociation) {\n    return itemAssociation === 'YES';\n  }\n\n  // Change methods\n  changeTarget() {\n    if (this.resource.data.target === 'SUBUSERS') {\n      this.searchInterface.search();\n    }\n  }\n\n  setPayload() {\n    const target = this.resource.data.target;\n    const payload = { target };\n    switch (payload.target) {\n      case 'SELF':\n        payload.default = this.resource.data.default ? 'YES' : 'NO';\n        break;\n      case 'SUBUSERS':\n        payload.items = []\n        Object.values(this.currentItems)?.forEach((record) => {\n          if (record.isAssociated) {\n            payload.items.push({\n              userUuid: record.uuid,\n              default: record.isDefault ? 'YES' : 'NO'\n            });\n          }\n        });\n        break;\n    }   \n    return payload;\n  }\n\n  // Features\n  saveUserAssociationsWithCover() {\n    const payload = this.setPayload();\n    const endpoint = `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associations/current`;\n    return this.api.put(endpoint, payload).then(() => {\n      this.controller.ok();\n      this.toast.show(`Modifica salvata con successo`, 'success');\n    }).catch((error) => {\n      console.log(endpoint, error);\n      this.toast.show('Errore durante il salvataggio', 'error');\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmAutorizzazioni {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/autorizzazioni/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const mav = this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n    this.privileges = { tabs: { mav } };\n\n    if (this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isBankOperator = true;\n    } \n    else if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isOperator = true;\n    }\n    else if (this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isUser = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogMavApproval {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      status: {\n        label: 'Stato richiesta',\n        control: 'combo',\n        datasource: [\n          { value: 'PENDING-ACTIVATION', text: 'Approva' },\n          { value: 'REFUSED', text: 'Rifiuta' },\n          { value: 'ACTIVE', text: 'Conferma' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        datamultiple: false,\n        required: true\n      },\n      refusalReason: {\n        label: 'Motivazione del rifiuto',\n        control: 'text',\n        required: true\n      },\n      trusteeServiceCode: {\n        label: 'Codice servizio',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      status: 'PENDING-ACTIVATION',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.request = params.request;\n    if (this.request.status === 'PENDING-ACTIVATION') {\n      this.resource.schema.status.datasource = [\n        { value: 'ACTIVE', text: 'Conferma' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'ACTIVE';\n    } else if (this.request.status === 'ACTIVE') {\n      this.resource.schema.status.datasource = [{ value: 'REFUSED', text: 'Rifiuta' }];\n\n      this.resource.data.status = 'REFUSED';\n    } else {\n      this.resource.schema.status.datasource = [\n        { value: 'PENDING-ACTIVATION', text: 'Approva' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'PENDING-ACTIVATION';\n    }\n\n    if (this.request?.trustee?.serviceCode) {\n      this.resource.data.trusteeServiceCode = this.request.trustee.serviceCode;\n      this.resource.schema.trusteeServiceCode.readonly = true;\n    }\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      if (this.resource.data.status === 'ACTIVE') {\n        if (this.resource.data.refusalReason) delete this.resource.data.refusalReason;\n        if (this.request.trustee.serviceCode) delete this.resource.data.trusteeServiceCode;\n      }\n      else if (this.resource.data.status === 'REFUSED') {\n        if (this.resource.data.trusteeServiceCode) delete this.resource.data.trusteeServiceCode;\n      }\n\n      this.api.patch(`bo/users/${this.request.owner.id}/billing-profiles/${this.request.billingProfileUuid}/mav-order-self-printing-authorizations/${this.request.uuid}`, this.resource.data).then(() => {\n        this.controller.ok(this.resource.data.status);\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      setTimeout(() => { $event.model.busy = false; }, 300);\n    });\n  }\n}\n","import {inject, observable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogCreateRequest {\n  mdt = mdt;\n  pending = false;\n  \n  resource = {\n    controls: {},\n    schema: {\n      context: {\n        control: 'combo',\n        label: 'Chi è il proprietario del profilo di fatturazione?',\n        datasource: [],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      subuser: { \n        control: 'combo', \n        label: null,\n        datasource: { table: 'users/me/users?include=user-profiles&status=ACTIVE', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      billingProfile: {\n        control: 'combo', \n        label: 'Seleziona un profilo di fatturazione',\n        datasource: [],\n        datavalue: 'uuid', \n        datatext: 'identifier',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate() {\n    this.pending = true;\n    this.resource.schema.context.datasource = [\n      { value: 'USER', text: 'Me stesso'},\n      { value: 'SUBUSER', text: `Un mio ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}` }\n    ];\n    this.resource.schema.subuser.label = `Seleziona un ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`;\n    this.resource.data.context = 'USER';\n  }\n\n  setUserId(mode = null) {\n    let userId = this.resource.data?.context === 'USER' ? 'me' : this.resource.data?.context === 'SUBUSER' ? this.resource.data.subuser : null;\n    if (mode !== 'soft') {\n      this.pending = true;\n      return this.userIdChanged(userId);\n    } else return userId;\n  }\n\n  userIdChanged(userId) {\n    this.resource.data.billingProfile = null;\n    this.resource.schema.billingProfile.datasource = [];\n    if (userId === 'me') {\n      this.resource.data.subuser = null;\n      this.getBillingProfiles(userId);\n    } else if (this.resource.data?.subuser) {\n      this.getBillingProfiles(userId);\n    } else if (!this.resource.data?.subuser) {\n      setTimeout(() => { this.pending = false; }, 600);\n    }\n  }\n\n  subuserChanged(userId = null) {\n    if (this.resource.data?.context === 'SUBUSER' && this.resource.data.subuser) {\n      this.pending = true;\n      this.setUserId();\n    }\n  }\n\n  getBillingProfiles(userId) {\n    this.api.get(`users/${userId}/billing-profiles`).then(xhr => {\n      let billingProfiles = xhr.response;\n      billingProfiles.forEach(profile => {\n        profile.identifier = `${profile.label} - IBAN: ${profile.payments?.banking?.iban || 'mancante'}`\n      });\n      this.resource.schema.billingProfile.datasource = billingProfiles;\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profiles - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  send($event, userId = null) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      userId = this.setUserId('soft');\n      this.isBuildingAdminCreatingMavRequest($event, userId);\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm', \n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`}).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId) {\n    return this.api.post(`users/${userId}/billing-profiles/${this.resource.data.billingProfile}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { MavRequest } from 'classes/mavRequest';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { Aurelia, inject } from 'aurelia-framework';\nimport environment from '../../../../environment';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmMav {\n  mdt = mdt;\n  environment = environment;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.mavRequestModel = new MavRequest(this.privileges.isOperator || this.privileges.isBankOperator);\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-mav-autorizzazioni-table',\n      client: this.api,\n      endpoint: 'bo/users/billing-profiles/mav-order-self-printing-authorizations'\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-mav-richieste-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Richiesta inviata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        trusteeDisplayName: {\n          label: 'Richiedente',\n          control: 'text',\n          query: 'trustee-text-search'\n        },\n        trusteeServiceCode: {\n          label: 'Codice servizio',\n          control: 'text',\n          query: 'service-code-in'\n        },\n        trusteeSubServiceCode: {\n          label: 'Codice sottoservizio',\n          control: 'text',\n          query: 'sub-service-code-in'\n        },\n        ownerDisplayName: {\n          label: 'Proprietario del conto',\n          control: 'text',\n          query: 'owner-text-search'\n        },\n        status: {\n          control: 'combo',\n          datatext: 'text',\n          query: 'status-in',\n          datavalue: 'status',\n          label: 'Stato richiesta',\n          datasource: this.mavRequestModel.setDatasourceMavAuthorizationStatus([], this.privileges.isBankOperator ? ['PENDING-DOCUMENT-INTERNAL-APPROVAL'] : [])\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        ...(this.privileges.isBankOperator && { status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' })\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    });\n  }\n  \n  // MAV request creation\n  isMAVrequestCreatable() {\n    return this.privileges.isUser && this.api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION');\n  }\n  dialogMAVRequestCreation() {\n    return this.dialog.open({\n      title: `Richiedi autorizzazione stampa MAV`,\n      class: 'small mav-create-request',\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-create-request'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n          this.searchInterface.search();\n        });\n      }\n    });\n  }\n \n  // MAV requests CSV download\n  isMAVrequestsCSVDownloadable() {\n    return this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n  }\n  MAVrequestsCSVDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let query = null;\n    let limit = this.tableInterface.limit;\n    let offset = this.tableInterface.offset !== 0 ? `&offset=${this.tableInterface.offset}` : '';\n    if (this.searchInterface?.table?._query) query = `${decodeURIComponent(decodeURIComponent(this.searchInterface.table._query))}`;\n    let path = 'bo/users/billing-profiles/mav-order-self-printing-authorizations.csv'\n    let uri = `${path}${query ? '?'+query+'&limit='+limit : '?limit='+limit}${offset}`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch((error) => {\n        console.error('mav-order-self-printing-authorizations/mine.csv', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Riprova o contatta l\\'assistenza.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV document collection\n  IsMAVcollectionDownloadDisabled(status) {\n    return ['PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status);\n  }\n  MAVcollectionDownload(request) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let uri = `bo/users/${request.owner.id}/billing-profiles/${request.billingProfileUuid}/mav-order-self-printing-authorizations/${request.uuid}/document-downloads`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/zip')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.zip$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: \"application/zip\" });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.log('document-downloads', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Il download non è possibile se tutti i documenti necessari alla richiesta stampa in proprio MAV non sono stati approvati internamente.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV Request approval\n  IsMAVrequestApprovalDisabled(status) {\n    return ['PENDING-DOCUMENT-DOWNLOAD','REFUSED','DELETED'].includes(status);\n  }\n  MAVrequestApproval(request) {\n    return this.dialog.open({\n      viewModelParams: { request },\n      class: 'small documenti-approval',\n      title: `Gestione richiesta di autorizzazione`,\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-approval'),\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        const output = response.output;\n        const MAVrequestApprovalStatus = this.setMAVrequestApprovalStatus(output);\n        const toastContext = ['PENDING-ACTIVATION','ACTIVE'].includes(output) ? 'success' : 'error';\n        this.toast.show(`Hai ${MAVrequestApprovalStatus} la richiesta di autorizzazione!`, toastContext);\n      }\n    });\n  }\n  setMAVrequestApprovalStatus(output) {\n    return output === 'PENDING-ACTIVATION' ? 'approvato' : output === 'ACTIVE' ? 'attivato' : 'rifiutato';\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletionDisabled(request) {\n    if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return request.status !== 'ACTIVE';\n    else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return !request.subServiceCode;\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`}).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.operatorDeleteMAVRequest($event, request.uuid);\n          } \n          else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.userDeleteMAVRequest($event, request);\n          }\n        }\n      });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${request.owner.id}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogDownloadReceipts {\n  constructor(api, controller){\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmTracciatiEsitoPagamento {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/pagamento/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { mav: false }};\n\n    if (this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'])) {\n      this.privileges.tabs.richieste = true;\n      if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) this.privileges.isOperator = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class vmTracciatiEsito {\n  endpoint = 'mav-payment-order-receipts/mine';\n  selectedArray;\n\n  select = {\n    recordsSelected: {},\n    allRecordsSelected: false,\n    someRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.uuid] = !this.select.recordsSelected[record.uuid];\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some((record) => record === true);\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      this.visibleRecordsUuids.forEach((uuid) => {\n        this.select.recordsSelected[uuid] = this.select.allRecordsSelected;\n      });\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n  \n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tracciati-esito-mav-table',\n      client: this.api,\n      endpoint: this.endpoint\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.visibleRecordsUuids = [];\n      response.forEach((record) => {\n        this.visibleRecordsUuids.push(record.uuid);\n        if (this.select.recordsSelected[record.uuid] !== true) {\n          this.select.recordsSelected[record.uuid] = false;\n        }\n      });\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      return response;\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error); });\n\n    this.searchInterface = new SearchInterface({\n      name: 'tracciati-esito-mav-search',\n      table: this.tableInterface,\n      schema: {\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban-code'\n        },\n        billingProfileOwnerDisplayName: {\n          label: 'Intestatari',\n          control: 'combo',\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: true,\n          description: 'Seleziona uno o più intestatari',\n          query: 'owner-uuid-in'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        accounted: {\n          label: 'Stato contabilizzazione',\n          control: 'combo',\n          datasource: [{ value: 'YES', text: 'Contabilizzati' }, { value: 'NO', text: 'Non contabilizzati' }],\n          query: 'accounted'\n\n        },\n        downloaded: {\n          label: '',\n          control: 'check',\n          label: 'Tracciati',\n          query: 'downloaded',\n          description: 'Escludi i tracciati scaricati'\n        },\n        showDisabled: {\n          control: 'check',\n          query: \"show-disabled\",\n          label: 'Autorizzazioni',\n          description: 'Mostra le autorizzazioni dismesse'\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        showDisabled: true,\n        downloaded: true\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  search() {\n    const data = structuredClone(this.searchInterface.data);\n    if(data.accounted === true) data.accounted = 'NO';\n    if(data.downloaded === true) data.downloaded = 'NO';\n    if (data.showDisabled === true) data.showDisabled = \"YES\";\n    this.searchInterface.search(data);\n  }\n\n  download(file) {\n    this.toast.show('Caricamento in corso', 'loading');\n    let uri = `mav-payment-order-receipts/downloads/${file.uuid}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il file!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts download - GET', xhr);\n    });\n  }\n\n  accountFor(record) {\n    let data = {'accounted': (record.accounted === 'YES') ? 'NO' : 'YES'};\n    this.api.patch(`mav-payment-order-receipts/${record.uuid}`, data).then(() => {\n      this.toast.show(`Operazione effettuata con successo!`, 'success');\n      this.tableInterface.load();\n    });\n  }\n\n  resetSelectedCbis() {\n    this.select.recordsSelected = {};\n    this.select.someRecordsSelected = false;\n    this.select.allRecordsSelected = false;\n  }\n\n  exportSelectedCbis() {\n    let data = { receiptUuidIn: null };\n    data.receiptUuidIn = this.selectedArray;\n\n    if (this.searchInterface.data.accounted === 'YES') {\n      this.downloadSelectedCbis(false, data.receiptUuidIn);\n    } else {\n      this.dialog.open({\n        title: `Attenzione!`,\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/riscossioni/pagamento/dialogs/account-for-receipts'),\n        viewModelParams: {}\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.downloadSelectedCbis(response.output, data.receiptUuidIn);\n        }\n      });\n    }\n  }\n\n  downloadSelectedCbis(markReceiptsAsAccountedOnSuccess, receiptUuidIn) {\n    let data = { markReceiptsAsAccountedOnSuccess, receiptUuidIn };\n    this.api.client.createRequest('mav-payment-order-receipts/merged-downloads/')\n    .asPost()\n    .withContent(data)\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      \n      this.search();\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il documento!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts - downlaod merged file of selected cbis - POST', xhr);\n    });\n  }\n\n  openLostIdsPaymentStatusPage(event) {\n    const win = window.open('', '_blank');\n    if (!win) {\n      this.toast.show('Abilita i popup per visualizzare gli esiti di pagamento!', 'error');\n      return;\n    }\n    event.model.busy = true;\n    this.api.client.createRequest('mav-payment-order-receipts/lost-ids-payment-status-page')\n      .asGet()\n      .withHeader('Accept', 'text/html')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        const url = URL.createObjectURL(new Blob([xhr.response], { type: 'text/html' }));\n        win.location.href = url;\n        setTimeout(() => URL.revokeObjectURL(url), 60000);\n      })\n      .catch(xhr => {\n        win.close();\n        this.toast.show('Impossibile caricare gli esiti di pagamento!', 'error');\n        console.error('ERROR - lost-ids-payment-status-page - GET', xhr);\n      })\n      .finally(() => event.model.busy = false);\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdFileDownload, MdFileViewer } from 'services/md-files';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewSentMavs {\n  mdt = mdt;\n  isPendingInit;\n  lastUpdatedAt;\n  channelLabels = {};\n  vectorLabels = {};\n  postageLabels = {};\n  default = { status: 'null' };\n  infoTooltipRecipient = 'Il destinatario del messaggio';\n  infoTooltipDateCreated = 'La data di creazione della spedizione';\n\n  static inject = [Api, Router, KaDialog, KaToast, QueueMessages, QueueProperties, MdDatasources];\n  constructor(api, router, dialog, toast, queueMessages, queueProperties, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.router = router;\n    this.dialog = dialog;\n    this.mdDatasources = mdDatasources;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n    this.mdFileDownload = new MdFileDownload(this.api, this.toast);\n    this.ownerTitle = mdt.parsers.contextualize(this.api.user, 'Utente');\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n  }\n  activate(params) {\n    this.params = params;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.setLabels();\n    const promises = [\n      this.initTableInterface(),\n      this.initSearchInterface(),\n      this.queueMessages.setQueueMessageStatusCodes(this.api)\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      const response = xhrs.find((xhr) => this.api.isResponse(xhr))?.response;\n      if (response?.[0]?.type === 'queue-message-status-codes') {\n        this.queueMessages.statusCodes = response;\n        const datasource = this.groupStatusCodes(response);\n        this.searchInterface.schema.status = Object.assign({}, this.searchInterface.schema.status, { datasource });\n      }\n      return this.search().finally(() => {\n        this.isPendingInit = false;\n      });\n    }).catch(() => {\n      this.isPendingInit = false;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  setLabels() {\n    const postalServices = this.mdDatasources.postalServices || {};\n    this.channelLabels = Object.fromEntries((this.queueProperties.channels || []).map((channel) => [channel.value, channel.text]));\n    this.vectorLabels = Object.fromEntries((postalServices.vectors || []).map((vector) => [vector.code, vector.name]));\n    this.postageLabels = Object.fromEntries((postalServices.postages || []).map((postage) => [postage.code, (postage.description || '').split(/:\\s*/)[0] || postage.code]));\n  }\n  groupStatusCodes(data) {\n    const colors = {\n      'In elaborazione': 'Giallo',\n      'Completati': 'Verde',\n      'Non consegnati': 'Rosso',\n    };\n    const groups = data.reduce((accumulator, { code, statusGroup }) => {\n      const { value, label } = statusGroup;\n      if (!accumulator[value]) accumulator[value] = { text: label, codes: [] };\n      accumulator[value].codes.push(code);\n      return accumulator;\n    }, {});\n    return [\n      { text: 'Qualsiasi', value: 'null' },\n      ...Object.values(groups).map(({ text, codes }) => ({\n        text: colors[text] ? `${text} / ${colors[text]}` : text,\n        value: codes.join(','),\n      })),\n    ];\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'sent-mavs-table',\n      endpoint: 'users/me/mavs'\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      this.lastUpdatedAt = new Date();\n    });\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'sent-mavs-search',\n      table: this.tableInterface,\n      schema: {\n        owner: {\n          control: 'combo',\n          label: this.ownerTitle,\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: 'users/me/users?include=user-profiles&status=ACTIVE',\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        payerName: {\n          control: 'text',\n          label: 'Intestatario',\n          query: 'payer-name-like'\n        },\n        createdAtGte: {\n          control: 'date',\n          label: 'Spedizione creata dal',\n          query: 'sent-at-gte'\n        },\n        createdAtLte: {\n          control: 'date',\n          label: 'al',\n          query: 'sent-at-lte'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato messaggio',\n          datatext: 'text',\n          datavalue: 'value',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'status-in'\n        },\n      },\n      data: this.default\n    });\n    return this.searchInterface.initialize();\n  }\n  setEndpoint() {\n    const user = this.searchInterface.data.owner || 'me';\n    this.tableInterface.endpoint = `users/${user}/mavs`;\n  }\n  search() {\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  refresh(event) {\n    event.model.busy = true;\n    return this.search().then(() => {\n      this.toast.show('Elenco aggiornato con successo', 'success');\n    }).catch(() => {\n      this.toast.show('Errore durante l\\'aggiornamento', 'error');\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n  reset() {\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = this.default.status;\n    this.search();\n  }\n  navigateToQueueDetail(record) {\n    if (record.queue?.ownerId && record.queue?.uuid) {\n      this.router.navigate(`spedizioni/destinatari/${record.queue.ownerId}/${record.queue.uuid}`);\n    }\n  }\n  navigateToAuthorization(record) {\n    if (record.billingProfileOwnerId && record.billingProfileUuid) {\n      const id = String(record.billingProfileOwnerId) === String(this.api.user.id) ? 'me' : record.billingProfileOwnerId;\n      this.router.navigateToRoute('anagrafiche/utenti', { id, view: 'fatturazione', profileUuid: record.billingProfileUuid, source: 'sent-mavs' });\n    }\n  }\n  dialogStatusHistory(record) {\n    if (record.queueMessage?.timeline && record.queueMessage?.owner) {\n      const recipient = { label: record.queueMessage.owner };\n      const timeline = record.queueMessage.timeline;\n      const message = { recipient, timeline };\n      return this.dialog.open({\n        title: 'Storico dei passaggi di stato',\n        class: 'message-status-transitions-history',\n        viewModelParams: { message, queueMessages: this.queueMessages },\n        viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-status-transitions-history')\n      }, true);\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmAbbonamenti {\n  mdt = mdt;\n  isPendingInitTabs;\n  flatServiceProducts;\n  userCurrentFidelityCard;\n  showMigrationsTab = null;\n  isGetFlatServiceTypesPending;\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione servizi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-gestione')\n    },\n    {\n      id: 'attivabili',\n      label: 'Servizi attivabili',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivabili')\n    },\n    {\n      id: 'volture',\n      label: 'volture',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/volture')\n    },\n    {\n      id: 'attivi',\n      label: 'Servizi attivi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivi')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.tools = this.setTools();\n  }\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n  init() {\n    this.privileges = this.setPrivileges();\n    let promises = [this.showOrHideMigrationsTab(),this.getFlatServiceProducts()];\n    if (this.params.id) promises.push(this.getUser);\n    if (!this.privileges.isOperator && this.privileges.isMaster) {\n      promises.push(this.getLastServiceContractSubscribed());\n      if (this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n        promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n      }\n    }\n    return Promise.allSettled(promises).then((xhrs) => {\n      this.flatServiceProducts = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.[0]?.type === 'products')?.value?.response;\n      this.userCurrentFidelityCard = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations')?.value?.response;\n      this.setPrivilegesTabs();\n      this.isPendingInitTabs = true;\n    });\n  }\n  async showOrHideMigrationsTab() {\n    return Promise.all([\n      this.api.get(`users/${this.api.user.id}/flat-services-activations?acknowledged=NO&limit=0`),\n      this.api.get(`users/${this.api.user.id}/subusers/flat-services-activations?acknowledged=NO&limit=0`)\n    ]).then((responses) => {\n      const [mineResponse, subusersResponse] = responses;\n      const mineHasElements = mineResponse.response.length > 0;\n      const subusersHasElements = subusersResponse.response.length > 0;\n      this.showMigrationsTab = (mineHasElements || subusersHasElements);\n    }).catch((error) => {\n      console.error('Failure to check presence of at least one element in either response', error);\n    });\n  }\n\n  // Set functions\n  setPrivileges() {\n    const privileges = {\n      isOperator: this.api.hasRole('LIST_ANY_USER'),\n      isMaster: this.api.user.group === 'MASTER_USER',\n      isBasicUser: this.api.user.group === 'BASIC_USER'\n    };\n    return privileges;\n  }\n  setPrivilegesTabs() {\n    this.privileges.tabs = {};\n    this.privileges.tabs = { attivi: false, attivabili: false, gestione: false, volture: false };\n    if (this.api.hasRole(['LIST_USER_FLAT_SERVICE_SUBSCRIPTIONS', 'LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION'])) {\n      this.privileges.tabs.attivi = true;\n      if (this.privileges.isMaster && this.showMigrationsTab) {\n        this.privileges.tabs.volture = true;\n      }\n    }\n    if (!this.privileges.isOperator && this.api.hasRole(['CREATE_USER_FLAT_SERVICE_SUBSCRIPTIONS'])) {\n      this.privileges.tabs.attivabili = true;\n    }\n    if (this.api.hasRole(['LIST_ANY_FLAT_SERVICE'])) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n  setTools() {\n    return {\n      getFlatServiceTypes: (productCode) => {\n        let endpoint = 'flat-service-types';\n        this.isGetFlatServiceTypesPending = true;\n        if (productCode) endpoint += `?product-code-in=${productCode}`;\n        return this.api.get(endpoint).catch(() => {\n          console.error('getFlatServiceTypes', error);\n        }).finally(() => {\n          this.isGetFlatServiceTypesPending = false;\n        });\n      },\n      enabledUntil: (date) => {\n        return !mdt?.helpers?.isDateGreaterThan?.(new Date(), new Date(date));\n      },\n      copyText: (text, context = 'Testo') => {\n        if (!text) return;\n        navigator.clipboard.writeText(text);\n        this.toast.show(`${context} copiato con successo!`, 'success');\n      },\n      dialogCashbackSubscriptionRequired: ($event, action = 'activation') => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required'),\n          viewModelParams: { action }\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      },\n      dialogFidelityCardRequired: ($event) => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'abbonamenti-fidelity-card-required',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required'),\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  // Get functions\n  getFlatServiceProducts() {\n    return this.api.get('products').catch((error) => {\n      console.error('getFlatServiceProducts', error);\n    });\n  }\n  getUser() {\n    return this.api.get(`users/${this.params.id}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      resolve(this.requestedUserData = response);\n    }).catch((error) => {\n      console.error('GET users', error);\n    });\n  }\n  getLastServiceContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.privileges.lastAcceptedServiceContract = {\n        ...response,\n        isCashbackContractNeverBeenSigned: false\n      };\n    }).catch((error) => {\n      console.error('getLastServiceContractSubscribed', error);\n      if (error.statusCode === 404) {\n        return this.getLastMultinvioContractSubscribed();\n      } else {\n        this.privileges.lastAcceptedServiceContract = null;\n      }\n    });\n  }\n  getLastMultinvioContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response?.rescindedAt) {\n        this.privileges.lastAcceptedServiceContract = {\n          ...response,\n          isCashbackContractNeverBeenSigned: false\n        };\n      } else {\n        this.privileges.lastAcceptedServiceContract = { isCashbackContractNeverBeenSigned: true };\n      }    \n    }).catch((error) => {\n      console.error('getLastMultinvioContractSubscribed', error);\n      this.privileges.lastAcceptedServiceContract = (error.statusCode === 404) ? { isCashbackContractNeverBeenSigned: true } : null;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ServiceDialogAbbonamentiAttivazioneSottoutenti {\n  service;\n  mdt = mdt;\n  activations;\n  isServicePayableBy;\n  activationSummary = [];\n  pendingBillingProfiles;\n  pendingActivation = false;\n  failedActivationsCount = 0;\n  successfulActivationsCount = 0;\n  userBillingProfileDatasource = [];\n  recordBillingProfilePending = false;\n  resourcePayment = {\n    schema: {\n      payment: {\n        label: 'Metodo di pagamento',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  resourceBillingProfile = {\n    controls: {},\n    schema: {\n      billingProfile: {\n        label: 'Profilo di fatturazione',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'value',\n        datatext: 'text'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n  }\n  activate(params) {\n    this.params = params;\n    this.service = params.service;\n    this.isServicePayableBy = params.payable;\n  }\n  attached() {\n    this.initServiceDialog();\n  }\n\n  // Init\n  initServiceDialog() {\n    this.setResourcePaymentDatasource();\n    this.setResourcePaymentData(this.resourcePayment.schema.payment.datasource);\n    // Payment methods\n    this.resourcePayment.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(paymentMethod => this.service.paymentMethods.includes(paymentMethod.code));\n    if (this.resourcePayment.schema.payment.datasource.length) this.resourcePayment.data.payment = this.resourcePayment.schema.payment.datasource[0].code;\n    // I make this call at the beginning because if the Master does not have a billing profile he must make one\n    return this.setUserBillingProfile().then(() => {\n      this.initTableInterface();\n      this.initTableSelectionInterface();\n      this.initSearchInterface().then(() => {\n        return this.searchInterface.reset();\n      })\n    })\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      limit: 100, \n      client: this.api,\n      endpoint: 'users/me/users',\n      name: 'activable-flat-subusers-table',\n      query: `without-subscriptions-with-type-code=${this.service.type}&include=user-profiles&status=ACTIVE`\n    });\n\n    this.tableInterface.parseResponse = (records) => {\n      if (records.length) {\n        this.pendingBillingProfiles = true;\n        records.forEach((record, index) => {\n          record._selection = {};\n          record._resource = structuredClone(this.resourceBillingProfile);\n\n          // Checks if it is the last record to end the loading state\n          const isLastRecord = records.length === (index + 1);\n\n          // if the service is payable by MASTER. User billing profiles only.\n          if (this.isServicePayableBy === 'MASTER') {\n            record._selection.isDisabled = false;\n            record._resource.schema.billingProfile.datasource = this.userBillingProfileDatasource;\n            record._resource.data.billingProfile = (this.userBillingProfileDatasource.find(x => x.default === true) || { value: null }).value;\n            if (isLastRecord) this.pendingBillingProfiles = false;\n          } \n          \n          // if the service is payable by SUBUSER. Subuser billing profiles only.\n          else {\n            let promises = [];\n            promises.push(this.setSubusersBillingProfiles(record));\n\n            // Checks if it is the last record to end the loading state\n            const isLastRecord = records.length === (index + 1);\n            if (isLastRecord) this.getAllSubuserBillingProfiles(promises);\n          }\n        });\n      }\n      return records;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'activable-flat-subusers-table-search',\n      table: this.tableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: `Denominazione, ID, CF o IVA del ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n          query: 'text-search'\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n  initTableSelectionInterface() {\n    return this.tableSelectionInterface = new TableSelectionInterface({ table: this.tableInterface });\n  }\n\n  // Get\n  getBillingProfiles(userId = 'me') {\n    return this.api.get(`users/${userId}/billing-profiles`);\n  }\n  getAllSubuserBillingProfiles(promises) {\n    Promise.any(promises).then(() => {\n      this.pendingBillingProfiles = false;\n    }).catch((xhrs) => {\n      console.log('getAllSubuserBillingProfiles', xhrs);\n    });\n  }\n  \n  // Set\n  setResourcePaymentDatasource() {\n    const usablePaymentMethods = this.mdDatasources.paymentMethods.filter((paymentMethod) => this.service.paymentMethods.includes(paymentMethod.code));\n    this.resourcePayment.schema.payment.datasource = usablePaymentMethods;\n  }\n  setResourcePaymentData(usablePaymentMethods) {\n    if (usablePaymentMethods.length) {\n      this.resourcePayment.data.payment = usablePaymentMethods[0].code;\n    }\n  }\n  dialogMissingBillingProfile() {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: ',medium', \n      type: 'alert', \n      body: 'È necessario impostare un profilo di fatturazione' \n    }).whenClosed(() => {\n      // if it does not have a billing profile I send it to the billing view\n      location.href = '/gestione/profilo/me/fatturazione';\n    });\n  }\n  setUserBillingProfile() {\n    return new Promise((resolve, reject) => {\n      if (this.isServicePayableBy === 'MASTER') {\n        this.getBillingProfiles().then((xhr) => {\n          const response = xhr.response;\n          if (!response.length) {\n            this.dialogMissingBillingProfile();\n          } else {\n            response.forEach((billingProfile) => {\n              this.userBillingProfileDatasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n            });\n          }\n          return resolve();\n        }).catch((error) => { \n          console.error(error);\n          this.api.dialogError(error);\n          this.controller.cancel();\n          return reject();\n        });\n      } else resolve();\n    });\n  }\n  setBillingProfileDatasourceItem(billingProfile) {\n    return { \n      value: billingProfile.uuid,\n      default: !!billingProfile.default,\n      text: `${billingProfile.name || billingProfile.label || billingProfile.lasttName || billingProfile.firstName} - ${billingProfile.taxCode || billingProfile.fiscalCode || billingProfile.vatCode}${billingProfile.default ? ' (predefinito)' : ''}`\n    }\n  }\n  setEachSubuserBillingProfile(response) {\n    let datasource = [];\n    response.forEach((billingProfile) => {\n      datasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n    });\n    return datasource;\n  }\n  setSubusersBillingProfiles(record) {  \n    return this.getBillingProfiles(record.id).then((xhr) => {\n      const response = xhr.response;\n      if (response.length) {\n        record._selection.isDisabled = false;\n        record._resource.schema.billingProfile.datasource = this.setEachSubuserBillingProfile(response);\n        const defaultBillingProfileUuid = response.find((billingProfile) => billingProfile.default)?.uuid;\n        record._resource.data.billingProfile = defaultBillingProfileUuid || null;\n      } else {\n        record._selection.isDisabled = true;\n        record._resource.schema.billingProfile.datasource = [{ value: 'NONE', text: 'Nessun profilo di fatturazione disponibile' }];\n        record._resource.data.billingProfile = 'NONE';\n      }\n    }).catch((error) => {\n      console.log(`${record.id}/billing-profiles`, error);\n      record._selection.isDisabled = true;\n    });\n  }\n  setFailedActivationDetail(xhr, record) {\n    let error = JSON.stringify(xhr);\n    // Change the names of the fields, on which there is an error on the server side, before showing them to the user (WRIKE:830139458)\n    error = error.replace(/paymentMethod/g, 'Problemi con il metodo di pagamento scelto');\n    try { \n      return record._failedActivationXhr = JSON.parse(error); \n    } catch {\n      return 'Dettaglio errore non disponibile';\n    };\n  }\n  setFlatServicesActivationsPayload(record) {\n    const payload = {\n      flatServiceUuid: this.service.id,\n      paymentMethod: this.resourcePayment.data.payment,\n      payeeBillingProfileUuid: record._resource.data.billingProfile,\n      payeeUserUuid: this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid\n    }\n    if (this.service.autoRenewable === true && (payload.paymentMethod === 'SDD' || payload.paymentMethod === 'ON-SIGHT')) {\n      payload.autoRenew = 'ENABLED';\n    }\n    return payload;\n  }\n  setActivationSummary() {\n    this.activations.forEach((newActivation) => {\n      if (!this.activationSummary.length || this.activationSummary.every((item) => item.uuid !== newActivation.uuid)) {\n        this.activationSummary.push(newActivation);\n      }\n    });\n  }\n  setFailedActivationsCount() {\n    this.failedActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'error')?.length;\n  };\n  setSuccessfulActivationsCount() {\n    this.successfulActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'success')?.length;\n  };\n\n  // Utility\n  activateSelectedRecords() {\n    if (!this.pendingActivation) {\n      let promises = [];\n      this.activations = [];\n      this.pendingActivation = true;\n\n      this.tableSelectionInterface.selectEveryVisibleRecordSelected = false;\n      this.tableSelectionInterface.selectedRecords.forEach((record) => {\n        record._selection.feedback = {};\n        record._selection.isDisabled = true;\n        record._selection.isSelected = false;\n        const payload = this.setFlatServicesActivationsPayload(record)\n        promises.push(this.api.post(`users/${record.id}/flat-services-activations`, payload).then(() => {\n          record._selection.feedback.status = 'success';\n        }).catch((error) => {\n          console.log(`${record.id}/flat-services-activations`, error);\n          record._selection.feedback.status = 'error';\n          this.setFailedActivationDetail(error, record);\n        }).finally(() => {\n          this.activations.push(record);\n        }));\n      });\n      return Promise.all(promises).finally(() => { \n        this.pendingActivation = false;\n        this.setActivationSummary();\n        this.setFailedActivationsCount();\n        this.setSuccessfulActivationsCount();\n        this.tableSelectionInterface.selectedCount = 0;\n        this.tableSelectionInterface.selectedRecords = [];\n      });\n    }\n  }\n  showFailedActivationDetail(record) { \n    if (record._failedActivationXhr) return this.api.dialogError(record._failedActivationXhr);\n  }\n  exportActivationsReport() {\n    let csv = [`id servizio;id ${this.mdt.parsers.contextualize(this.api.user, 'utente')};denominazione;cf/iva;tipo pagamento;id account fatturazione;id profilo fatturazione;stato attivazione;messaggio errore`];\n    this.activationSummary.forEach((record) => {\n      csv.push([\n        `\"${this.service.id}\"`,\n        `\"${record.id}\"`,\n        `\"${record.profile?.[0].displayName}\"`,\n        `\"${record.profile?.[0].fiscalCode || record.profile[0].vatCode}\"`,\n        `\"${this.resourcePayment.data.payment}\"`,\n        `\"${this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid}\"`,\n        `\"${record._resource.data.billingProfile}\"`,\n        `\"${record._selection.feedback.status === 'error' ? 'Non attivato' : 'Attivato'}\"`,\n        `\"${record._failedActivationXhr ? this.parseFailedActivationDetailMessage(record._failedActivationXhr) : ''}\"`\n      ].join(';').trim());\n    });\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'report-attivazione-abbonamenti.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n  parseFailedActivationDetailMessage(xhr) {\n    let errorDetail;\n    try { \n      return errorDetail = JSON.parse(xhr?.response)?.detail;\n    } catch { \n      return errorDetail = 'Dettaglio errore non disponibile';\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {MdDatasources} from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAttivazione {\n  schema = {\n    payment: {\n      label: 'Metodo di pagamento',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'code',\n      datatext: 'label'\n    },\n    billing: {\n      label: 'Profilo di fatturazione',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'value',\n      datatext: 'text'\n    }\n  };\n  data = {};\n  error = null;\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.payeeUserId = params.payableByUserId;\n\n    // Payment methods\n    this.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(x => params.service.paymentMethods.includes(x.code));\n    if (this.schema.payment.datasource.length) this.data.payment = this.schema.payment.datasource[0].code;\n\n    // Get billing profiles\n    this.api.get(`users/${this.payeeUserId}/billing-profiles`).then((xhr) => {\n      const response = xhr.response;\n      if (!response.length) throw new Error('Zero length');\n      let billingDatasource = [];\n      response.forEach((value) => {\n        billingDatasource.push({ value: value.uuid, text: `${value.name || value.label || value.lasttName || value.firstName} - ${value.taxCode || value.fiscalCode || value.vatCode}${value.default ? ' (predefinito)' : ''}`});\n        if (value.default) this.data.billing = value.uuid;\n      });\n      this.schema.billing.datasource = billingDatasource;\n    }).catch(() => {\n      this.error = { message: 'Nessun profilo di fatturazione trovato da associare al pagamento del servizio' };\n    });\n    \n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAutorinnovo {\n  updateDatasourcePending;\n  resource = {\n    controls: {},\n    schema: {\n      autoRenewPaymentMethod: {\n        control: 'combo',\n        label: 'Metodo di pagamento dell\\'autorinnovo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.autoRenew === 'DISABLED') this.updateDatasource();\n  }\n\n  updateDatasource() {\n    this.updateDatasourcePending = true;\n    this.api.get(`users/${this.params.ownerId || 'me'}/flat-services-activations/${this.params.id}`).then((xhr) => {\n      let response = xhr.response;\n      if (response.allowedAutoRenewPaymentMethods?.length) {\n        const filteredPaymentMethods = this.mdDatasources.paymentMethods.filter(method => response.allowedAutoRenewPaymentMethods.includes(method.code));\n        if (filteredPaymentMethods.length) {\n          this.resource.schema.autoRenewPaymentMethod = Object.assign({}, this.resource.schema.autoRenewPaymentMethod, { datasource: filteredPaymentMethods });\n          this.resource.data.autoRenewPaymentMethod = this.resource.schema.autoRenewPaymentMethod.datasource[0]?.code;\n        }\n      }\n    }).catch((error) => {\n      console.log('GET flat-services-activations', error);\n    }).finally(() => {\n      this.updateDatasourcePending = false;\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogAbbonamentiCashbackContractSubscriptionRequired {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiDetail {\n  ownerId;\n  resource;\n  mdt = mdt;\n  flatService;\n  pendingInit;  \n  paymentMethods;\n  flatServiceUuid;\n  statuses = {\n    'ACTIVE' : 'Attivo',\n    'PENDING' : 'In attesa di pagamento',\n    'SUSPENDED' : 'Sospeso',\n    'EXPIRED' : 'Scaduto',\n    'TERMINATED' : 'Terminato'\n  }\n\n  constructor(api, dialogController, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n    this.controller = dialogController;\n    this.paymentMethods = this.mdDatasources.paymentMethods;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.ownerId = this.params.ownerId;\n    this.flatServiceUuid = this.params.flatServiceUuid;\n\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = []\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [];\n    this.paymentMethods.forEach((method) => {\n      datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  async init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          readonly: true\n        },\n        flatServiceProductCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceType: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceTitle: {\n          control: 'text',\n          label: 'Titolo',\n          readonly: true\n        },\n        flatServiceDescription: {\n          control: 'text',\n          label: 'Descrizione',\n          readonly: true\n        },\n        orderId: {\n          control: 'number',\n          label: 'Id ordine',\n          readonly: true\n        },\n        ownerDisplayName: {\n          control: 'text',\n          label: 'Nome proprietario',\n          readonly: true\n        },\n        ownerId: {\n          control: 'number',\n          label: 'Id proprietario',\n          readonly: true\n        },\n        ownerFiscalCode: {\n          control: 'text',\n          label: 'Codice fiscale proprietario',\n          readonly: true\n        },\n        ownerParentDisplayName: {\n          control: 'text',\n          label: `${mdt.parsers.contextualize(this.api.user, 'Account')}`,\n          readonly: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        statusReason: {\n          control: 'text',\n          label: 'Motivo',\n          readonly: true\n        },\n        paymentMethod: {\n          control: 'combo',\n          label: 'Metodi di pagamento',\n          datasource: this.setPaymentMethodDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        activatedAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        expireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        autoRenew: {\n          control: 'combo', \n          label: 'Autorinnovo', \n          datasource: [\n            { value: 'ENABLED', text: 'Attivo' }, \n            { value: 'DISABLED', text: 'Disabilitato'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          readonly: true\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: true,\n        },\n        flatServicePrice: {\n          control: 'number',\n          label: 'Prezzo in €',\n          readonly: true\n        },\n        flatServiceCashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: true,\n        },\n        flatServiceMulticoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: true,\n        },\n        payeeDisplayName: {\n          control: 'text',\n          label: 'Fatturazione a',\n          readonly: true\n        }\n      },\n      data: {}\n    }\n\n    this.pendingInit = true;\n    await this.getFlatService().finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  async getFlatService() {\n    const url = `users/${this.ownerId}/flat-services-activations/${this.flatServiceUuid}`;\n    return this.api.get(url).then((xhr) => {\n      let response = xhr.response;\n      this.setResourceData(response);\n    }).catch((error) => {\n      console.error('GET flat-services-activations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  setResourceData(response) {\n    Object.keys(response).forEach((key) => {\n      const dataProperty = {};\n      dataProperty[key] = response[key];\n      if (dataProperty[key] === 'NO') dataProperty[key] = false;\n      if (dataProperty[key] === 'YES') dataProperty[key] = true;\n      this.resource.data = {\n        ...this.resource.data,\n        ...((response[key] || response[key] === 0) && dataProperty)\n      }\n    });\n  }\n}\n","import moment from 'moment';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, KaDialog, KaToast, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiEditor {\n  service;\n  pendingInit;\n  paymentMethods;\n  payers = [\n    { value: 'MASTER', text: 'Utenti' }, \n    { value: 'SUBUSER', text: 'Sottoutenti' }, \n    { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n  ];\n\n  constructor(api, kaDialog, kaToast, dialogController, MdDatasources) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n    this.paymentMethods = this.getPaymentMethods(MdDatasources);\n  }\n\n  getPaymentMethods(MdDatasources) {\n    MdDatasources?.paymentMethods.forEach((method) => { method.readonly = method.availableByDefault; });\n    return MdDatasources?.paymentMethods;\n  }\n\n  // Control type (label: Piano) related to productCode (label: Prodotto)\n  changeProductCode(value) {\n    if (!this.params?.uuid) {\n      if (this.resource.controls?.type) {\n        this.resource.data.type = null;\n        this.resource.controls.type.comboItems = null;\n        this.resource.controls.type.comboItemsSource = null;\n      }\n      this.resource.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  \n  changeActivableByPrivilegedUserOnly() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const payableByDatasource = [ ...this.payers ];\n      if (data.activableByPrivilegedUserOnly === 'SPONSOR') {\n        payableByDatasource.push({ value: 'SPONSOR', text: 'Offerta dallo Sponsor' });\n        this.resource.schema.payableBy = Object.assign({}, this.resource.schema.payableBy, { datasource: payableByDatasource });\n        if (data.paymentMethods.every((method) => method !== 'ON-SIGHT')) data.paymentMethods.push('ON-SIGHT');\n        data.payableBy = 'SPONSOR';\n      } else {\n        if (data.payableBy === 'SPONSOR') data.payableBy = null;\n        if (data.paymentMethods.some((method) => method === 'ON-SIGHT')) {\n          const item = data.paymentMethods.find((method) => method === 'ON-SIGHT');\n          const index = data.paymentMethods.indexOf(item);\n          data.paymentMethods.splice(index, 1);\n        }\n      }\n    };\n    return this.resource.data = data;\n  }\n\n  changeSubscriptionExpireAt() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid && data.subscriptionExpireAt && !data.endAt) {\n      data.endAt = data.subscriptionExpireAt;\n    }\n    return this.resource.data = data;\n  }\n\n  changePaymentMethods() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const isFreeCharge = data.paymentMethods.includes('FREE-CHARGE');\n      if (isFreeCharge) {\n        data.vatAmount = data.price = 0;\n        data.activableByPrivilegedUserOnly = 'YES';\n        data.paymentMethods = ['MIGRATION', 'FREE-CHARGE'];\n      }\n      this.resource.controls.price.control.readonly = isFreeCharge;\n      this.resource.controls.price.control.schema.readonly = isFreeCharge\n      this.resource.controls.vatAmount.control.readonly = isFreeCharge;\n      this.resource.controls.activableByPrivilegedUserOnly.control.readonly = isFreeCharge;\n    }\n    return this.resource.data = data;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  getDefaultPaymentMethods() {\n    return this.paymentMethods.filter(method => method?.availableByDefault).map(method => method?.code);\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableByPrivilegedUserOnly: {\n          control: 'combo',  \n          label: 'Attivabile da', \n          datasource: [\n            { value: 'NO', text: 'Proprietario account' }, \n            { value: 'YES', text: 'Solo utente privilegiato' }, \n            { value: \"SPONSOR\", text: 'Sponsor' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        sponsorUuid: {\n          control: 'combo', \n          label: 'Sponsor', \n          datasource: { table: 'bo/users?include=user-profiles&user-group-in=SPONSOR' }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableOn: {\n          control: 'combo',  \n          label: 'Sottoscrivibile da', \n          datasource: this.payers,\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        allowableBusinessTypes: {\n          control: 'combo',\n          label: 'Vincola a specifiche attività',\n          datasource: [],\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: true,\n          datapreload: true,\n          required: false,\n          readonly: this.params ? true : false\n        },\n        subscriptionExpiryType: {\n          control: 'combo',\n          label: 'Tipologia scadenza sottoscrizione',\n          datasource: [\n            { value: 'DAYS', text: 'Durata in giorni' },\n            { value: 'DATE', text: 'Scadenza fissa' }\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        duration: {\n          control: 'number',\n          label: 'Durata gg. sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        subscriptionExpireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: this.params ? true : false,\n        },\n        price: {\n          control: 'number',\n          label: 'Prezzo in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        vatAmount: {\n          control: 'number',\n          label: 'IVA in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        payableBy: {\n          control: 'combo',  \n          label: 'Addebitabile a',\n          datasource: [\n            { value: 'MASTER', text: 'Utenti' },\n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n            { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        paymentMethods: {\n          control: 'combo',  \n          label: 'Metodi di pagamento',\n          datasource: this.paymentMethods,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: true,\n          datamultiple: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        startAt: {\n          control: 'datetime',\n          label: 'Inizio periodo di validità',\n          required: this.params ? false : true\n        },\n        endAt: {\n          control: 'datetime',\n          label: 'Termine periodo di validità',\n          placeholder: 'Illimitato',\n          required: false\n        },\n        promotionNeeded: {\n          control: 'combo', \n          label: 'Promozione', \n          datasource: [\n            { value: 'YES', text: 'Necessaria per l\\'attivazione' }, \n            { value: 'NO', text: 'Non necessaria per l\\'attivazione'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true\n        },\n        createPortabilityPromotionOnActivation: {\n          control: 'check',  \n          label: 'Promozione di portabilità', \n          description: 'Crea promozione di portabilità',\n        },\n        associatedPromoCodes: {\n          control: 'combo', \n          label: 'Promozioni associate', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' } }, \n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: true,\n          required: this.params ? false : true\n        },\n        cashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: this.params ? true : false\n        },\n        multicoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: this.params ? true : false,\n        }\n      },\n      data: {\n        price: 20,\n        duration: 0,\n        vatAmount: 0,\n        vault: 'EUR',\n        multicoinPoint: 0,\n        autoRenewable: false,\n        subscriptionExpiryType: 'DATE',\n        startAt: this.params ? null : moment().utc().format(),\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            console.log(control);\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  async init() {\n    this.pendingInit = true;\n    this.initResource();\n    this.resource.data.paymentMethods = this.getDefaultPaymentMethods();\n    let promises = [this.setAllowableBusinessTypesDatasource()];\n    if (this.params?.uuid) promises.push(this.getFlatService());\n    await Promise.all(promises).then((xhrs) => {\n      const flatService = xhrs[1] ? xhrs[1][0] : null;\n      if (flatService) {\n        this.flatService = flatService;\n        this.flatServiceDataParse();\n      }\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  setAllowableBusinessTypesDatasource() {\n    return this.api.get(`user-business-types?public=YES`).then((xhr) => {\n      let response = xhr.response;\n      return this.resource.schema.allowableBusinessTypes = Object.assign({}, this.resource.schema.allowableBusinessTypes, { datasource: response });\n    }).catch((error) => {\n      console.error('SetAllowableBusinessTypesDatasource failed', error);\n      return this.api.dialogError(error);\n    });\n  }\n\n  getFlatService() {\n    return this.api.get(`bo/flat-services?uuid-in=${this.params.uuid}`).then((xhr) => {\n      let response = xhr.response;\n      return response;\n    }).catch((error) => {\n      console.error('GetFlatService failed', error); \n      return this.api.dialogError(error);\n    });\n  }\n\n  flatServiceDataParse() {\n    const flatService = { ...this.flatService };\n    let data = {\n      code: flatService.code,\n      type: flatService.type,\n      productCode: flatService.productCode,\n      title: flatService.title,\n      subscriptionExpiryType: flatService.subscriptionExpireAt ? 'DATE' : 'DAYS',\n      subscriptionExpireAt: flatService?.subscriptionExpireAt || null,\n      activableByPrivilegedUserOnly: flatService?.sponsorUuid ? 'SPONSOR' : flatService.activableByPrivilegedUserOnly,\n      activableOn: flatService?.activableOnUser && flatService?.activableOnSubuser ? 'PARENT-OR-SUBUSER' : !flatService?.activableOnSubuser ? 'MASTER' : 'SUBUSER',\n      duration: flatService.duration,\n      autoRenewable: flatService.autoRenewable,\n      price: flatService.price,\n      vatAmount: flatService.vatAmount,\n      payableBy: flatService?.payableBySponsor ? 'SPONSOR' : flatService?.payableByUser && flatService?.payableBySubuser ? 'PARENT-OR-SUBUSER' : !flatService?.payableBySubuser ? 'MASTER' : 'SUBUSER',\n      paymentMethods: flatService.paymentMethods,\n      startAt: flatService.startAt,\n      endAt: flatService.endAt || null,\n      promotionNeeded: flatService.promotionNeeded,\n      createPortabilityPromotionOnActivation: flatService.createPortabilityPromotionOnActivation === 'YES' ? true : false\n    };\n    if (flatService.description) data.description = flatService.description;\n    if (flatService.sponsorUuid) data.sponsorUuid = flatService.sponsorUuid;\n    if (flatService.cashbackAmount) data.cashbackAmount = flatService.cashbackAmount;\n    if (flatService.multicoinPoint) data.multicoinPoint = flatService.multicoinPoint;\n    if (flatService.allowableBusinessTypes) data.allowableBusinessTypes = flatService.allowableBusinessTypes;\n    if (flatService.associatedPromoCodes) data.associatedPromoCodes = flatService.associatedPromoCodes.length ? Array.from(flatService.associatedPromoCodes) : [];\n    return this.resource.data = data;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let endpoint = 'bo/flat-services';\n      let data = structuredClone(this.resource.data);\n\n      if (this.params) {\n        endpoint = `bo/flat-services/${this.params.uuid}`;\n        data = {\n          startAt: this.resource.data.startAt,\n          endAt: this.resource.data.endAt || null,\n          promotionNeeded: this.resource.data.promotionNeeded,\n          createPortabilityPromotionOnActivation: this.resource.data.createPortabilityPromotionOnActivation\n        }\n        if (this.flatService.startAt === data.startAt) delete data.startAt;\n        if (this.flatService.endAt === data.endAt) delete data.endAt;\n\n        this.api.patch(endpoint, data).then(() => {\n          if (!this.resource.data.associatedPromoCodes) this.resource.data.associatedPromoCodes = [];\n          let addedPromoCode = this.flatService.associatedPromoCodes ? this.resource.data.associatedPromoCodes.filter(x => !this.flatService.associatedPromoCodes.includes(x)) : this.resource.data.associatedPromoCodes;\n          let removedPromoCode = this.flatService.associatedPromoCodes ? this.flatService.associatedPromoCodes.filter(x => !this.resource.data.associatedPromoCodes.includes(x)) : [];\n\n          this.api.get(`bo/promotions?code-in=${addedPromoCode.concat(removedPromoCode).toString()}`).then(xhr => {\n            let promises = [];\n            xhr.response.forEach(promo => {\n              if (addedPromoCode.includes(promo.code)) promises.push(this.api.post(`bo/promotions/${promo.uuid}/flat-services`, { flatServiceUuid: this.params.uuid }));\n              else if (removedPromoCode.includes(promo.code)) promises.push(this.api.delete(`bo/promotions/${promo.uuid}/flat-services/${this.params.uuid}`));\n            });\n            Promise.all(promises).then(() => {\n              this.toast.show('Servizio modificato con successo!', 'success'); \n              this.controller.ok();\n            })\n          }).catch(error => { \n            console.error('Activation of promotions failed', error); \n            this.resource.error(error);\n          })\n        }).catch(error => { \n          console.error('Edit service failed', error); \n          this.resource.error(error);\n        })\n      } else {\n        if (this.resource.data.activableByPrivilegedUserOnly === 'SPONSOR') data.activableByPrivilegedUserOnly = 'NO';\n        data.createPortabilityPromotionOnActivation = this.resource.data.createPortabilityPromotionOnActivation === true ? 'YES' : 'NO';\n        data.activableOnUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.activableOnSubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.payableByUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySponsor = ['SPONSOR'].includes(this.resource.data.payableBy);\n\n        // Transform string into number\n        if (data.price) data.price = +this.resource.data.price;\n        if (data.duration) data.duration = +this.resource.data.duration;\n        if (data.vatAmount) data.vatAmount = +this.resource.data.vatAmount;\n        if (data.multicoinPoint) data.multicoinPoint = +this.resource.data.multicoinPoint;\n\n        if (data.subscriptionExpiryType === 'DAYS') delete data.subscriptionExpireAt\n        if (data.subscriptionExpiryType === 'DATE') delete data.duration\n        delete data.subscriptionExpiryType\n        \n        delete data.payableBy;\n        delete data.activableOn;\n        if (!this.resource.data.SponsorUuid) delete data.SponsorUuid;\n\n        this.api.post(endpoint, data).then(() => { \n          this.toast.show('Servizio creato con successo!', 'success'); \n          this.controller.ok(); \n        }).catch(error => { \n          console.error('Create service failed', error);\n          this.resource.error(error);\n        });\n      }\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogFidelityCardActivationSubscriptionRecommended {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToFidelityCardsActivation() {\n    this.router.navigateToRoute('fidelity-cards/activation');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogLog {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.logs = params.operationLog;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaToast)\nexport class ServiceDialogModifyServiceExpiration {\n  resource = {\n    controls: {},\n    schema: {\n      applyStatusAt: {\n        label: 'Data scadenza',\n        control: 'date',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.data.applyStatusAt = params.service?.expireAt || null;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.patch(`users/${this.params.service.ownerId || 'me'}/flat-services-activations/${this.params.service.id}`, { status: 'EXPIRED', applyStatusAt: this.resource.data.applyStatusAt, statusReason: 'Scadenza modificata da un operatore' }).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaToast)\nexport class ServiceDialogAbbonamentiStatoServizio {\n  resource = {\n    controls: {},\n    schema: {\n      statusReason: {\n        label: 'Messaggio per il cliente',\n        control: 'textarea',\n        required: true\n      },\n      applyStatusAt: {\n        label: 'A partire da quando?',\n        control: 'datetime',\n        required: true\n      },\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n        required: true\n      }\n    },\n    data: {\n      applyStatusAt: DateTime.now().toUTC().set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true })\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  /* Messages */\n  messages =  {\n    ACTIVE: 'Riattiva una sottoscrizione a un servizio in stato di temporanea sospensione.',\n    TERMINATED: 'Chiude definitivamente una sottoscrizione ad un servizio, per riattivare il servizio sarà necessario avviare una nuova sottoscrizione.',\n    SUSPENDED: 'Sospende temporaneamente una sottoscrizione a un servizio. Non sarà comunque possible attivarne un\\'altro della stessa tipologia fino alla scandenza.'\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.message = this.messages[this.params.status];\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let data = {\n        status: this.params.status,\n        statusReason: this.resource.data.statusReason,\n        applyStatusAt: this.resource.data.applyStatusAt\n      };\n      if (this.params.status !== 'SUSPENDED') delete data.applyStatusAt;\n      this.api.patch(`users/${ this.params.service.ownerId || 'me' }/flat-services-activations/${this.params.service.id}`, data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivabili {\n  mdt = mdt;\n  searchedData;\n  endpoint = null;\n  staticTooltipServices = {\n    subtitle: 'Servizi attivabili',\n    href: 'https://docs.multidialogo.it/s/article/Gestione',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivabili-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivabili-search',\n      table: this.tableInterface,\n      schema: {\n        activable: {\n          control: 'combo',\n          label: 'Quali servizi attivabili visualizzare?',\n          datasource: [\n            { value: 'MASTER', text: 'I miei servizi attivabili' },\n            { value: 'SUBUSER', text: 'I servizi attivabili dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true\n        },\n        payable: {\n          control: 'combo',\n          label: 'Fatturazione',\n          datasource: [\n            { value: 'MASTER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'account') },\n            { value: 'SUBUSER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true,\n          query: 'payable-by'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        payable: 'SUBUSER',\n        activable: 'SUBUSER',\n        multicoinPoint: 'null'\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      return this.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  setEndpoint() {\n    let endpoint;\n    const baseUrl = `users/${this.requestedUserData?.id || 'me'}`;\n    const suffixUrl = `${this.searchInterface?.data?.activable === 'SUBUSER' ? 'subusers-activable-flat-services' : 'activable-flat-services'}`;\n\n    if (this.requestedUserData) {\n      endpoint = `${baseUrl}/activable-flat-services`;\n    } else {\n      endpoint = `${baseUrl}/${suffixUrl}`;\n    }\n    if (this.lastAcceptedServiceContract?.rescindedAt) this.tableInterface.query = 'has-cashback=NO';\n    return endpoint;\n  }\n\n  async search() {\n    this.endpoint = this.tableInterface.endpoint = this.setEndpoint();\n    if (this.requestedUserData && !this.searchInterface.data.payable) this.searchInterface.data.payable = 'MASTER';\n    if (!this.requestedUserData && this.searchInterface.data.activable === 'MASTER') this.searchInterface.data.payable = 'MASTER';\n\n    return this.searchInterface.search().then(() => {\n      this.searchedData = { ...this.searchInterface.data };\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    if (this.requestedUserData) this.searchInterface.data.payable = 'MASTER';\n    else this.searchInterface.data.activable = this.searchInterface.data.payable = 'SUBUSER';\n    this.search();\n  }\n\n  activateService($event, service) {\n    if ($event.model) $event.model.busy = true;\n    let activateOnUserId, payableByUserId, payableByUserUuid;\n    const isServiceCashbackGracePeriod = this.lastAcceptedServiceContract?.gracePeriodEndAt ? true : false;\n    const isCashbackContractNeverBeenSigned = this.lastAcceptedServiceContract?.isCashbackContractNeverBeenSigned;\n\n    if (service.multicoinPoint && !this.parent.userCurrentFidelityCard) {\n      this.tools.dialogFidelityCardRequired($event);\n    } else if (this.requestedUserData) {\n      activateOnUserId = this.requestedUserData.id;\n      payableByUserId = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentId : this.requestedUserData.id;\n      payableByUserUuid = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentUuid : this.requestedUserData.uuid;\n    } else if (this.searchedData.activable === 'MASTER') {\n      activateOnUserId = payableByUserId = this.api.user.id;\n      payableByUserUuid = this.api.user.uuid;\n    } else if (this.searchedData.activable === 'SUBUSER') {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogSubuserServiceActivation($event, service);\n      }\n    }\n\n    if (activateOnUserId && payableByUserId && payableByUserUuid) {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId);\n      }\n    }\n  }\n\n  openDialogSubuserServiceActivation($event, service) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'abbonamenti-attivazione-sottoutenti',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti'),\n      viewModelParams: { service, payable: this.searchedData.payable }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.parent.tabs.find((tab) => tab.id === 'attivi').controller.search();\n        this.tableInterface.load();\n      }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'small abbonamenti-attivazione',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione'),\n      viewModelParams: { service, payableByUserId }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled && response.output) {\n        let data = {\n          flatServiceUuid: service.id,\n          payeeUserUuid: payableByUserUuid,\n          payeeBillingProfileUuid: response.output.billing,\n          paymentMethod: response.output.payment\n        }\n\n        if (service.autoRenewable === true && data.paymentMethod === 'SDD') data.autoRenew = 'ENABLED';\n        this.api.post(`users/${activateOnUserId}/flat-services-activations`, data).then(() => {\n          this.toast.show('Servizio attivato con successo!', 'success');\n          this.parent.tabs.find(tab => tab.id === 'attivi').controller.search();\n          this.tableInterface.load();\n        }).catch((error) => {\n          this.api.dialogError(error);\n        }).finally(() => {\n          if ($event.model) $event.model.busy = false;\n        });\n      } else if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivi {\n  mdt = mdt;\n  statuses = {\n    'ACTIVE': 'Attivo',\n    'PENDING': 'In attesa di pagamento',\n    'SUSPENDED': 'Sospeso',\n    'EXPIRED': 'Scaduto',\n    'TERMINATED': 'Terminato'\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.tools = model.tools;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = [{ value: 'null', text: 'Tutti' }]\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  async init() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.searchActiveUsersChange();\n\n    this.productCodeChanged(this.searchInterface.data.productCode);\n\n    if (!this.privileges.isOperator || (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context)) {\n      this.search();\n    }\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivi-table',\n      client: this.api,\n      endpoint: null\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach((service) => {\n        this.isServiceAutoRenewDisabled(service);\n      });\n\n      return response;\n    };\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivi-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali servizi attivi visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'I servizi attivi dell\\'utente' : 'I miei servizi attivi') },\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'I servizi attivi dei sottoutenti' : 'I servizi attivi dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti')) }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status-in'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        status: 'ACTIVE',\n        user_active: true,\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n        context: !this.privileges.isOperator ? 'SUB-USER' : null\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n    });\n  }\n\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search();\n  }\n\n  updateTableInterfaceEndpoint() {\n    // Base endpoint\n    let endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    endpoint += '/flat-services-activations';\n    return this.tableInterface.endpoint = endpoint;\n  }\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && !this.searchInterface.data.user && this.searchInterface.data.user_active;\n    const queryParams = [];\n    if (this.privileges.isMaster) queryParams.push('acknowledged=YES');\n    if (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) queryParams.push('owner-status-in=ACTIVE');\n    return this.tableInterface.query = queryParams.join('&') || null;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'ACTIVE';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  showLogs(item) {\n    this.dialog.open({\n      title: 'Elenco log',\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-log'),\n      viewModelParams: item\n    }, true);\n  }\n\n  showBankTransfer(item) {\n    const legacyApi = new HttpClient();\n    legacyApi.configure(client => {\n      client.withBaseUrl(`${ENVIRONMENT.APP_URL_LEGACY}api/`);\n      client.withHeader('Accept', 'application/json');\n      client.withHeader('Authorization', this.api.accessToken);\n    });\n    legacyApi.get(`getPaymentDetail.php?order-id=${item.orderId}`).then(xhr => {\n      let response = JSON.parse(xhr.response);\n      this.dialog.open({\n        title: 'Dettagli per il pagamento mezzo bonifico',\n        type: 'alert',\n        class: 'small',\n        body: `Per completare l'attivazione del servizio è necessario effettuare il versamento di <strong>${response.totalAmount}€</strong> sul conto corrente:<br><br>\n        BENEFICIARIO: ${response.creditorCompany}<br>\n        IBAN: ${response.creditorIban}<br>\n        CAUSALE: ${response.reason}<br>\n        IMPORTO: ${response.totalAmount}<br><br>\n        Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.`\n      }, true);\n    });\n\n  }\n\n  editExpiration($event, item) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica scadenza servizio',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-scadenza'),\n      viewModelParams: { service: item }\n    }, true).whenClosed(() => {\n      this.search();\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  editStatus($event, action, item) {\n    let data = null;\n    if (action === 'sospendi') data = { status: 'SUSPENDED' };\n    if (action === 'riattiva') data = { status: 'ACTIVE' };\n    if (action === 'termina') data = { status: 'TERMINATED' };\n    if (data) {\n      $event.model.busy = true;\n      this.dialog.open({\n        title: `${action.charAt(0).toUpperCase() + action.slice(1)} servizio`,\n        class: 'small abbonamenti-stato-servizio',\n        viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio'),\n        viewModelParams: { service: item, status: data.status }\n      }, true).whenClosed(() => {\n        this.search();\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  dialogAutoRenew($event, service) {\n    this.dialog.open({\n      viewModelParams: service,\n      class: 'small abbonamenti-autorinnovo',\n      title: (service.autoRenew === 'ENABLED' ? 'Disattiva autorinnovo' : 'Attiva autorinnovo'),\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let data = { autoRenew: service.autoRenew === 'ENABLED' ? 'DISABLED' : 'ENABLED' };\n        if (service.autoRenew === 'DISABLED') data.autoRenewPaymentMethod = response.output.autoRenewPaymentMethod;\n\n        this.api.patch(`users/${service.ownerId || 'me'}/flat-services-activations/${service.id}`, data).then(() => {\n          this.toast.show(`Autorinnovo ${service.autoRenew === 'DISABLED' ? 'attivato' : 'disattivato'} con successo!`, 'success');\n          this.search();\n        }).catch(error => {\n          this.api.dialogError(error);\n        }).finally(() => { $event.model.busy = false; });\n      }\n      $event.model.busy = false;\n    });\n  }\n\n  editRenewal($event, service) {\n    $event.model.busy = true;\n    if (service.autoRenew === 'DISABLED' && (this.lastAcceptedServiceContract?.gracePeriodEndAt || this.lastAcceptedServiceContract?.rescindedAt) && service.flatServiceCashbackAmount) {\n      this.tools.dialogCashbackSubscriptionRequired($event, 'autoRenew');\n    } else {\n      this.dialogAutoRenew($event, service);\n    }\n  }\n\n  renew($event, item) {\n    $event.model.busy = true;\n    let data = {\n      autoRenew: item.autoRenew,\n      flatServiceUuid: item.flatServiceUuid,\n      payeeUserUuid: item.payeeUserUuid,\n      payeeBillingProfileUuid: item.payeeBillingProfileUuid,\n      paymentMethod: item.paymentMethod\n    }\n    this.api.post(`users/${item.ownerId || 'me'}/flat-services-activations/${item.id}/renewals`, data).then(() => {\n      this.toast.show(`Servizio rinnovato con successo!`, 'success');\n      this.search();\n    }).catch(x => {\n      this.api.dialogError(x);\n    }).finally(() => { $event.model.busy = false; });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    // Uri build\n    let query = '';\n    if (this.searchInterface?.table?._query) query = `?${decodeURIComponent(this.searchInterface.table._query)}`;\n    let path = `${this.tableInterface.endpoint}.csv`;\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        // Filename\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n\n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch(xhr => {\n        console.log('ERROR - flat-services-activations.csv download - GET', xhr);\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  isServiceAutoRenewDisabled(service) {\n    service.isAutoRenewDisabled = false; //this should be setted to false by default otherwise all buttons will be disabled because isAutoRenewDisabled = undefined;\n    const currentDate = new Date();\n\n    //I apply this check only in case of autoRenew === 'ENABLED'\n    if (service?.autoRenew === 'ENABLED') {\n      const expireAt = new Date(service?.expireAt); //expireAt date should be parsed as Date object otherwise addition / substraction ops on date couldn't be done;\n      const condition = expireAt.setDate(expireAt.getDate() - 30); //condition = the epic asked that button should be disabled if expireAt is lower tha 30 days\n      service.isAutoRenewDisabled = condition < currentDate; //so if expireAt - 30 days > today it means that expireAt is greater than 30 days so btn will not be disabled\n    }\n\n    return service;\n  }\n\n  /* dialogServiceDetail(service) {\n    this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModelParams: { ownerId: service.ownerId, flatServiceUuid: service.id },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n    });\n  } */\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiGestione {\n  mdt = mdt;\n  endpointServices = 'bo/flat-services';\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTabs();\n  }\n\n  initTabs() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: this.endpointServices,\n      query: null\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        activableOn: {\n          control: 'combo',\n          label: 'Sottoscrivibile da',\n          datasource: [{ value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: '', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'activable-on'\n        },\n        payableBy: {\n          control: 'combo',\n          label: 'Addebitabile a',\n          datasource: [{ value: 'SPONSOR', text: 'Sponsor' }, { value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'payable-by'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      this.searchInterface.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  createService() {\n    if (!this.api.hasRole('CREATE_FLAT_SERVICES')) return;\n    this.dialog.open({\n      title: 'Crea nuovo servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n\n  editService($event, service) {\n    if (!this.api.hasRole('MODIFY_FLAT_SERVICES')) return;\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor'),\n      viewModelParams: { uuid: service.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmVolture {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = false;\n  context = null;\n  contextUser = {};\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initTableSelectionInterface();\n    this.initSearchInterface();\n    this.productCodeChanged(this.searchInterface.data.productCode);\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'volture-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: (this.privileges.isMaster ? 'acknowledged=NO' : null)\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initTableSelectionInterface() {\n    this.tableSelectionInterface = new TableSelectionInterface({\n      table: this.tableInterface\n    });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'volture-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali volture visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'Le volture dell\\'utente' : 'Le mie volture')},\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'Le volture dei sottoutenti' : 'Le volture dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti'))}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' }, \n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          query: 'product-code-in'\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          query: 'type-in'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'SUB-USER' : null,\n        sdd: 'null'\n      }\n    });\n    \n    return this.searchInterface.initialize().then(() => {\n      if (!this.privileges.isOperator) this.search();\n      else if (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context) this.search();\n    });\n  }\n\n  productCodeChanged(value) {\n    // Control \"type\" related to \"productCode\"\n    if (this.searchInterface.controls?.type) {\n      this.searchInterface.data.type = null;\n      this.searchInterface.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n      this.searchInterface.controls.type.comboItemsSource = null;\n      this.searchInterface.controls.type.comboItems = null;\n    } else {\n      this.searchInterface.schema.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  search() {\n    this.tableInterface.endpoint = this.buildEndpoint();\n    this.searchInterface.search();\n  }\n\n  buildEndpoint() {\n    // Endpoint\n    this.endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) this.endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) this.endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    this.endpoint += '/flat-services-activations';\n    return this.endpoint;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'null';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  confirmSelectedServices($event) {\n    $event.model.busy = true;\n    \n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Alla data di scadenza, i servizi volturati cesseranno istantaneamente. Confermata la voltura, potrai gestire in seguito l'autorinnovo dei servizi appena volturati nella sezione <em>Servizi attivi</em>.`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.tableSelectionInterface.selectedRecords.forEach((record) => {\n          record._selection.isSelected = false;\n          record._selection.feedback = { status: 'In corso' };\n          let data = { acknowledged: \"YES\" };\n\n          promises.push(\n            // the patch wants the flat service activation UUID but its inside the id, here's the reason for the record.id\n            this.api.patch(`users/${record.ownerId}/flat-services-activations/${record.id}`, data).then(() => {\n              record._selection.feedback = { status: 'Completato' };\n            }).catch((error) => {\n              console.error(error);\n              let parsedError = JSON.parse(error.response);\n              record._selection.feedback = { status: 'Errore', message: parsedError.source?.permissions[0]?.messages[0] || parsedError.detail };\n            })\n          );\n        });\n        Promise.all(promises).finally(() => {\n          this.search();\n        });\n      }\n    });\n\n    return $event.model.busy = false;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { periodRange } from 'services/dates';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { Aurelia, inject } from 'aurelia-framework';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class viewCrediti {\n  mdt = mdt;\n  userId = 'me';\n  currentBalance = null;\n  fromDashboard = false;\n  selectedParentIsMaster = false;\n  migrationMessages = {\n    'MIGRATED-FROM-MASTER': () => `Credito trasferito da utente Master`,\n    'MIGRATED-TO-MASTER': () => `Credito trasferito verso utente Master`,\n    'MIGRATED-TO-SUBUSER': (item) => `Credito trasferito su condominio ${item.reason.migrationReceiverDisplayName}`,\n    'MIGRATED-FROM-SUBUSER': (item) => `Credito trasferito da condominio ${item.reason.migrationReceiverDisplayName}`\n  };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.router = router;\n    this.dialog = dialog;\n    this.aurelia = aurelia;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_CREDIT_TRANSACTION');\n  }\n  activate(params) {\n    this.params = params;\n    this.fromDashboard = params.source === 'dashboard';\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Credit table interface\n    this.creditTableInterface = new TableInterface({\n      name: 'credit-transactions-table',\n      client: this.api,\n      endpoint: null,\n      query: 'sort=-createdAt'\n    });\n\n    // Credit search interface\n    this.creditSearchInterface = new SearchInterface({\n      name: 'credit-transactions-table-search',\n      table: this.creditTableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali movimenti visualizzare?',\n          datasource: [\n            { value: 'me', text: 'I miei movimenti' },\n            { value: 'subusers', text: 'Di un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          required: false\n        },\n        userId: {\n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: (this.isOperator ? 'bo/users' : 'users/me/users') + '?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        parent: { \n          control: 'combo',\n          label: 'Utente',\n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datatext: 'profile[0].displayName',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        child: {\n          control: 'combo', \n          label: 'Eventuale sottoutente',\n          datasource: { table:'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'reason-order-id',\n          required: false\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti'},\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'sign',\n          required: false\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte',\n          required: false\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte',\n          required: false\n        }\n      },\n      data: {\n        type: 'null',\n        dateEnd: periodRange().end,\n        dateStart: periodRange().start\n      }\n    });\n    if (!this.isOperator && !this.creditSearchInterface.data.context) {\n      this.creditSearchInterface.data.context = 'me';\n    }\n\n    // Initialize interfaces\n    this.creditTableInterface.initialize().then(() => {\n      this.creditSearchInterface.initialize().then(() => {\n        if (this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.parent = this.params.user;\n          this.creditSearchInterface.data.child = null;\n        }\n        else if (!this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.userId = this.params.user;\n        }\n        if (this.fromDashboard) {\n          this.applyQueryFilters();\n          this.clearQueryString();\n        }\n\n        if (this.creditSearchInterface.data.orderId) this.ricerca();\n        else if (this.isOperator && this.creditSearchInterface.data.parent) this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.context === 'me') this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('credit-transactions-search initialize failed', error); });\n    }).catch(error => { console.log('credit-transactions-table initialize failed', error); });\n  }\n\n  applyQueryFilters() {\n    Object.keys(this.creditSearchInterface.schema).forEach((key) => {\n      const value = this.params?.[key];\n      if (value !== undefined) this.creditSearchInterface.data[key] = value;\n    });\n  }\n  clearQueryString() {\n    const { fragment } = this.router.currentInstruction;\n    this.router.navigate(fragment, { replace: true, trigger: false });\n  }\n\n  setParent() {\n    if (this.creditSearchInterface.controls.parent?.objectValue?.group === 'MASTER_USER') {\n      this.selectedParentIsMaster = true;\n      this.creditSearchInterface.schema.userId.datasource.table = `bo/users?include=user-profiles`+ (this.creditSearchInterface?.data?.parent ? `&parent-uuid-in=${this.creditSearchInterface.data.parent}`: '');\n    } else {\n      this.selectedParentIsMaster = false;\n    }\n    console.log(this.selectedParentIsMaster);\n  }\n\n  ricerca() {\n    // Handle userId\n    if (this.creditSearchInterface.data.context === 'me') {\n      this.userId = 'me';\n    } else if (this.creditSearchInterface.data.userId) {\n      this.userId = this.creditSearchInterface.data.userId;\n    } else if (this.creditSearchInterface.data.child) {\n      this.userId = this.creditSearchInterface.data.child;\n    } else if (this.creditSearchInterface.data.parent) {\n      this.userId = this.creditSearchInterface.data.parent;\n    }\n    // Handle required\n    if (!this.isOperator) {\n      (this.creditSearchInterface.controls.context || this.creditSearchInterface.schema.context).required = !this.creditSearchInterface.data.orderId;\n      this.creditSearchInterface.schema.userId.required = !this.creditSearchInterface.data.orderId && this.creditSearchInterface.data.context !== 'me';\n    } else {\n      this.creditSearchInterface.schema.parent.required = !this.creditSearchInterface.data.orderId;\n    }\n    // Validate\n    this.creditSearchInterface.validate().then(() => {\n      this.creditTableInterface.endpoint = `users/${this.userId}/credit-transactions`;\n      this.userProfile = null;\n      // Search\n      this.creditSearchInterface.search().then(xhr => {\n        // Credit amount\n        this.currentBalance = { filteredNoVatSubjectAmount: xhr.originalResponse.meta.filteredNoVatSubjectAmount, filteredVatSubjectAmount: xhr.originalResponse.meta.filteredVatSubjectAmount, noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n        // User profile\n        if (this.userId !== 'me') {\n          let endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n          this.api.get(`${endpoint}?include=user-profiles&id-in=${this.userId}`).then(xhr => {\n            this.userProfile = xhr.response[0].profile[0];\n            if (this.userProfile.parent && xhr.response[0].parentId) this.userProfile.parent.id = xhr.response[0].parentId;\n            this.userProfile.credit = this.currentBalance;\n          });\n        }\n      }).catch(error => { console.log('credit-transactions-search failed', error); });\n    });\n  }\n\n  ripristina() {\n    this.creditSearchInterface.reset(true).then(() => { this.userId = null; });\n  }\n\n  creditMovement(context) {\n    // Roles\n    if (context === 'transaction' && !this.api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')) return;\n    else if (context === 'transfer' && !this.api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')) return;\n\n    if (this.userProfile) {\n      this.dialog.open({\n        title: context === 'transaction' ? 'Movimento credito' : 'Trasferimento credito',\n        class: 'medium',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-credit-movement'),\n        viewModelParams: { context: context, user: this.userProfile }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n\n  getMigrationMessage(item) {\n    if (!item.reason?.migrationVerse) return '';\n\n    const messageTemplate = this.migrationMessages[item.reason.migrationVerse]\n    return messageTemplate ? messageTemplate(item) : '';\n  }\n\n  export() {\n    let records = this.creditTableInterface.data.map(x => {\n      return {\n        \"Data\": this.aurelia.resources.valueConverters.dateFormat.toView(x.createdAt).replace(/\\s/, '-'),\n        \"Account\": this.userProfile ? this.userProfile.displayName : this.api.user.profile.displayName, \n        \"Tipo\": x.sign === 'CREDIT' ? 'Ricarica' : 'Addebito',\n        \"Riferimento\": x.reason?.migrationVerse ? 'TRASFERIMENTO CREDITO' : 'MOVIMENTO CREDITO',\n        \"Importo servizio\": x.amount?.vatSubject,\n        \"Importo affrancatura (esente da IVA)\": x.amount?.noVatSubject\n      }\n    });\n    let csv = [Object.keys(records[0]).join(';')];\n    for (let record of records) {\n      let values = [];\n      for (let k of Object.keys(record)) {\n        let value = record[k];\n        values.push(value);\n      }\n      csv.push(values.join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = `${this.api.user.id}-esportazione-movimenti-credito.csv`;\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\n\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewDeposito {\n  mdt = mdt;\n  environment = ENVIRONMENT;\n  currentBalance = null;\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Bailment table interface\n    this.bailmentTableInterface = new TableInterface({\n      name: 'bailment-deposit-transactions-table',\n      client: this.api,\n      endpoint: `users/me/bailment-deposit-transactions`,\n      query: null\n    });\n\n    // Bailment search interface\n    this.bailmentSearchInterface = new SearchInterface({\n      name: 'bailment-deposit-transactions-search',\n      table: this.bailmentTableInterface,\n      schema: {\n        userId: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.isOperator\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'order-id-in'\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'transaction-type'\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte'\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: {\n        dateStart: moment().utc().startOf('month').toISOString(),\n        dateEnd: moment().utc().endOf('month').toISOString()\n      }\n    });\n    // Initialize interfaces\n    this.bailmentTableInterface.initialize().then(() => {\n      this.bailmentSearchInterface.initialize().then(() => {\n        if (this.params.user) this.bailmentSearchInterface.data.userId = this.params.user; \n        if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('bailment-deposit-transactions-search intialize failed', error); });\n    }).catch(error => { console.log('bailment-deposit-transactions-table initialize failed', error); });\n  }\n\n  ricerca() {\n    if (this.isOperator) {\n      this.userId = this.params.user || this.bailmentSearchInterface.data.userId || null;\n      if (this.userId) this.bailmentTableInterface.endpoint = `users/${this.userId}/bailment-deposit-transactions`;\n    }\n    this.bailmentSearchInterface.search().then(xhr => { \n      this.currentBalance = xhr.originalResponse.meta.currentBalance;\n    }).catch(error => { console.log('bailment-deposit-transactions-search failed', error); });\n  }\n\n  ripristina() {\n    this.bailmentSearchInterface.reset(true).then(() => {\n      this.userId = null;\n      if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      else {\n        this.init();\n        this.bailmentSearchInterface.data.userId = null;\n      }\n    });\n  }\n\n  depositTransaction() {\n    if (this.userId) {\n      this.dialog.open({\n        title: 'Ricarica credito Sms/Fax/Posta',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-deposit-transaction'),\n        viewModelParams: { userId: this.userId, userProfile: this.bailmentSearchInterface.controls.userId.objectValue.profile[0] }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreditMovement {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      amount: {\n        vatSubject: {\n          label: 'Importo servizio',\n          control: 'number',\n          required: true,\n          min: 0\n        },\n        noVatSubject: {\n          label: 'Importo affrancatura',\n          control: 'number',\n          required: true,\n          min: 0\n        }\n      },\n      sign: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Ricarica'},\n          { value: 'DEBIT', text: 'Addebito'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      reason: {\n        description: {\n          label: 'Causale',\n          control: 'text',\n          required: true\n        },\n      }\n    },\n    data: {\n      amount: { vatSubject: 0, noVatSubject: 0 },\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.context === 'transfer') {\n      // Modify datasource of sign\n      let signTransaction = { value: 'null', text: `Addebito. Trasferimento da ${this.mdt.parsers.contextualize(this.api.user, 'utente')} ${this.params.user.displayName} a ${this.params.user.parent.displayName}`};\n      this.resource.schema.sign.datasource.push(signTransaction);\n\n      // Modify reason\n      this.resource.schema.reason = { label: 'Causale', control: 'text', required: true }\n\n      // Master user credit\n      this.api.get(`users/${this.params.user.parent.id}/credit-transactions`).then(xhr => {\n        this.masterUser = { noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n      });\n    }\n    this.resource.data.sign = this.params.context === 'transaction' ? 'CREDIT' : 'null';\n  }\n\n  save() {\n    // Transaction\n    if (this.params.context === 'transaction') {\n      this.resource.validate().then(() => {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.post(`bo/users/${this.params.user.id}/credit-transactions`, this.resource.data).then(() => {\n              this.toast.show(`Movimento inserito con successo!`, 'success');\n              this.params.dialog.ok();\n            }).catch(error => {\n              console.error();\n              this.resource.error(error);\n            });\n          }\n        });\n      });\n    } \n    // Transfer\n    else if (this.params.context === 'transfer') {\n      this.resource.validate().then(() => {\n        delete this.resource.data.sign;\n        this.api.post(`users/${this.params.user.id}/credit-transfer`, this.resource.data).then(() => {\n          this.toast.show(`Trasferimento inserito con successo!`, 'success');\n          this.params.dialog.ok();\n        }).catch(error => {\n          console.error();\n          this.resource.error(error);\n        });\n      });\n    }\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogDepositTransaction {\n  resource = {\n    controls: {},\n    schema: {\n      value: {\n        label: 'Importo da movimentare',\n        control: 'number',\n        required: true\n      },\n      type: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Entrata'},\n          { value: 'DEBIT', text: 'Uscita'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      note: {\n        label: 'Causale',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      value: 0,\n      type: 'CREDIT',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        viewModelParams: { cause: 'DEPOSIT' }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.post(`bo/users/${this.params.userId}/bailment-deposit-transactions`, this.resource.data).then(() => {\n            this.toast.show(`Movimento inserito con successo!`, 'success');\n            this.params.dialog.ok();\n          }).catch(error => {\n            console.error();\n            this.resource.error(error);\n          });\n        }\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class DialogTransactionConfirm {\n  check = {\n    schema: {\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast, DialogController)\n\nexport class ServiceDialogListiniPianificazione {\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n  }\n\n  attached() {\n    this.api.get('bo/price-lists').then(xhr => {\n      this.pricelists = xhr.response;\n      this.pricelists[0].label = this.pricelists[0].label + ' - Predefinito';\n      this.init();\n    }).catch(error => {\n      console.log('ERROR - bo/ pricelists - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        code: {\n          label: 'Listino',\n          control: 'combo',\n          datasource: this.pricelists,\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          required: true\n        },\n        startAt: {\n          label: 'Data inizio intervallo',\n          control: 'date'\n        },\n        endAt: {\n          label: 'Data fine intervallo',\n          control: 'date',\n          placeholder: 'Indefinita',\n        }\n      }, \n      data: {\n        code: this.pricelists[0].code,\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          console.log(control);\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/price-list-schedules`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.controller.ok();\n      }).catch(error => {\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'elenco',\n      label: 'Listini utente',\n      vm: PLATFORM.moduleName('views/servizi/listini/tabs/listini-elenco')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }};\n    this.privileges.isOperator = this.privileges.isParent;\n    if (this.api.hasRole('LIST_ANY_USER_PRICE_LIST_SCHEDULE')) this.privileges.isOperator = true;\n    else if (this.api.hasRole('LIST_SUB_USER_PRICE_LIST_SCHEDULES')) this.privileges.isParent = true;\n  }\n}\n","import { Aurelia, inject, observable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListiniElenco {\n  mdt = mdt;\n  pricelists = null;\n  pricelistDefault = null;\n  pricelistsPending = false;\n  subusers = null;\n  allSubusers = null;\n  @observable() searchSubusers = null;\n\n  searchSubusersChanged(value) {\n    this.data.searchSubusers = value;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    this.subusers = value ? this.allSubusers.filter(x => x.profile[0].displayName.toLowerCase().includes(value.toLowerCase())) : this.allSubusers;\n\n    // DOM\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n\n    if (!value) this.data.selectedSubuser = null;\n    if (value && this.data.selectedSubuser?.id && this.subusers.find(x => x.id === this.data.selectedSubuser.id)) {\n      // DOM\n      setTimeout(() => {\n        let newSelectedSubuser = document.getElementById(this.data.selectedSubuser.id);\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.legacyLink = `https://${ENVIRONMENT.APP_DEBUG === 'true' ? 'beta.multidialogo.it' : ENVIRONMENT.APP_DEBUG === 'false' ? 'go.multidialogo.it' : ''}/scriba/utenti/box_listino_mi.html?price-list-code=`\n  }\n\n  attached() {\n    this.schema = {\n      context: {\n        label: 'Quali listini visualizzare?',\n        control: 'combo',\n        datasource: [{ value: 'ME', text: 'I miei listini' }, { value: 'SUBUSERS', text: `I listini dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}` }],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      user: {\n        label: 'Utente',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n        datavalue: 'id',\n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: false\n      }\n    }\n    this.data = JSON.parse(sessionStorage.getItem(btoa('price-lists'))) || { context: !this.privileges.isOperator ? 'ME' : null, user: this.params.id, selectedUser: null, selectedSubuser: null, searchSubusers: null };\n    if (this.privileges.isParent) this.getSubusers();\n  }\n\n  setContext() {\n    if (this.data.context === 'ME') {\n      this.data.selectedSubuser = null;\n      this.data.searchSubusers = null;\n\n      // DOM\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      oldSelectedSubuser?.classList.remove('selected');\n\n      this.getPriceLists();\n    } else if (this.data.context === 'SUBUSERS' && !this.data.selectedSubuser) this.pricelists = null;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n  }\n\n  getUser() {\n    if (this.privileges.isOperator) {\n      if (this.data.user) {\n        this.api.get(`users/${this.data.user}?include=user-profiles`).then(xhr => {\n          this.data.selectedUser = { id: xhr.response.id, group: xhr.response.group, businessType: { profile: { businessType: xhr.response.profile[0].businessType }}, displayName: xhr.response.profile[0].displayName };\n          sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n          this.getPriceLists();\n        });\n      } else { \n        this.data.selectedUser = null;\n        sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n      }\n    }\n  }\n\n  getSubusers() {\n    this.api.get('users/me/users?include=user-profiles&status=ACTIVE').then(xhr => {\n      this.allSubusers = this.subusers = xhr.response;\n      this.searchSubusers = this.data.searchSubusers;\n      if (this.data.selectedSubuser) this.selectSubuser(null);\n    }).catch(error => {\n      console.log('ERROR - subusers - GET', error);\n    });\n  }\n\n  selectSubuser(subuser) {\n    if (subuser) {\n      this.data.selectedSubuser = { id: subuser.id, displayName: subuser.profile[0].displayName };\n    }\n    else subuser = this.data.selectedSubuser;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    \n    // DOM\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = document.getElementById(subuser?.id);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0)\n\n    this.getPriceLists();\n  }\n\n  getPriceLists() {\n    this.pricelistsPending = true;\n    let user = null;\n    let url = `price-list-schedules`;\n    if (this.privileges.isOperator) {\n      user = `users/${this.data.selectedUser.id}`;\n      this.api.get(`bo/${user}/${url}`).then(xhr => {\n        this.pricelists = xhr.response;\n        this.pricelists.forEach(pricelist => { pricelist.createdAt = this.aurelia.resources.valueConverters.dateFormat.toView(pricelist.createdAt, 'DD/MM/YYYY'); });\n        this.pricelistDefault = xhr.originalResponse.meta.priceListDefault;\n        this.pricelistsPending = false;\n      }).catch(error => {\n        this.api.dialogError(error);\n        this.pricelistsPending = false;\n        console.log('ERROR - bo/ price-list-schedules - GET', error);\n      });\n    } else {\n      if (this.api.user?.id || this.data.selectedSubuser?.id) {\n        user = `users/${this.data.context === 'ME' ? this.api.user.id :  this.data.selectedSubuser.id}`;\n        this.api.get(`${user}/${url}/current`).then(xhr => {\n          this.pricelists = [];\n          this.pricelists.push(xhr.response);\n          this.api.get(`${user}/${url}/next`).then(xhr => {\n            this.pricelists.push(xhr.response);\n          }).catch(error => {\n            console.log('ERROR - promise price-list-schedules/next - GET', error);\n          }).finally(() => {\n            this.pricelistsPending = false;\n          });\n        }).catch(error => {\n          console.log('ERROR - price-list-schedules/current - GET', error);\n          this.pricelistsPending = false;\n        });\n      }\n    }\n  }\n\n  newPricelistSchedule() {\n    this.dialog.open({\n      title: 'Pianifica nuovo intervallo',\n      class: 'listini-pianificazione schedule medium',\n      viewModel: PLATFORM.moduleName('views/servizi/listini/dialogs/listini-pianificazione'),\n      viewModelParams: { userId: this.data.selectedSubuser?.id || this.data.selectedUser?.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.getPriceLists();\n    }); \n  }\n\n  subusersPricelistSchedule() {\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler applicare questa pianificazione su tutti i ${this.mdt.parsers.contextualize(this.data.selectedUser.businessType, 'utenti')} dell'utente <strong>${this.data.selectedUser.displayName}?</strong>`}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.post(`bo/users/${this.data.selectedUser?.id || 'me'}/bulk-subusers-price-list-schedules`, {}).then(() => {\n          this.toast.show(`Pianificazioni sottoutenti aggiornate con successo!`, 'success');\n        }).catch(error => {\n          console.log('ERROR bulk-subusers-price-list-schedules POST', error);\n          this.api.dialogError(error);\n        })\n      }\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmPromozioniAggiungi {\n  mdt = mdt;\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  attached() {\n    // Table Interface\n    this.tableInterface = new TableInterface({ \n      name: 'promozioni-attivabili-table', \n      client: this.api, \n      endpoint: 'bo/promotions', query: null \n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    // Search Interface\n    this.searchInterface = new SearchInterface({\n      name: 'promozioni-attivabili-table-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        expireAt: {\n          control: 'date',\n          placeholder: 'Illimitata'\n        }\n      },\n      data: {}\n    });\n\n    // Initialize & Search\n    this.tableInterface.initialize().then(() => { \n      this.searchInterface.initialize().then(() => { \n        this.searchInterface.search(); \n      });\n    });\n  }\n\n  addPromotion(event, promotion) {\n    event.model.busy = true;\n    let data = { promotionUuid: promotion.uuid, expireAt: promotion.expireAt || null };\n    this.api.post(`bo/users/${this.params.user.id}/promotion-activations`, data).then(() => {\n      this.toast.show(`Promozione assegnata con successo!`, 'success');\n      this.params.dialog.ok();\n    }).catch(xhr => {\n      console.error('Errore. Impossibile assegnare promozione', xhr);\n      let errorPayload = mdt.parsers.apiError(xhr, promotion.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }).finally(() => { event.model.busy = false; });\n  }\n\n  copyText(text, context = 'Testo') {\n    if (!text) return;\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${context} copiato con successo!`, 'success');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreatePromotion {\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  resource = {\n    controls: {},\n    schema: {\n      code: {\n        control: 'text',\n        label: 'Codice',\n        required: true\n      },\n      description: {\n        control: 'text',\n        label: 'Descrizione',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          console.log(control);\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post('bo/promotions', this.resource.data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(error => { console.log('Promotion creation promise failed'); this.resource.error(error); });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogEditPromotion {\n  resource = {\n    controls: {},\n    schema: {\n      expireAt: {\n        control: 'date',\n        label: 'Scadenza promozione',\n        placeholder: 'Illimitata',\n        validationRule: {\n          satisfies: () => {\n            if (!this.resource.data.expireAt) return true;\n            if (DateTime.fromISO(this.resource.data.expireAt).isValid) {\n              return DateTime.now() < DateTime.fromISO(this.resource.data.expireAt);\n            } else return false;\n          },\n          withMessage: 'La scadenza non pùo essere inferiore ad oggi',\n        },\n      },\n      notes: {\n        control: 'text',\n        label: 'Motivazione'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  activate(params) { \n    this.params = params;\n    this.resource.data.expireAt = this.params.promotion.expireAt || null;\n  }\n\n  save() {\n    let data = {...this.resource.data};\n    if (this.params.type === 'TERMINATE') data.expireAt = 'NOW';\n    \n    this.resource.validate().then(() => {\n      this.api.patch(`bo/users/${this.params.userId}/promotion-activations/${this.params.promotion.uuid}`, data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(xhr => { \n        console.log('Error - PATCH promotion-activations', xhr); \n        this.resource.error(xhr); \n      });\n    });\n  }\n}\n","import { PLATFORM, inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'assegnate',\n      label: 'Assegnazione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-assegnate')\n    }, {\n      id: 'gestione',\n      label: 'Gestione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-gestione')\n    }\n  ];\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { assegnate: true, gestione: false }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_ASSOCIATED_PROMOTION');\n\n    if (this.api.hasRole('LIST_PROMOTIONS')) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniAssegnate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-assegnate-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-assegnate-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali promozioni assegnate visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le promozioni assegnate a me' },\n            { value: 'subusers', text: 'Le promozioni assegnate a un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datasource: [{ text: 'Attiva', value: 'ACTIVE' }, { text: 'Terminata', value: 'EXPIRED' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'ACTIVE'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      if (this.searchInterface.data.context === 'me') this.search();\n      else if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  reset() {\n    this.selectedUserId = null;\n    this.selectedUserData = null;\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n  }\n\n  search() {\n    if (this.searchInterface.data.context === 'me') { this.selectedUserId = 'me'; }\n    else if (this.searchInterface.data.user) this.selectedUserId = this.searchInterface.data.user;\n    else {\n      this.selectedUserId = null;\n      this.selectedUserData = null;\n    }\n\n    this.tableInterface.endpoint = `users/${this.selectedUserId}/promotion-activations`;\n    this.searchInterface.search().then(() => {\n      this.getUserProfile();\n    });\n  }\n\n  getUserProfile() {\n    this.api.get(`users/${this.selectedUserId}?include=user-profiles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      this.selectedUserData = response;\n    }).catch(xhr => {\n      console.log('Error GET users', xhr);\n    });\n  }\n\n  addPromotion() {\n    this.dialog.open({\n      title: 'Assegna una promozione a',\n      class: 'large add-promotion',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-assegna'),\n      viewModelParams: { user: this.selectedUserData }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n    });\n  }\n  \n  endsPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Termina promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'TERMINATE', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n\n  editPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'EDIT', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniGestione {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotions',\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  createPromotion() {\n    if (!this.api.hasRole('CREATE_PROMOTIONS')) return;\n    this.dialog.open({\n      title: 'Crea una nuova promozione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-crea'),\n      viewModelParams: {}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmRicariche {\n  tabs = [\n    {\n      id: 'ricariche',\n      label: 'Ricariche',\n      vm: PLATFORM.moduleName('views/servizi/ricariche/tabs/ricariche-elenco')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_SHOP_CATALOG_REFILL_PACKAGE');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmRicaricheElenco {\n  mdt = mdt;\n\n  users = {\n    selected: null,\n    fetched: null\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-ricariche-elenco-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().then(() => { this.tableInterface.limit = 100; }).catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-ricariche-elenco-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ricariche visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le ricariche aquistabili da me' },\n            { value: 'subusers', text: 'Le ricariche aquistabili da un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        types: {\n          control: 'combo',\n          label: 'Tipologia',\n          datasource: [{ code: 'null', title: 'Tutte' }],\n          datavalue: 'code',\n          datatext: 'title',\n          datapreload: true,\n          datamultiple: false,\n          required: true,\n          query: 'type-code'\n        },\n        visible: {\n          control: 'combo',\n          label: 'Pacchetti visualizzabili',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'YES', text: 'Visibili all\\'utente' }],\n          datapreload: true,\n          query: 'visible'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'me' : null,\n        types: 'null',\n        visible: !this.api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES') ? 'YES' : 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {}).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  userChange() {\n    let userId = null;\n    if (this.searchInterface.data.context === 'me') { \n      userId = this.api.user.id;\n      this.searchInterface.data.user = null;\n    } else if (this.searchInterface.data.user) {\n      userId = this.searchInterface.data.user;\n    } else return;\n\n    if (!this.users[userId]) {\n      this.users[userId] = {\n        id: userId,\n        displayName: null,\n        packageTypes: [],\n        packages: [],\n        cart: JSON.parse(localStorage.getItem(`cart-${userId}`)) || {\n          quantity: 0,\n          amount: { net: 0, vat: 0 },\n          packages: {}\n        }\n      };\n      if (userId === this.api.user.id) {\n        this.users[userId].displayName = this.api.user.profile.displayName;\n      } else {\n        setTimeout(() => { this.users[userId].displayName = this.searchInterface.controls.user.objectValue.profile[0].displayName; }, 500);\n      }\n    }\n\n    this.users.selected = this.users[userId];\n    this.api.get(`users/${userId}/shop/catalog/refill-package-types`).then(xhr => {\n      this.users.selected.packageTypes = xhr.response.filter(x => x.packageCount > 0);\n      this.resetTypesDatasource();\n    });\n  }\n\n  typesChange() {\n    if (!this.searchInterface.data.types) this.searchInterface.data.types = 'null';\n    if (this.users.selected) this.search();\n  }\n\n  resetTypesDatasource() {\n    let datasource = [{ code: 'null', title: 'Tutte' }];\n    this.users.selected.packageTypes.forEach(type => {\n      datasource.push({ code: type.code, title: type.title });\n    });\n    this.searchInterface.controls.types.schemaChanged(Object.assign(this.searchInterface.schema.types, { datasource: datasource }));\n    this.searchInterface.data.types = 'null';\n  }\n\n  search() {\n    this.tableInterface.endpoint = `users/${this.users.selected.id}/shop/catalog/refill-packages`;\n    this.searchInterface.search().then(() => {\n      this.users.selected.packages = [];\n      this.users.selected.packageTypes.forEach(type => {\n        let packages = this.tableInterface.data.filter(x => x.typeCode === type.code);\n        this.users.selected.packages.push(Object.assign({ packages: packages }, type));\n      });\n      this.users.fetched = this.users[this.users.selected.id];\n      this.updateCart();\n    }).catch(error => {\n      console.log('Search error', error);\n    });\n  }\n\n  addToCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 1;\n    this.updateCart();\n  }\n\n  setQuantity(pkg, quantity) {\n    quantity = parseInt(this.users.fetched.cart.packages[pkg.code], 10) + parseInt(quantity, 10);\n    quantity = quantity > 0 ? quantity : 1;\n    this.users.fetched.cart.packages[pkg.code] = quantity;\n    this.updateCart();\n  }\n\n  removeFromCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 0;\n    this.updateCart();\n  }\n\n  getCartPayload() {\n    return Object.entries(this.users.fetched.cart.packages).filter(x => x[1] > 0).map(x => { return { code: x[0], quantity: x[1], type: 'REFILL-PACKAGE' } });\n  }\n\n  emptyCart() {\n    this.users.fetched.cart = {\n      quantity: 0,\n      amount: { net: 0, vat: 0 },\n      packages: {}\n    };\n    this.updateCart();\n  }\n\n  updateCart() {\n    let cartbar = document.querySelector('.cartbar');\n    let data = this.getCartPayload();\n    if (data.length) {\n\n      this.api.post(`users/${this.users.fetched.id}/shop/cart-cost-forecast`, data).then(xhr => {\n        setTimeout(() => { \n          this.users.fetched.cart.quantity = xhr.response.totalBasketItems;\n          this.users.fetched.cart.amount.net = xhr.response.totalBasketNetAmount;\n          this.users.fetched.cart.amount.vat = xhr.response.totalBasketVat;\n          localStorage.setItem(`cart-${this.users.fetched.id}`, JSON.stringify(this.users.fetched.cart));\n        }, 500);\n      }).catch(error => {\n        this.api.dialogError(error);\n        let storageCart = JSON.parse(localStorage.getItem(`cart-${this.users.fetched.id}`));\n        if (storageCart) {\n          this.users.fetched.cart = storageCart;\n        } else {\n          this.emptyCart();\n        }\n      }).finally(() => {\n        if (!(this.getCartPayload()).length) return;\n        if (cartbar.classList.contains('filled')) cartbar.classList.add('added');\n        else setTimeout(() => { cartbar.classList.add('filled'); }, 500);\n        setTimeout(() => { cartbar.classList.remove('added'); }, 1000);\n      });\n    } else {\n      localStorage.removeItem(`cart-${this.users.fetched.id}`);\n      cartbar.classList.remove('filled');\n    }\n  }\n\n  checkout(event) {\n    let data = this.getCartPayload();\n    if (!data.length) return;\n    event.model.busy = true;\n    this.api.post(`users/${this.users.fetched.id}/shop/cart/items`, data).then(() => {\n      this.gotoLegacy();\n    }).catch(error => {\n      this.api.dialogError(error);\n      console.error('Errore. Pacchetti non aggiunti al carrello', error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=cart&requiredUser=${this.users.fetched.id}`, '_blank');\n      this.emptyCart();\n    }).catch(error => { console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogBankTransfer {\n  prececkout = null;\n\n  static inject = [Api, Aurelia, KaToast, DialogController];\n  constructor(api, aurelia, toast, controller) {\n    this.api = api;\n    this.aurelia = aurelia;\n    this.toast = toast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.getPrececkout();\n  }\n\n  getPrececkout() {\n    this.api.get(`users/${this.params.queue.owner.id}/queues/${this.params.queue.uuid}/pre-checkout/current`).then(xhr => {\n      this.prececkout = xhr.response;\n      this.email = {\n        address: this.prececkout.paymentCoors.customerCareEmail,\n        subject: `Pagamento spedizione con causale ${this.prececkout.paymentCoors.confirmationShortCode}`,\n        body: `Comunico di aver eseguito il pagamento tramite bonifico tradizionale per la spedizione relativa a ${this.prececkout.paymentCoors.payeeDisplayName} del ${this.aurelia.resources.valueConverters.dateFormat.toView(this.prececkout.createdAt, 'DD/MM/YYYY HH:mm')}.\\n\\nIn allegato la distinta di  pagamento.\\n\\nSi prega di non modificare il contenuto dell'email.`\n      }\n      this.email.mailto = encodeURI(`mailto:${this.email.address}?subject=${this.email.subject}&body=${this.email.body}`);\n      this.customerCareConfirmation = this.prececkout.paymentCoors.customerCareConfirmation.replace(/SLA\\./, '<a href=\"https://termsofservice.multidialogo.it/multidialogo/sla\" target=\"blank_\">SLA.</a>');\n    }).catch(xhr => {\n      console.error('Error - GET pre-checkout/current', xhr);\n      this.api.dialogError(xhr);\n    });\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport {inject} from \"aurelia-framework\";\n\n\n@inject(Api, KaToast )\nexport class DialogLegacyHistory {\n  archiveLabel;\n\n  constructor(api, toast ) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  resource = {\n    schema: {\n      archive: {\n        control: 'combo',\n        label: 'Canali',\n        datasource: [\n          { value: 'mailing_archive', text: 'Email/PEC' },\n          { value: 'mi_archive', text: 'Posta/Multicerta' },\n        ],\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      archive: 'mailing_archive',\n    }\n  }\n\n  toLegacyArchive() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      const token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=${this.resource.data.archive}`);\n    }).catch((error) => { console.error(error) }).finally(() => { this.toast.consume(); });\n  }\n\n  setArchiveLabel() {\n    this.archiveLabel = this.resource.schema.archive.datasource.find(item => item.value === this.resource.data.archive)?.text;\n  }\n\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageCostDetail {\n  costVoices\n  \n  activate(params) {\n    this.costVoices = params.message.costVoices;\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageStatusTransitionsHistory {\n  message;\n  isLoading;\n  messageStatuses = {};\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.message = params.message;\n    this.queueMessages = params.queueMessages;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isLoading = true;\n    this.getMessageStatuses().then((xhr) => {\n      this.setMessageStatuses(xhr.response);\n    }).catch((error) => {\n      console.error('getMessageStatuses', error);\n      this.controller.cancel();\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.isLoading = false;\n    });\n  }\n\n  getMessageStatuses() {\n    return this.api.get(`queue-message-status-codes`);\n  }\n\n  setMessageStatuses(response) {\n    response.forEach((status) => { \n      this.messageStatuses[status.code] = status;\n    });\n    return response;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogQueueCostDetail {\n  costVoices;\n  isPendingInit = true;\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.costVoices = params.record.costVoices;\n    this.record = params.record;\n  }\n\n  attached() {\n    this.appendH2QueueInfo();\n    this.init();\n  }\n\n  detached() {\n    this.costDetailWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n\n  init() {\n    this.isPendingInit = true;\n    new Promise(resolve => setTimeout(resolve, 1000))\n      .then(() => {\n        this.isPendingInit = false;\n      })\n      .finally(() => {\n        this.expandWrapper();\n      });\n  }\n\n  appendH2QueueInfo() {\n    const h2 = document.querySelector('ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2');\n    const outer = document.createElement('div');\n    outer.className = 'outer';\n    outer.innerHTML = `\n      <div class=\"queue-info\">\n        <small><span>Spedizione: </span> ${this.record.sendCode}</small>\n      </div>\n    `;\n    h2.append(outer);\n  }\n\n  expandWrapper() {\n    if (!this.costDetailWrapper) return;\n    this.costDetailBody.style.overflow = 'hidden';\n    requestAnimationFrame(() => {\n      this.costDetailWrapper.style.height = `${this.costDetailWrapper.scrollHeight}px`;\n      this.costDetailWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.costDetailWrapper.style.height = 'auto';\n      this.costDetailBody.style.overflow = '';\n    };\n    this.costDetailWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogInterruptDelivery {\n  paidChannels = ['sendposta', 'multibox', 'multicerta'];\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.parent = params.parent;\n    this.viewModel = params.viewModel;\n    this.queue = params.queue;\n    this.api = this.parent.api;\n    this.toast = this.parent.toast;\n    this.queueProperties = this.parent.queueProperties;\n    this.queueSendCode = this.queue.sendCode;\n    this.printCosts = this.hasPrintCosts(this.queue);\n  }\n\n  attached() {\n    this.appendH2QueueInfo();\n  }\n\n  appendH2QueueInfo() {\n    const h2 = document.querySelector('ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2');\n    const outer = document.createElement('div');\n    outer.className = 'outer';\n    outer.innerHTML = `\n      <div class=\"queue-info\">\n        <small><span>Spedizione: </span> ${this.queueSendCode}</small>\n      </div>\n    `;\n    h2.append(outer);\n  }\n\n  hasPrintCosts(queue) {\n    return queue.usedChannels.some((channel) => this.paidChannels.includes(channel))\n  }\n\n  interruptDelivery(event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    const data = { status: 'DISCONTINUED' };\n    return this.api.patch(`users/${this.queue.owner.id}/queues/${this.queue.uuid}`, data).then(() => {\n      this.queueProperties.uuidQueueToUpdate = this.queue.uuid;\n      this.toast.show('Consegna interrotta con successo!', 'success');\n      return this.viewModel.search();\n    }).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\nexport class DialogQueueMessagePreview {\n  resizeObserver;\n  queueMessageHtml;\n  abortController;\n\n  static inject = [Api, Aurelia, DialogController];\n  constructor(api, aurelia, controller) {\n    this.api = api;\n    this.aurelia = aurelia;\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params.params;\n    this.message = this.params.message;\n  }\n  attached() {\n    this.abortController = new AbortController();\n    this.init();\n  }\n  detached() {\n    this.abortController.abort();\n    this.resizeObserver?.disconnect();\n  }\n  setIframeHeight(iframe) {\n    iframe.addEventListener('load', () => {\n      const contentDocument = iframe.contentDocument;\n      this.injectBaseTag(contentDocument);\n      this.injectTargetRel(contentDocument);\n      this.resizeObserver = new ResizeObserver(() => {\n        contentDocument.body.style.margin = 0;\n        contentDocument.body.style.display = 'block';\n        contentDocument.body.style.overflow = 'hidden';\n        iframe.style.height = contentDocument.body.scrollHeight + 20 + 'px';\n        this.isInitPending = false;\n      });\n      this.resizeObserver.observe(contentDocument.body);\n    }, { signal: this.abortController.signal });\n  }\n  init() {\n    this.getQueueMessageHtml();\n    this.appendH2MessageInfo();\n  }\n  appendH2MessageInfo() {\n    const h2 = document.querySelector('ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2');\n    const channel = this.aurelia.resources.valueConverters.queueChannelFormat.toView(this.message.channel);\n    const outer = document.createElement('div');\n    outer.className = 'outer';\n    outer.innerHTML = `\n      <div class=\"queue-info\">\n        <small><span>Canale: </span> ${channel}</small><small><span>Destinatario: </span>${this.message.recipient?.label}</small>\n      </div>\n    `;    \n    h2.append(outer);\n  }\n  getQueueMessageHtml() {\n    const delay = 1000;\n    this.isInitPending = true;\n    return Promise.all([\n      this.api.get(`users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/messages/${this.message.uuid}/html-body`),\n      new Promise((resolve) => setTimeout(resolve, delay))\n    ]).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const response = xhr.response;\n        if (response?.type === 'queue-message-html-bodies') {\n          const response = xhr.response;\n          const frame = document.getElementById(this.message.uuid);\n          frame.srcdoc = response.body;\n          this.setIframeHeight(frame);\n        }\n      })\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n  injectBaseTag(contentDocument) {\n    const base = contentDocument.createElement('base');\n    base.target = '_blank';\n    contentDocument.head.insertBefore(base, contentDocument.head.firstChild);  \n  }\n  injectTargetRel(contentDocument) {\n    const links = contentDocument.querySelectorAll('a[href]');\n    \n    links.forEach((link) => {\n      link.setAttribute('rel', 'noopener noreferrer');\n    });\n  }\n}\n","import moment from 'moment';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\nexport class DialogQueuePayment {\n  order;\n  orderId;\n  DEFAULT_DATE_RANGE_MONTHS = 11;\n  isErrorInit;\n  isNotFound;\n  isPendingInit = true;\n  paymentMethodLabel;\n  billingProfileOwner;\n  isOrderUnavailable;\n  orderStatuses = {\n    'A': { text: 'In attesa di pagamento', class: 'pending' },\n    'C': { text: 'Pagato', class: 'success' },\n    'I': { text: 'Insoluto', class: 'error' }\n  };\n\n  static inject = [DialogController, MdDatasources];\n  constructor(controller, mdDatasources) {\n    this.controller = controller;\n    this.mdDatasources = mdDatasources;\n  }\n\n  activate(model) {\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.tools = this.parent.tools;\n    this.queue = model.queue;\n    this.paymentMethods = this.setPaymentMethods();\n  }\n\n  attached() {\n    this.appendH2QueueInfo();\n    this.init();\n  }\n\n  detached() {\n    this.paymentWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n\n  init() {\n    const delay = 1500;\n    this.isPendingInit = true;\n    let promises = [\n      new Promise((resolve) => setTimeout(resolve, delay)),\n      this.getQueueData()\n    ];\n    return Promise.all(promises).then(([, xhr]) => {\n      const billingProfile = xhr.response.billingProfileDetails;\n      const createdAt = this.queue.createdAt;\n      this.orderId = billingProfile ? billingProfile.id : null;\n      return this.orderId && createdAt && moment.utc(createdAt).isValid()\n        ? this.getOrderData(this.orderId)\n        : null;\n    }).then((orderXhr) => {\n      this.order = orderXhr ? orderXhr.response[0] : null;\n      this.isNotFound = !this.orderId;\n      this.isOrderUnavailable = !!this.orderId && !this.order;\n      if (this.order) this.setOrderLabels();\n    }).catch((error) => {\n      console.error('GET queue-outlines / orders', error);\n      this.isErrorInit = true;\n    }).finally(() => {\n      this.isPendingInit = false;\n      setTimeout(() => {\n        this.expandWrapper();\n      }, 0);    \n    });\n  }\n  \n  appendH2QueueInfo() {\n    const h2 = document.querySelector('ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2');\n    const outer = document.createElement('div');\n    outer.className = 'outer';\n    outer.innerHTML = `\n      <div class=\"queue-info\">\n        <small><span>Spedizione: </span> ${this.queue.sendCode}</small>\n      </div>\n    `;    \n    h2.append(outer);\n  }\n\n  expandWrapper() {\n    if (!this.paymentWrapper) return;\n    this.paymentBody.style.overflow = 'hidden';\n    requestAnimationFrame(() => {\n      this.paymentWrapper.style.height = `${this.paymentWrapper.scrollHeight}px`;\n      this.paymentWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.paymentWrapper.style.height = 'auto';\n      this.paymentBody.style.overflow = '';\n    };\n    this.paymentWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n\n  getQueueData() {\n    return this.api.get(`users/${this.queue.owner.id}/queue-outlines/${this.queue.uuid}`);\n  }\n\n  getOrderData(orderId) {\n    const endpoint = this.api.hasRole('LIST_ANY_USER_ORDER') ? 'bo/orders' : 'users/me/orders/~all';\n    return this.api.get(endpoint, {\n      'order-id-in': orderId,\n      'created-at-gte': moment.utc(this.queue.createdAt).format(),\n      'created-at-lte': this.setDateRangeEnd()\n    });\n  }\n\n  setDateRangeEnd() {\n    const start = moment.utc(this.queue.createdAt);\n    const limit = start.clone().add(this.DEFAULT_DATE_RANGE_MONTHS, 'months');\n    return moment.max(start, moment.min(moment.utc(), limit)).format();\n  }\n\n  setPaymentMethods() {\n    const paymentMethods = [\n      ...(this.mdDatasources.paymentMethods || []),\n      { code: 'LICENZACAL', label: 'Prelievo da deposito cauzionale' }\n    ];\n    return new Map(paymentMethods.map((method) => [method.code, method.label]));\n  }\n\n  setOrderLabels() {\n    const billingProfile = this.order.billingProfileDetails;\n    this.paymentMethodLabel = this.paymentMethods.get(this.order.paymentMethod);\n    this.billingProfileOwner = billingProfile ? this.parseBillingProfileOwner(billingProfile) : null;\n  }\n\n  parseBillingProfileOwner(billingProfile) {\n    return billingProfile.companyName\n      || [billingProfile.lastName, billingProfile.firstName].filter(Boolean).join(' ')\n      || billingProfile.userDisplayName;\n  }\n\n  navigateToOrder(orderId) {\n    const url = `contabilita/orders/${orderId}`;\n    this.controller.cancel();\n    return this.parent.router.navigate(url);\n  }\n}\n","import { PLATFORM } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogQueueSender {\n  sender;\n  isClosed;\n  usesPec;\n  usesEmail;\n  usesPosta;\n  isErrorInit;\n  usesMultibox;\n  usesMulticerta;\n  isPendingInit = true;\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(model) {\n    this.parent = model.parent;\n    this.api = this.parent.api;\n    this.dialog = this.parent.dialog;\n    this.tools = this.parent.tools;\n    this.queue = model.queue;\n\n    const usedChannels = this.queue.usedChannels || [];\n    const isEmailForwardingUsed = this.queue.emailForwardingUsed === 'YES';\n    this.usesEmail = usedChannels.includes('sendemail') || isEmailForwardingUsed;\n    this.usesPec = usedChannels.includes('pec');\n    this.usesMulticerta = usedChannels.includes('multicerta');\n    this.usesPosta = usedChannels.includes('sendposta');\n    this.usesMultibox = usedChannels.includes('multibox');\n  }\n\n  attached() {\n    this.appendH2();\n    this.init();\n  }\n\n  detached() {\n    this.isClosed = true;\n  }\n\n  init() {\n    const delay = 1500;\n    this.isPendingInit = true;\n    let promises = [new Promise((resolve) => setTimeout(resolve, delay)), this.getSenderData()];\n    return Promise.all(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const response = xhr?.response;\n        if (response?.type === 'queue-sender') {\n          this.sender = response;\n          this.appendSenderInfo();\n        }\n      })\n    }).catch((error) => {\n      this.isErrorInit = true;\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isPendingInit = false;\n      setTimeout(() => {\n        this.expandWrapper();\n      }, 0);\n    })\n  }\n\n  appendH2() {\n    const h2 = document.querySelector('ux-dialog.queue-sender ux-dialog-header .dialog-header-content h2');\n    if (!h2) return;\n    h2.insertAdjacentHTML('beforeend', `<span class=\"limitwdith\">Dati mittente: <span class=\"text-color sender-name\"></span></span>`);\n  }\n  appendSenderInfo() {\n    const span = document.querySelector('ux-dialog.queue-sender ux-dialog-header .dialog-header-content h2 span.sender-name');\n    if (!span) return;\n    span.insertAdjacentHTML('beforeend', `${this.sender.addressLines[0]}`);\n    span.style.opacity = '1';\n  }\n\n  getSenderData() {\n    return this.api.get(`users/${this.queue.owner.id}/queues/${this.queue.uuid}/sender`);\n  }\n\n  dialogMultibox(multibox) {\n    this.dialog.open({\n      class: 'small report-multibox-detail',\n      title: 'Dettaglio Multibox',\n      viewModelParams: { multibox },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-multibox-detail')\n    }, true);\n  }\n\n  navigateToEnvelopeLogo(uuid) {\n    this.tools.navigateTo(null, null, `impostazioni/posta?ka-tab-t=loghi&envelopeLogoUuid=${uuid}`);\n    this.controller.cancel();\n  }\n\n  expandWrapper() {\n    if (!this.senderWrapper) return;\n    this.senderBody.style.overflow = 'hidden';\n    requestAnimationFrame(() => {\n      this.senderWrapper.style.height = `${this.senderWrapper.scrollHeight}px`;\n      this.senderWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.senderWrapper.style.height = 'auto';\n      this.senderBody.style.overflow = '';\n    };\n    this.senderWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components'\nimport { MdFileViewer } from 'services/md-files';\nimport { TableInterface } from 'classes/md-table';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportAttachments {\n  queueUuid;\n  endpoint;\n  errorInit;\n  pendingInit;\n  messageUuid;\n  attachments;\n  globalCover;\n  queueOwnerId;\n  globalStaple;\n  fastDelivery;\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, kaDialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = kaDialog;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.queueUuid = params.queueUuid;\n    this.messageUuid = params.messageUuid;\n    this.queueOwnerId = params.queueOwnerId;\n    this.messageChannel = params.messageChannel;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n    this.endpoint = `users/${this.queueOwnerId}/queues/${this.queueUuid}/messages/${this.messageUuid}/file-attachments`;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-report-attachments',\n      endpoint: this.endpoint\n    });\n    this.tableInterface.initialize().then(() => {\n      this.tableInterface.load().then((xhr) => {\n        this.globalCover = xhr.originalResponse.meta.globalCover;\n        this.globalStaple = xhr.originalResponse.meta.globalStaple;\n        this.fastDelivery = xhr.originalResponse.meta.fastDelivery;\n      }).catch(() => {\n        this.errorInit = true;\n      }).finally(() => {\n        this.pendingInit = false;\n      });\n    });\n  }\n\n  downloadFile(slug, attachment, event) {\n    if (event) event.model.busy = true;\n    const uri = `${this.endpoint}/${attachment.uuid}/${slug}`;\n    const filename = attachment.filename.substring(0, attachment.filename.lastIndexOf('.')) || attachment.filename;\n    const download = `${filename}${slug === 'signed-download' ? '-signed' : ''}`;\n\n    return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader(\"Accept\", \"application/pdf\")\n        .withHeader(\"Content-Type\", \"application/pdf\")\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          const anchor = document.createElement(\"a\");\n          const blob = new Blob([xhr.response], { type: 'application/pdf' });\n          const url = URL.createObjectURL(blob);\n\n          anchor.href = url;\n          anchor.download = download;\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show('Documento scaricato con successo!', 'success');\n        }).catch((error) => {\n          console.error(uri , error);\n          this.toast.show('Impossibile scaricare il file!', 'error');\n        }).finally(() => {\n          if (event) event.model.busy = false;\n        });\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportMultiboxDetail {\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.multibox = params.multibox;\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components'\nimport { DialogController, DialogService } from 'aurelia-dialog';\nimport { SearchInterface, TableInterface } from 'classes/md-table';\n\nexport class DialogReportQueueResend {\n  isErrorInit;\n  allSelected;\n  isPendingInit;\n  allPageSelected;\n  numberSelected = 0;\n  selectableRecipients = {};\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.queueSendCode = params.queue.sendCode;\n    this.queueOwner = params.queue.owner.id;\n    this.queueUuid = params.queue.uuid;\n  }\n  async attached() {\n    this.appendH2QueueInfo();\n    await this.setDefaults();\n    this.init();\n  }\n  detached() {\n    this.queueResendWrapper?.removeEventListener('transitionend', this.handleExpandWrapper);\n  }\n  async init() {\n    this.isPendingInit = true;\n    await Promise.all([this.initTableInterface(), this.initSearchInterface()]);\n    this.search();\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`,\n      name: `report-queue-resend-table-${this.queueUuid}`\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.handlePageSelection();\n    });\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: `report-queue-resend-table-search-${this.queueUuid}`,\n      table: this.tableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Ricerca destinatario',\n          query: 'text-search-like'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datapreload: false,\n          datamultiple: true,\n          query: 'channel-in',\n          datasource: [\n            { text: 'PEC', value: 'pec' },\n            { text: 'Posta', value: 'sendposta' },\n            { text: 'Email', value: 'sendemail' },\n            { text: 'Multibox', value: 'multibox' },\n            { text: 'Multicerta', value: 'multicerta' },\n          ]\n        }\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n  appendH2QueueInfo() {\n    const h2 = document.querySelector('ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2');\n    const outer = document.createElement('div');\n    outer.className = 'outer';\n    outer.innerHTML = `\n      <div class=\"queue-info\">\n        <small><span>Spedizione: </span> ${this.queueSendCode}</small>\n      </div>\n    `;    \n    h2.append(outer);\n  }\n  // Get functions\n  search() {\n    return this.searchInterface.search().then(() => {\n      this.isErrorInit = false;\n    }).catch(() => {\n      this.isErrorInit = true;\n    }).finally(() => {\n      setTimeout(() => {\n        this.isPendingInit = false;\n        this.waitForTableResize().then(() => this.expandWrapper());\n      }, 1500);\n    });\n  }\n  waitForTableResize() {\n    if (!this.mdTableWrapperEl) return Promise.resolve();\n    return new Promise((resolve) => {\n      let settled = false;\n      const observer = new ResizeObserver((entries) => {\n        if (settled) return;\n        const height = entries[0].contentRect.height;\n        if (height > 0) {\n          settled = true;\n          observer.disconnect();\n          resolve();\n        }\n      });\n      observer.observe(this.mdTableWrapperEl);\n    });\n  }\n  getAllUuid() {\n    return this.api.get(`users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`).then((xhr) => {\n      const response = xhr.response;\n      return response.map(recipient => recipient.uuid);\n    }).catch((error) => {\n      console.error('GET all recipients uuid', error);\n      return [];\n    });\n  }\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n  openCopiedQueueInSenderUi(owner, queueUuid) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      const token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${owner}&draft=${queueUuid}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter();\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.updateCounter();\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    });\n  }\n\n  // Post functions\n  createNewDraft() {\n    let recipientsUuid = [...this.getSelectedsKeys()];\n    const data = { recipientsUuid };\n    const endpoint = `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/copy`;\n\n    return this.api.post(endpoint, data).then((xhr) => {\n      const response = xhr.response;\n      const newDraftUuid = response.uuid;\n      this.openCopiedQueueInSenderUi(this.queueOwner, newDraftUuid);\n    }).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('Draft creation failed:', error);\n      this.toast.show(`Errore durante la creazione della bozza!`, 'error');\n    });\n  }\n\n  // Set functions\n  async setDefaults() {\n    this.selectableRecipients = { ...await this.getDeafaultSelectableRecipients() };\n    this.numberSelected = this.getSelectedsCount();\n    this.allSelected = true;\n    this.allPageSelected = true;\n  }\n\n  // Utility\n  getSelectedsCount = () => Object.values(this.selectableRecipients).filter(value => value).length;\n  getSelectedsKeys = () => Object.keys(this.selectableRecipients).filter(key => this.selectableRecipients[key]);\n  switchAllSelectedButton = () => this.allSelected = !this.allSelected;\n\n  async getDeafaultSelectableRecipients() {\n    const allUuidsMap = new Map();\n    let selectableRecipients = {};\n    this.allUuids = await this.getAllUuid();\n    this.allUuids.forEach(uuid => allUuidsMap.set(uuid, true));\n    return selectableRecipients = Object.fromEntries(allUuidsMap);\n  }\n  selectAll(select) {\n    Object.keys(this.selectableRecipients).forEach(key => {\n      this.selectableRecipients[key] = select;\n    });\n    this.numberSelected = this.getSelectedsCount();\n    this.allPageSelected = select;\n    this.switchAllSelectedButton();\n  }\n  togglePageSelection($event) {\n    this.tableInterface.data.map(record => {\n      this.selectableRecipients[record.uuid] = $event.target.checked;\n    });\n    this.numberSelected = this.getSelectedsCount();\n  }\n  handlePageSelection() {\n    this.allPageSelected = this.tableInterface.data.every(item => !!this.selectableRecipients[item.uuid]);\n  }\n  toggleRecipientSelection = () => {\n    this.numberSelected = this.getSelectedsCount();\n    this.handlePageSelection();\n  };\n  expandWrapper() {\n    this.queueResendBody.style.overflow = 'hidden';\n    requestAnimationFrame(() => {\n      this.queueResendWrapper.style.height = this.queueResendWrapper.scrollHeight + 'px';\n      this.queueResendWrapper.style.opacity = '1';\n    });\n    this.handleExpandWrapper = () => {\n      this.queueResendWrapper.style.height = 'auto';\n      this.queueResendBody.style.overflow = '';\n    };\n    this.queueResendWrapper.addEventListener('transitionend', this.handleExpandWrapper, { once: true });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService)\nexport class ViewPending {\n  mdt = mdt;\n  context = null;\n  select = {\n    recordsSelected: {},\n    someRecordsSelected: false,\n    allRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.id] = !this.select.recordsSelected[record.id];\n      this.select.allRecordsSelected = Object.values(this.select.recordsSelected).every(x => x === true);\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some(x => x === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      Object.keys(this.select.recordsSelected).forEach((key) => {\n        this.select.recordsSelected[key] = this.select.allRecordsSelected ? true : false;\n      });\n    },\n    parseRecordsSelected: (stack, records) => {\n      Object.keys(stack).forEach(key => {\n        if (!records.find(x => x.id === key)) {\n          delete stack[key];\n          delete stack.__observers__[key];\n        }\n      });\n      return stack;\n    }\n  }\n\n  constructor(router, api, toast, dialog, dialogService) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.updateCounter();\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('queue-drafts-table-search-data')))?.context || 'USER';\n    this.context = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'queue-drafts-table',\n      client: this.api,\n      endpoint: null,\n      query: 'statusCode-in=ACTIVE'\n    });\n    this.tableInterface.initialize().catch(error => {\n      return console.log('tableInterface initialization failed', error);\n    });\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'queue-drafts-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: [\n            {\n              value: 'USER&SUBUSERS',\n              text: `Tutte`,\n            },\n            {\n              value: 'USER',\n              text: `Le spedizioni del mio ${mdt.parsers.contextualize(this.api.user, 'account')}`,\n            },\n            {\n              value: 'SUBUSERS',\n              text: `Le spedizioni dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`,\n            }\n          ]\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'search-recipients-text'\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: 'users/me/users?include=user-profiles',\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        payment_method: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'SDD', text: 'SDD' },\n            { value: null, text: 'Qualsiasi' },\n          ],\n          query: 'payment-method'\n        },\n        send_code: {\n          label: 'Codice spedizione',\n          control: 'text',\n          query: 'sendcode'\n        },\n        short_confirmation_code: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        topic: {\n          label: 'Promemoria',\n          control: 'text',\n          query: 'topic'\n        }\n      },\n      data: {\n        context: 'USER&SUBUSERS'\n      }\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      // I remove from the recordsSelected the records that are not actually displayed\n      this.select.recordsSelected = this.select.parseRecordsSelected(this.select.recordsSelected, response);\n      this.select.someRecordsSelected = this.select.allRecordsSelected = false;\n      return response;\n    };\n\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.totalGrossGte = 0;\n      return this.search();\n    }).catch(error => {\n      return console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  async search() {\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n\n  setEndpoint() {\n    let contextSuffix = this.searchInterface?.data?.context === 'USER' ? '' :\n      this.searchInterface?.data?.context === 'SUBUSERS' && !this.searchInterface.data.owner ? '~subs' :\n        this.searchInterface?.data?.context === 'SUBUSERS' && this.searchInterface.data.owner ? '' : '~all';\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' ? null : this.searchInterface.data.owner;\n    let endpoint = `users/${this.searchInterface.data.owner || 'me'}/queue-drafts-outlines/${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.context = 'USER&SUBUSERS';\n    this.search();\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editDraft(record) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.userId}&draft=${record.id}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter().then(() => { this.search(); });\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    })\n  }\n\n  deleteDraft(record) {\n    this.dialog.open({\n      title: 'Elimina bozza',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">La bozze verrà eliminata.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${record.owner.userId}/queue-drafts/${record.id}`).then(() => {\n            this.updateCounter().then(() => { this.search(); });\n            this.toast.show('Bozza eliminata con successo!', 'success');\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            this.api.dialogError(error);\n          });\n        }\n      });\n  }\n\n  deleteSelectedDrafts($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Elimina bozze',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">Le bozze selezionate verranno eliminate.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = [];\n          let selectedDrafts = Object.entries(this.select.recordsSelected).filter(x => x[1] === true);\n          selectedDrafts.forEach(selected => {\n            let draft = this.tableInterface.data.find(x => x.id === selected[0]) || null;\n            if (draft) promises.push(this.api.delete(`users/${draft.owner.userId}/queue-drafts/${draft.id}`));\n          });\n\n          Promise.all(promises).then(() => {\n            this.toast.show('Bozze eliminate con successo!', 'success');\n            this.updateCounter().then(() => { this.search().finally(() => { $event.model.busy = false; }); });\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            $event.model.busy = false;\n            this.toast.show('Errore in fase di eliminazione bozze!', 'error');\n          });\n        } else $event.model.busy = false;\n      })\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, MdDatasources)\nexport class ViewPending {\n  mdt = mdt;\n  isOperator;\n  contextPath;\n  pendingSearch;\n  paymentMethods;\n  contextDatasource;\n  possiblyRequiredFields = ['shortConfirmationCode', 'shipment', 'owner'];\n\n  constructor(router, api, toast, dialog, dialogService, mdDatasources) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n    this.mdDatasources = mdDatasources;\n    this.isOperator = this.api.hasRole('LIST_ANY_QUEUE');\n  }\n\n  activate(params) {\n    this.params = params;\n    this.paymentMethods = this.setPaymentMethod();\n  }\n\n  attached() {\n    this.setContextPath();\n    this.init();\n  }\n\n  setContextPath() {\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('pending-queues-table-search-data')))?.context || 'USER';\n    this.contextPath = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n  }\n\n  setPaymentMethod() {\n    const map = new Map();\n    map.set('CREDIT', { label: 'Credito MultiDialogo' });\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods?.forEach((method) => {\n      if (method.code === 'E-PAYMENT') method.label = 'PayPal';\n      map.set(method.code, method); \n    });\n    return Object.fromEntries(map.entries());\n  }\n\n  changeContext(search = this.pendingSearch === undefined) {\n    let path = '~all';\n    const context = this.searchInterface?.data?.context;\n    if (!this.isOperator && !context) this.searchInterface.data.context = 'USER&SUBUSERS';\n    else if (this.isOperator || context === 'USER') path = '';\n    else if (context === 'SUBUSERS') path = '~subs';\n    this.contextPath = path;\n    if (search) this.search();\n  }\n\n  setEndpoint() {\n    const owner = this.searchInterface?.data?.owner;\n    let endpoint = `users/me/queue-outlines/${this.contextPath}`;\n    if (owner) endpoint = `users/${owner}/queue-outlines`;\n    else if (this.isOperator && !owner) endpoint = `bo/queue-outlines`;\n    return endpoint;\n  }\n\n  setContextDatasource() {\n    const datasource = [];\n    const utenti = mdt.parsers.contextualize(this.api.user, 'utenti');\n    const account = mdt.parsers.contextualize(this.api.user, 'account');\n    const _datasource = {\n      'USER': { text: `Le spedizioni del mio ${account}` },\n      'SUBUSERS': { text: `Le spedizioni dei miei ${utenti}` },\n      'USER&SUBUSERS': { text: `Tutte` }\n    }\n    Object.entries(_datasource).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods.forEach((method) => {\n      const IsPaymentMethodAllowed = ['SDD', 'E-PAYMENT', 'BANK-TRANSFER'].includes(method.code);\n      if (IsPaymentMethodAllowed) datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  init() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'pending-queues-table',\n      client: this.api,\n      query: 'status=ACCEPTANCE'\n    });\n    this.tableInterface.initialize();\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'pending-queues-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: this.setContextDatasource()\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        owner: {\n          control: 'combo',\n          label: this.isOperator ? 'Utente' : mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.setPaymentMethodDatasource(),\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          control: 'text',\n          label: 'Codice di conferma pagamento',\n          query: 'short-confirmation-code'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n      },\n      data: {\n        owner: null,\n        shipment: null,\n        paymentMethod: 'null',\n        shortConfirmationCode: null\n      }\n    });\n\n    this.searchInterface.data = {\n      ...this.searchInterface.data,\n      ...(this.isOperator && { createdAtLte: this.setDefaultDateRange() }),\n      ...(this.isOperator && { createdAtGte: this.setDefaultDateRange(30) }),\n      ...(!this.isOperator && { context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER' })\n    }\n\n    this.searchInterface.initialize()\n      .then(() => { \n        if (this.isOperator && this.isSearchEnabled()) setTimeout(() => { this.changeContext(true) }, 500);\n        else this.params['text-search-like'] && this.reset();\n      }\n    );\n  }\n\n  isOrderAmountShowable(record) {\n    const { orderAmount, grossAmount } = record.costVoices?.total ?? {};\n    return grossAmount && orderAmount && orderAmount !== grossAmount;\n  }\n\n  reset() {\n    this.possiblyRequiredFields.forEach((field) => {\n      this.searchInterface.controls[field].required = false;\n    });\n    if (this.searchInterface?.controls?.context?.required) this.searchInterface.controls.context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      this.searchInterface.data.paymentMethod = 'null';\n      if (this.isOperator) {\n        this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n        this.searchInterface.data.createdAtGte = this.setDefaultDateRange(30);\n      } else {\n        this.searchInterface.data.context = this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n        if (this.params['text-search-like']) {\n          this.searchInterface.data.shipment = this.params['text-search-like'];\n          let url = window.location.toString();\n          const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');\n          url = url.replace(regex, '');\n          window.history.pushState({}, \"\", url);\n          delete this.params['text-search-like'];\n          this.searchInterface.controls.context.required = true;\n        }\n      }\n      this.changeContext(!this.isOperator);\n    });\n  }\n\n  search() { \n    if (this.isOperator) this.handlePossiblyRequiredFields();\n\n    this.pendingSearch = true;\n    this.tableInterface.endpoint = this.setEndpoint();\n\n    return this.searchInterface.search()\n      .then(() => { if (!this.isOperator) this.badgeUpdate(); })\n      .finally(() => { this.pendingSearch = false; });\n  }\n\n  \n  isSearchEnabled() {\n    return this.possiblyRequiredFields.some((field) => this.searchInterface.data[field]);\n  }\n\n  dialogPossiblyRequiredFields() {\n    const body = 'Seleziona un utente o inserisci un codice spedizione o un codice di conferma pagamento';\n    this.dialog.open({ type: 'alert', class: 'small', title: 'Attenzione!', body });\n  }\n\n  handlePossiblyRequiredFields() {\n    const searchEnabled = this.isSearchEnabled();  \n    const isRequired = !searchEnabled;\n\n    this.possiblyRequiredFields.forEach((field) => { this.searchInterface.controls[field].required = isRequired; });\n    if (!searchEnabled) this.dialogPossiblyRequiredFields();\n  }\n\n  async badgeUpdate() {\n    const xhr = await this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`);\n    return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n  }\n\n  userConfirmOrder(record, $event) {\n    if ($event) $event.model.busy = true;\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.id}&ts=${token}#/costs/${record.owner.id}/${record.uuid}` },\n        lock: true\n      }).whenClosed(() => {\n        if ($event) $event.model.busy = false;\n        this.search();\n      });\n    }).catch((xhr) => {\n      console.error('cross-login-tokens/current', xhr);\n      if ($event) $event.model.busy = false;\n    }).finally(() => {\n      if ($event) setTimeout(() => { $event.model.busy = false; }, 5000);\n    });\n  }\n\n  backofficeConfirmOrder($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Sei sicuro di voler confermare l'ordine?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const data = { status: \"PAYMENT-CONFIRMED\" };\n        this.api.patch(`bo/users/${record.owner.id}/orders/queues/${record.uuid}/current`, data).then(() => {\n          this.search();\n          this.toast.show(`Ordine confermato con successo!`, 'success');\n        }).catch(xhr => {\n          console.log('Error - PATCH orders/queues', xhr);\n          this.toast.show(`Errore durante l'apertura della spedizione!`, 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else $event.model.busy = false;\n    });\n  }\n\n  bankTranferCheck(record, reason) {\n    let prefix = '';\n\n    return this.api.get(`users/me/queue-outlines/${record.uuid}`).then((xhr) => {\n      if (xhr.response?.paymentMethod === 'BANK-TRANSFER' ) {\n        prefix = `<p class=\"m-0 p-0 mb-3\"><strong style=\"color: #ed5a23\">Attenzione!</strong> Hai impostato il pagamento tramite bonifico per questa spedizione. Ti ricordiamo di annullare qualsiasi pagamento.</p>`;\n      }\n      if (reason === 'edit') return this.editQueue(record, prefix);\n      if (reason === 'delete') return this.abortQueue(record, prefix);\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n\n  // !IMPORTANT this only changes the status of the queue\n  abortQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La spedizione sarà cancellata <strong>definitivamente</strong>. Sei sicuro di voler procedere alla cancellazione?</p>`\n    this.dialog.open({\n      title: 'Cancella spedizione',\n      class: 'small',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const payload = { status: 'ABORTED-BY-USER' };\n        this.api.patch(`users/${record.owner.id}/queues/${record.uuid}`, payload).then(() => {\n          this.search();\n          this.toast.show('Spedizione eliminata con successo!', 'success');\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La seguente operazione <strong>farà tornare la spedizione allo stato di bozza, cancellando l'attuale spedizione in attesa di pagamento.</strong> Desideri procedere?</p>`;\n    this.dialog.open({\n      title: 'Modifica spedizione',\n      class: 'medium',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${record.owner.id}/queues/${record.uuid}`).then(() => {\n          this.search();\n          this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n            let token = xhr.response.token;\n            this.dialogService.open({\n              viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n              model: { iframe: `/senderui/?owner=${record.owner.id}&draft=${record.draftUuid}&ts=${token}#/recipients` },\n              lock: true\n            });\n          }).catch(error => {\n            throw error;\n          })\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  bankTransferData(queue) {\n    this.dialog.open({\n      title: `Pagamento`,\n      class: 'medium bank-transfer-data',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/bank-transfer-data'),\n      viewModelParams: { queue }\n    }, true);\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  setDefaultDateRange(days) {\n    // If \"days\"(integer), subtracts days from today's date.\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  dialogDeletePayment(record) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: '<p class=\"m-0\">Prima di continuare, assicurarsi di non avere aperta, in un\\'altra tab o in un altro dispositivo, una sessione di pagamento PayPal relativa a questa spedizione.<br><strong>Confermi di voler procedere?</strong></p>'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteOrder(record);\n      }\n    });\n  }\n\n  // !IMPORTANT this only deletes the order and not the queue\n  deleteOrder(record) {\n    if (!record.loading) {\n      record.loading = true;\n      const queueUuid = record.uuid;\n      const queueOwnerId = record.owner?.id;\n      this.api.delete(`users/${queueOwnerId}/orders/queues/${queueUuid}/current`).then(() => {\n        this.search().finally(() => {\n          record.loading = false;\n        });      \n      }).catch((error) => {\n        console.log('Delete payment ', error);\n        record.loading = false;\n        this.api.dialogError(error);\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { MdFileDownload } from '../../services/md-files';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { MdDatasources } from '../../services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class viewRecipients {\n  queue;\n  vector;\n  isPendingInit;\n  postages = {};\n  urlPosteItaliane = 'https://www.poste.it/cerca/index.html#/risultati-spedizioni/';\n  \n  static inject = [Router, Api, KaToast, KaDialog, MdDatasources, QueueMessages, QueueProperties];\n  constructor(router, api, toast, dialog, MdDatasources, queueMessages, queueProperties) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n    this.mdFileDownload = new MdFileDownload(this.api, this.toast);\n    this.isAuthorizedToDownloadQueueSchedule = this.api.hasRole(['LIST_QUEUE_REPORTS', 'LIST_ANY_QUEUE_REPORT']);\n    this.isAuthorizedToDownloadPostalReceipt = this.api.hasRole(['DOWNLOAD_POSTAL_DELIVERY_RECEIPT_FILE', 'DOWNLOAD_ANY_POSTAL_DELIVERY_RECEIPT_FILE']);\n  }\n  activate(params, routeConfig, navigationInstruction) {\n    this.params = params\n    this.view = params.view;\n    this.queueUuid = params.queueUuid;\n    this.queueOwnerId = params.queueOwnerId;\n    this.previousRoute = this.setPreviousRoute(navigationInstruction?.previousInstruction?.fragment);\n    navigationInstruction.config.className = navigationInstruction.config.name.replace('/', '-') + (this.view ? `-${this.view}` : '');\n  }\n  navigateBack(statusGroup = 'COMPLETED') {\n    let url = this.previousRoute || 'spedizioni/reportistica';\n    const regex = /\\/spedizioni\\/reportistica\\/*/i;\n    if (regex.test(url)) {\n      const routePaths = {\n        'ARCHIVE': 'archiviate',\n        'PENDING': 'inviate',\n        'COMPLETED': 'inviate',\n        'ABANDONED': 'annullate',\n        'ACCEPTANCE': 'attesa pagamento'\n      };\n      const path = routePaths[this.params.backTo || statusGroup];\n      const params = path ? `/${path}` : '';\n      url = `spedizioni/reportistica${params}`;\n    }\n    return this.router.navigate(url);\n  }\n  isTheRouteReportDetail(url) {\n    const regex = /spedizioni\\/reportistica\\/\\d+\\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\/\\w+/i;\n    return regex.test(url);\n  }\n  setPreviousRoute(previousRoute) {\n    if (this.isTheRouteReportDetail(previousRoute)) {\n      return mdt.general.previousRoute;\n    }\n    mdt.general.previousRoute = previousRoute;\n    return previousRoute;\n  }\n  changeChannel() {\n    const channel = this.searchInterface.data.channel;\n    if (channel) {\n      const datasource = this.queueMessages.filterQueueMessagesStatusCode(channel);\n      this.searchInterface.schema.status = Object.assign({}, this.searchInterface.schema.status, { datasource });\n      // this.searchInterface.data.status = null;\n    }\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    const promises = [\n      this.initTableInterface(),\n      this.initSearchInterface(),\n      this.api.get(`users/${this.queueOwnerId}/queue-outlines/${this.queueUuid}`)\n    ];\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        const isQueueOutlines = xhr.status === 'fulfilled' && this.api.isResponse(xhr.value) && xhr.value?.response?.statusGroup && xhr.value?.response?.usedChannels\n        if (isQueueOutlines) {\n          this.queue = xhr.value.response;\n          this.canQueueBeDiscontinued = this.queue.queueDeliveryCanBeDiscontinued === 'YES';\n        }\n        if (!xhr.value && xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n      });\n      this.queueMessages.setQueueMessageStatusCodes(this.api).then((xhr) => {\n        this.queueMessages.statusCodes = xhr.response;\n        const datasource = this.queueMessages.parseQueueMessageStatusCodes(xhr.response);\n        const postalService = structuredClone(this.mdDatasources?.postalServices);\n        this.searchInterface.schema.status = Object.assign({}, this.searchInterface.schema.status, { datasource });\n        this.vectors = this.initVectors(postalService?.vectors);\n        this.postages = this.initPostages(postalService?.postages);\n        this.setChannelDatasource();\n        setTimeout(() => {\n          this.searchInterface.reset(false, true);\n        }, 0);\n        this.isPendingInit = false;\n      }).catch((error) => {\n        throw error;\n      });\n    }).catch((error) => {\n      console.log('init', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  initVectors(vectors) {\n    if (vectors) {\n      return Object.fromEntries(vectors.map((vector) => [vector.code, vector.name]));\n    }\n  }\n  initPostages(postages) {\n    if (postages) {\n      return {\n        ...Object.fromEntries(\n          postages.map((postage) => {\n            const [label, description] = postage.description.split(/:\\s*/);\n            return [postage.code, { label, description }];\n          })\n        ),\n        'P1': { label: 'Prioritaria 1', description: 'Consegnata entro 4 giorni lavorativi' }\n      };\n    }\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: `table-queue-${this.queueUuid}-messages`,\n      endpoint: `users/${this.queueOwnerId}/queues/${this.queueUuid}/messages`\n    });\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: `search-queue-${this.queueUuid}-messages`,\n      table: this.tableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Destinatario',\n          query: 'label-text-search'\n        },\n        channel: {\n          datasource: [],\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datamultiple: false,\n          datapreload: false,\n          query: 'channel'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'processing-status-in'\n        },\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Set functions\n  setChannelDatasource() {\n    const channels = this.queueProperties.channels.filter((channel) => {\n      return this.queue.usedChannels.includes(channel?.value?.toLowerCase());\n    });\n    const isForwardingUsed = this.queue?.emailForwardingUsed === 'YES';\n    const isSendemailUsed = !!channels.find((channel) => channel.value === 'SENDEMAIL');\n    if (!isSendemailUsed && isForwardingUsed) {\n      channels.push(this.queueProperties.channels.find((channel) => channel.value === 'SENDEMAIL'));\n    }\n    let datasource = Object.values(channels).map(({ value, text }) => ({ value, text }));\n    this.searchInterface.schema.channel = Object.assign({}, this.searchInterface.schema.channel, { datasource });\n  }\n  setMessageDialogInterruptDelivery() {\n    const channels = ['sendposta', 'multibox', 'multicerta'];\n    let message = '<p class=\"m-0\">L\\'invio o la consegna di ogni messaggio sarà irreversibilmente interrotta.</p>';\n    if (this.queue.usedChannels.some((channel) => channels.includes(channel))) {\n      message += '<p class=\"m-0 mt-3\"><strong>È possibile che vengano addebitati costi di stampa. Un resoconto dettagliato dei costi applicati sarà inviato al tuo indirizzo email.</strong></p>';\n    }\n    return message;\n  }\n  downloadDeliveryReceipt(record, event) {\n    const path = `users/${this.queueOwnerId}/queues/${this.queueUuid}/messages/${record.uuid}/delivery-receipts/current/download`;\n    return this.mdFileDownload.fileDownload(path, record, 'pdf', event);\n  }\n\n  // Dialogs\n  dialogQueueMessagePreview(message) {\n    const params = {\n      message: message,\n      queueUuid: this.queueUuid,\n      queueOwnerId: this.queueOwnerId\n    };\n    this.dialog.open({\n      viewModelParams: { params },\n      title: 'Anteprima messaggio',\n      class: 'medium queue-message-preview',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-message-preview')\n    }, true);\n  }\n  dialogMessageStatusTransitionsHistory(message, queueMessages) {\n    this.dialog.open({\n      title: 'Storico dei passaggi di stato',\n      class: 'message-status-transitions-history',\n      viewModelParams: { message, queueMessages },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-status-transitions-history')\n    }, true);\n  }\n  dialogMessageCostDetail(message) {\n    this.dialog.open({\n      title: 'Dettaglio costi messaggio',\n      class: 'small message-cost-detail',\n      viewModelParams: { message },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-cost-detail')\n    }, true);\n  }\n  dialogAttachments(message) {\n    const messageUuid = message.uuid;\n    const queueUuid = this.queueUuid;\n    const queueOwnerId = this.queueOwnerId;\n    const messageChannel = message.channel;\n    this.dialog.open({\n      class: 'medium report-attachments',\n      title: 'Elenco allegati',\n      viewModelParams: { queueOwnerId, queueUuid, messageUuid, messageChannel },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-attachments')\n    }, true);\n  }\n  dialogInterruptDelivery($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small interrupt-delivery',\n      body: this.setMessageDialogInterruptDelivery()\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.interruptDelivery().then(() => {\n          this.queueProperties.uuidQueueToUpdate = this.queue.uuid;\n          this.toast.show(`Consegna interrotta con successo!`, 'success');\n          this.init();\n        }).catch((error) => {\n          console.error('interruptDelivery', error);\n          this.api.dialogError(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      $event.model.busy = false;\n    });\n  }\n  interruptDelivery() {\n    const data = { status: 'DISCONTINUED' };\n    return this.api.patch(`users/${this.queueOwnerId}/queues/${this.queueUuid}`, data);\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdFileDownload } from 'services/md-files';\nimport { QueueProperties } from '../../../classes/queueProperties';\n\nexport class vmReport {\n  mdt = mdt;\n  views = {\n    inviate: {\n      label: 'Inviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/sent'),\n      visible: mdt.helpers.checkPermission({ roles: ['LIST_QUEUE'] }) || mdt.helpers.checkPermission({ roles: ['LIST_ANY_QUEUE'] })\n    },\n    annullate: {\n      label: 'Annullate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/canceled'),\n      visible: mdt.helpers.checkPermission({ roles: ['LIST_QUEUE'] }) || mdt.helpers.checkPermission({ roles: ['LIST_ANY_QUEUE'] })\n    },\n    archiviate: {\n      label: 'Archiviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/archived'),\n      visible: mdt.helpers.checkPermission({ roles: ['LIST_QUEUE'] }) || mdt.helpers.checkPermission({ roles: ['LIST_ANY_QUEUE'] })\n    }\n  };\n\n  static inject = [Api, Router, KaToast, KaDialog, QueueProperties];\n  constructor(api, router, toast, dialog, queueProperties) {\n    this.api = api;\n    this.toast = toast;\n    this.router = router;\n    this.dialog = dialog;\n    this.queueProperties = queueProperties;\n    this.isOperator = this.api.hasRole('LIST_ANY_QUEUE');\n    this.mdFileDownload = new MdFileDownload(this.api, this.toast);\n    this.canDownloadWorkOrderList = this.api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT']);\n    this.viewModel = this;\n  }\n  activate(params) {\n    this.params = params;\n    this.view = params.view;\n    if (!this.view) this.router.navigate('spedizioni/reportistica/inviate');\n    this.navConfig = {\n      path: 'spedizioni/reportistica',\n      links: Object.entries(this.views)\n        .filter(([, value]) => value.visible)\n        .map(([key, value]) => ({ view: key, label: value.label }))\n    };\n  }\n\n  // Utility functions\n  displayPaymentMethods(record) {\n    return record.partialCreditPayment && record.paymentMethod ? `CREDIT/${record.paymentMethod}` : record.paymentMethod;\n  }\n  navigateTo(queueOwnerId, queueUuid, url = false) {\n    url = url || `spedizioni/destinatari/${queueOwnerId}/${queueUuid}`;\n    return this.router.navigate(url);\n  }\n  updateWaitingQueuesStorage() {\n    if (!this.api.hasRole('LIST_ANY_QUEUE')) {\n      return this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`).then((xhr) => {\n        return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n      });\n    }\n  }\n  navigateToLegacyReportDetail(queueUuid) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=multisend_report_detail&uuid=${queueUuid}`);\n    }).catch((error) => {\n      console.error('navigateToLegacyReport', error);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  isSearchDisabled(searchInterfaceData) {\n    return this.isOperator && !searchInterfaceData.owner && !searchInterfaceData.shipment;\n  }\n\n  // Change functions\n  changeOwnerStatusIn(searchInterface) {\n    const datasource = {\n      query: { search: 'text-search', item: 'id-in' },\n      table: this.setSchemaOwnerDatasourceTable(searchInterface)\n    };\n    searchInterface.schema.owner.datasource = Object.assign({}, searchInterface.schema.owner.datasource, datasource );\n  }\n\n  // Set functions\n  setSelectable(response, oldRecords) {\n    let data = response ? structuredClone(response) : [];\n    const newRecords = data.reduce((accumulator, value) => ({ ...accumulator, [value.sendCode]: false }), {});\n    return Object.assign({}, newRecords, oldRecords);\n  }\n  setSelected(selectable) {\n    let selected = [];\n    for (const [key, value] of Object.entries(selectable)) {\n      if (value) {\n        selected.push(key);\n      }\n    }\n    return selected;\n  }\n  setPageSelection(response, selected) {\n    let data = response ? structuredClone(response) : [];\n    const dataSendCodes = data.map((queue) => { return queue['sendCode']; });\n    return !!dataSendCodes.length ? dataSendCodes?.every((sendCode) => selected.includes(sendCode)) : false;\n  }\n  setDefaultDateRange(days) {\n    const currentDate = new Date();\n    if (days) currentDate.setDate(currentDate.getDate() - days);\n    return currentDate.toISOString();\n  }\n  setChannelDatasource() {\n    const channels = structuredClone(this.queueProperties.channels);\n    const datasource = channels.map((channel) => ({\n      text: channel.text,\n      value: channel.value.toLowerCase()\n    }));\n    return datasource;\n  }\n  setStatusDatasource(values) {\n    const statuses = this.queueProperties?.statuses;\n    const datasource = [{ text: 'Tutti', value: 'null' }];\n    values.forEach((value) => {\n      // if you are looking for a status\n      let status = statuses.filter((status) => status.value === value)?.[0];\n      // if you are looking for grouped statuses (multiple states with the same group)\n      if (!status) {\n        let groupedStatuses = statuses.filter((status) => status.group === value);\n        let groupedValues = groupedStatuses.reduce((accumulator, current) => {\n          return `${accumulator.value},${current.value}`;\n        });\n        status = { text: groupedStatuses[0].group, value: groupedValues };\n      }\n      datasource.push(Object.assign({}, status));\n    });\n    return datasource;\n  }\n  setContextDatasource(userData) {\n    const datasource = [{ value: 'USER', text: `Le spedizioni del mio ${mdt.parsers.contextualize(userData, 'account')}` }];\n    if ((!this.isOperator && this.api.user.group === 'MASTER_USER') || (this.isOperator && userData?.group === 'MASTER_USER')) {\n      if (!this.isOperator && this.api.user.group === 'MASTER_USER') {\n        datasource.unshift({ value: 'USER&SUBUSERS', text: `Tutte` });\n      }\n      datasource.push({ value: 'SUBUSERS', text: `Le spedizioni dei miei ${mdt.parsers.contextualize(userData, 'utenti')}` });\n    } return datasource;\n  }\n  setDefault(searchInterface, dataProperties) {\n    searchInterface.data.context = this.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n    dataProperties.forEach((property) => {\n      const key = Object.keys(property)[0];\n      const value = Object.values(property)[0];\n      searchInterface.data[key] = value;\n    });\n  }\n  setSchemaOwnerDatasourceTable(searchInterface, statusIn = null) {\n    return `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&status-in=${statusIn || searchInterface.data.ownerStatusIn}`;\n  }\n\n  // Get functions\n  getUserData(id) {\n    return this.api.get(`users/${id}?include=user-profiles,user-roles`).catch((error) => {\n      console.error(`GET - users`, error);\n    });\n  }\n  getClients() {\n    return this.api.get('clients?declarable=YES').catch((error) => {\n      console.error('getClients', error);\n    });\n  }\n\n  // Patch functions\n  interruptDelivery(queue) {\n    const data = { status: 'DISCONTINUED' };\n    return this.api.patch(`users/${queue.owner.id}/queues/${queue.uuid}`, data);\n  }\n  archive(queue, viewModel, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    let data = { directory: \"ARCHIVE\" };\n    return this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      viewModel.search();\n      this.toast.show('Spedizione archiviata con successo', 'success');\n    }).catch((error) => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n\n  // Dialog functions\n  openDialogInterruptDelivery(queue, viewModel, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    this.dialog.open({\n      class: 'queue-interrupt-delivery',\n      title: 'Attenzione!',\n      viewModelParams: { parent: this, queue, viewModel },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-interrupt-delivery')\n    }, true).whenClosed(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n  openDialogQueueResend(queue, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    this.dialog.open({\n      class: 'report-queue-resend',\n      title: 'Reinvia spedizione',\n      viewModelParams: { parent: this, queue },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-queue-resend')\n    }, true).whenClosed(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n  openDialogQueueSender(queue, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    this.dialog.open({\n      class: 'medium queue-sender',\n      title: ' ',\n      viewModelParams: { parent: this, queue },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-sender')\n    }, true).whenClosed(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n  openDialogQueuePayment(queue, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    this.dialog.open({\n      class: 'medium queue-payment',\n      title: 'Dati di pagamento',\n      viewModelParams: { parent: this, queue },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-payment')\n    }, true).whenClosed(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n  openDialogLegacyHistory() {\n    return this.dialog.open({\n      title: 'Storico spedizioni',\n      class: 'legacy-history small',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/legacy-history')\n    });\n  }\n  openDialogQueueCostDetail(record) {\n    if (record.costVoices.total.grossAmount !== '0,00') {\n      return this.dialog.open({\n        title: 'Dettaglio costi spedizione',\n        class: 'medium queue-cost-detail',\n        viewModelParams: { record },\n        viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-cost-detail')\n      }, true);\n    }\n  }\n}\n","import { observable } from 'aurelia-framework';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewArchived {\n  userData;\n  isPendingInit;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.parent.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.parent.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor() {\n    this.viewModel = this;\n  }\n  activate(model) {\n    this.parent = model.parent;\n    this.params = model.params;\n    this.api = this.parent.api;\n    this.mdt = this.parent.mdt;\n    this.toast = this.parent.toast;\n    this.isOperator = this.parent.isOperator;\n    this.queueProperties = this.parent.queueProperties;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    const promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.isOperator) promises.push(this.parent.getClients());\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n        if (xhr.value && xhr?.value?.response?.[0]?.type === 'clients') {\n          const datasource = xhr.value.response;\n          this.searchInterface.schema.clients = Object.assign({}, this.searchInterface.schema.clients, { datasource });\n        }\n      })\n      if (this.isOperator) {\n        if (!this.tableInterface?.data) this.tableInterface.data = [];\n      } else {\n        if (this.params['text-search-like']) this.reset();\n        this.search().finally(() => {\n          this.isPendingInit = false;\n        });\n      }\n    }).catch((error) => {\n      this.isPendingInit = false;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    }).finally(() => {\n      if (this.isOperator) this.isPendingInit = false;\n    });\n  }\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-archived-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'directory=ARCHIVE'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.parent.setSelectable(response, this.selectable);\n      this.selected = this.parent.setSelected(this.selectable);\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-archived-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.parent.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: '', query: { search: 'text-search', item: 'id-in' } }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: \"Canale d'invio\",\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.parent.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        ownerStatusIn: {\n          label: `Stato ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`,\n          control: 'combo',\n          datasource: [\n            { text: 'Qualsiasi', value: 'ACTIVE,NOT-ACTIVE,ARCHIVED' },\n            { text: 'Attivi', value: 'ACTIVE'}\n          ],\n          query: 'owner-status-in'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.parent.setStatusDatasource(['COMPLETED', 'Annullata'], 'group'),\n          query: 'status-in'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        status: 'null',\n        context: this.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    this.searchInterface.data = {\n      ...this.searchInterface.data,\n      ...((this.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.parent.setDefaultDateRange() }),\n      ...((this.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.parent.setDefaultDateRange(30) })\n    }\n    this.searchInterface.schema.owner.datasource.table = this.parent.setSchemaOwnerDatasourceTable(this.searchInterface, this.searchInterface.data.owner ? 'ACTIVE,NOT-ACTIVE,ARCHIVED' : this.searchInterface.data.ownerStatusIn || 'ACTIVE,NOT-ACTIVE,ARCHIVED'); \n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    if (this.parent.isSearchDisabled(this.searchInterface.data)) {\n      return new Promise((resolve) => {\n        this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n        resolve();\n      });\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset(false, false);\n    let data = [{ paymentMethod: 'null' }, { status: 'null' }];\n    if (this.isOperator) {\n      data.push({ createdAtLte: this.parent.setDefaultDateRange() }, { createdAtGte: this.parent.setDefaultDateRange(30) });\n    } else {\n      data.push({ totalGrossGte: 0 });\n    }\n    this.parent.setDefault(this.searchInterface, data);\n    if (!this.isOperator) this.search();\n  }\n\n  // Set\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n    if (this.searchInterface?.data?.context !== 'SUBUSERS') this.searchInterface.data.ownerStatusIn = 'ACTIVE,NOT-ACTIVE,ARCHIVED';\n    this.parent.setSchemaOwnerDatasourceTable(this.searchInterface);\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.parent.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.parent.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n\n  // Utility\n  unarchive(queue, event) {\n    if (event) {\n      if (event.model) event.model.busy = true;\n      else event.model = { busy: true };\n    }\n    let data = { directory: null };\n    return this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.toast.show('Spedizione disarchiviata con successo', 'success');\n    }).catch(error => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      if (event) event.model.busy = false;\n    });\n  }\n}\n\n","import { observable } from 'aurelia-framework';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewCanceled {\n  userData;\n  isPendingInit;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.parent.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.parent.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor() {\n    this.viewModel = this;\n  }\n  activate(model) {\n    this.parent = model.parent;\n    this.params = model.params;\n    this.api = this.parent.api;\n    this.mdt = this.parent.mdt;\n    this.toast = this.parent.toast;\n    this.isOperator = this.parent.isOperator;\n    this.queueProperties = this.parent.queueProperties;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    const promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.isOperator) promises.push(this.parent.getClients());\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n        if (xhr.value && xhr?.value?.response?.[0]?.type === 'clients') {\n          const datasource = xhr.value.response;\n          this.searchInterface.schema.clients = Object.assign({}, this.searchInterface.schema.clients, { datasource });\n        }\n      })\n      if (this.isOperator) {\n        if (!this.tableInterface?.data) this.tableInterface.data = [];\n      } else {\n        if (this.params['text-search-like']) this.reset();\n        this.search().finally(() => {\n          this.isPendingInit = false;\n        });\n      }\n    }).catch((error) => {\n      this.isPendingInit = false;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    }).finally(() => {\n      if (this.isOperator) this.isPendingInit = false;\n    });\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-cancelled-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'status=ABANDONED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.parent.setSelectable(response, this.selectable);\n      this.selected = this.parent.setSelected(this.selectable);\n      return response;\n    };\n    this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-cancelled-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.parent.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: '', query: { search: 'text-search', item: 'id-in' } }\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale d\\'invio',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.parent.setChannelDatasource(),\n          query: 'channel'\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        ownerStatusIn: {\n          label: `Stato ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`,\n          control: 'combo',\n          datasource: [\n            { text: 'Qualsiasi', value: 'ACTIVE,NOT-ACTIVE,ARCHIVED' },\n            { text: 'Attivi', value: 'ACTIVE'}\n          ],\n          query: 'owner-status-in'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.parent.setStatusDatasource(['ABORTED-BY-USER', 'DISPATCH-ERROR']),\n          query: 'abandoned-status'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        abandonedStatus: 'null',\n        context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.parent.setDefaultDateRange() }), \n      ...((this.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.parent.setDefaultDateRange(30) }) \n    }\n    this.searchInterface.schema.owner.datasource.table = this.parent.setSchemaOwnerDatasourceTable(this.searchInterface, this.searchInterface.data.owner ? 'ACTIVE,NOT-ACTIVE,ARCHIVED' : this.searchInterface.data.ownerStatusIn || 'ACTIVE,NOT-ACTIVE,ARCHIVED'); \n    return this.searchInterface.initialize();\n  }\n  search() {\n    if (this.parent.isSearchDisabled(this.searchInterface.data)) {\n      return new Promise((resolve) => {\n        this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n        resolve();\n      });\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset(false, false);\n    let data = [{ paymentMethod: 'null' }, { status: 'null' }];\n    if (this.isOperator) {\n      data.push(\n        { createdAtLte: this.parent.setDefaultDateRange() }, \n        { createdAtGte: this.parent.setDefaultDateRange(30) }\n      );\n    } else {\n      data.push({ totalGrossGte: 0 });\n    }\n    this.parent.setDefault(this.searchInterface, data);\n    if (!this.isOperator) this.search();\n  }\n  setContext() {\n    if (this.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.parent.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.parent.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n    if (this.searchInterface?.data?.context !== 'SUBUSERS') this.searchInterface.data.ownerStatusIn = 'ACTIVE,NOT-ACTIVE,ARCHIVED';\n    this.parent.setSchemaOwnerDatasourceTable(this.searchInterface);\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n}\n","import { observable } from 'aurelia-framework';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewSent {\n  userData;\n  isPendingInit;\n\n  // Selection\n  pageSelection = false;\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  });\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.parent.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.parent.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n  \n  constructor() {\n    this.viewModel = this;\n  }\n  activate(model) {\n    this.parent = model.parent;\n    this.params = model.params;\n    this.api = this.parent.api;\n    this.mdt = this.parent.mdt;\n    this.toast = this.parent.toast;\n    this.isOperator = this.parent.isOperator;\n    this.queueProperties = this.parent.queueProperties;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    const promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.isOperator) promises.push(this.parent.getClients());\n    return Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected') {\n          throw xhr.reason;\n        }\n        if (xhr.value && xhr?.value?.response?.[0]?.type === 'clients') {\n          const datasource = xhr.value.response;\n          this.searchInterface.schema.clients = Object.assign({}, this.searchInterface.schema.clients, { datasource });\n        }\n      })\n      if (this.isOperator) {\n        if (!this.tableInterface?.data) this.tableInterface.data = [];\n      } else {\n        if (this.params['text-search-like']) this.reset();\n        this.search().finally(() => {\n          this.isPendingInit = false;\n        });\n      }\n    }).catch((error) => {\n      this.isPendingInit = false;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    }).finally(() => {\n      if (this.isOperator) this.isPendingInit = false;\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      endpoint: null,\n      client: this.api,\n      isLoading: false,\n      name: 'table-sent-queues',\n      query: 'status-in=COMPLETED,PENDING,DISCONTINUED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.parent.setSelectable(response, this.selectable);\n      this.selected = this.parent.setSelected(this.selectable);\n      this.parent.updateWaitingQueuesStorage();\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-sent-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.parent.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: '', query: { search: 'text-search', item: 'id-in' } }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale d\\'invio',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.parent.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        ownerStatusIn: {\n          label: `Stato ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`,\n          control: 'combo',\n          datasource: [\n            { text: 'Qualsiasi', value: 'ACTIVE,NOT-ACTIVE,ARCHIVED' },\n            { text: 'Attivi', value: 'ACTIVE'}\n          ],\n          query: 'owner-status-in'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.parent.setStatusDatasource(['COMPLETED', 'PENDING', 'DISCONTINUED']),\n          query: 'status-in'\n        },\n      },\n      data: {\n        status: 'null',\n        paymentMethod: 'null',\n        context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.parent.setDefaultDateRange() }), \n      ...((this.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.parent.setDefaultDateRange(30) }) \n    }\n    this.searchInterface.schema.owner.datasource.table = this.parent.setSchemaOwnerDatasourceTable(this.searchInterface, this.searchInterface.data.owner ? 'ACTIVE,NOT-ACTIVE,ARCHIVED' : this.searchInterface.data.ownerStatusIn || 'ACTIVE,NOT-ACTIVE,ARCHIVED'); \n    return this.searchInterface.initialize();\n  }\n  search() {\n    if (this.parent.isSearchDisabled(this.searchInterface.data)) {\n      return new Promise((resolve) => {\n        this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n        resolve();\n      });\n    }\n    this.setEndpoint();\n    return this.searchInterface.search().then(() => {\n      const queue = this.tableInterface.data.find((record) => record.uuid === this.queueProperties.uuidQueueToUpdate);\n      if (queue) this.updateQueueMessages(queue);\n      else this.queueProperties.uuidQueueToUpdate = null;\n    });\n  }\n  reset() {\n    const context = this.searchInterface.controls.context;\n    if (context) context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      const dataDefaultProperties = [\n        { status: 'null' },\n        { paymentMethod: 'null' },\n        { createdAtLte: this.isOperator ? this.parent.setDefaultDateRange() : null },\n        { createdAtGte: this.isOperator ? this.parent.setDefaultDateRange(30) : null },\n        { context: this.isOperator ? null : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'  },\n        { shipment: (!this.isOperator && this.params['text-search-like']) ? this.params['text-search-like'] : null },\n      ];\n      this.parent.setDefault(this.searchInterface, dataDefaultProperties);\n      if (this.params['text-search-like']) {\n        let url = window.location.toString();\n        const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');        \n        url = url.replace(regex, '');\n        window.history.pushState({}, '', url);\n        delete this.params['text-search-like'];\n        if (context) context.required = true;\n      } else {\n        if (!this.isOperator) {\n          this.search().finally(() => {\n            if (context) context.required = true;\n          });\n        }\n      }\n    });\n  }\n  setContextSuffix() {\n    let contextSuffix = '';\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n    if (this.searchInterface?.data?.context !== 'SUBUSERS') this.searchInterface.data.ownerStatusIn = 'ACTIVE,NOT-ACTIVE,ARCHIVED';\n    this.parent.setSchemaOwnerDatasourceTable(this.searchInterface);\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.parent.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.parent.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n  updateQueueMessages(record, event) {\n    if (record && !record.loading && record.status !== 'COMPLETED') {\n      if (event) {\n        if (event.target.classList.contains('new-tag')) {\n          this.tableInterface.isLoading = true;\n        } else if (event.model) {\n          event.model.busy = true;\n        } else event.model = { busy: true };\n      }\n      record.loading = true;\n      this.queueProperties.update(this.api.client, record).then((xhr) => {\n        Object.assign(record, xhr.response);\n        if (event) this.toast.show('Stato spedizione aggiornato!', 'success');\n      }).catch((error) => {\n        console.error('GET queue-outlines ', error);\n        if (event) this.toast.show('Errore aggiornamento stato spedizione!', 'error');\n      }).finally(() => {\n        record.loading = false;\n        this.queueProperties.uuidQueueToUpdate = null;\n        if (event) {\n          if (event.target.classList.contains('new-tag')) {\n            this.tableInterface.isLoading = false;\n          } else {\n            event.model.busy = false;\n          }\n        }\n      });\n    }\n  }\n}\n\n","var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      for (var bytes = [], i = 0; i < str.length; i++)\n        bytes.push(str.charCodeAt(i) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++)\n        str.push(String.fromCharCode(bytes[i]));\n      return str.join('');\n    }\n  }\n};\n\nmodule.exports = charenc;\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../../modules/es7.array.flat-map');\nmodule.exports = require('../../modules/_core').Array.flatMap;\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","require('../../modules/es7.string.trim-right');\nmodule.exports = require('../../modules/_core').String.trimRight;\n","require('../../modules/es7.string.trim-left');\nmodule.exports = require('../../modules/_core').String.trimLeft;\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('../modules/es7.global');\nmodule.exports = require('../modules/_core').global;\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n  if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n  return +it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? at(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = toLength(O.length);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var aLen = arguments.length;\n  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n  var end = aLen > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      val = self[index];\n      res = f(val, index, O);\n      if (TYPE) {\n        if (IS_MAP) result[index] = res;   // map\n        else if (res) switch (TYPE) {\n          case 3: return true;             // some\n          case 5: return val;              // find\n          case 6: return index;            // findIndex\n          case 2: result.push(val);        // filter\n        } else if (IS_EVERY) return false; // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n  aFunction(callbackfn);\n  var O = toObject(that);\n  var self = IObject(O);\n  var length = toLength(O.length);\n  var index = isRight ? length - 1 : 0;\n  var i = isRight ? -1 : 1;\n  if (aLen < 2) for (;;) {\n    if (index in self) {\n      memo = self[index];\n      index += i;\n      break;\n    }\n    index += i;\n    if (isRight ? index < 0 : length <= index) {\n      throw TypeError('Reduce of empty array with no initial value');\n    }\n  }\n  for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n    memo = callbackfn(memo, self[index], index, O);\n  }\n  return memo;\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n  if (!(len in factories)) {\n    for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n    // eslint-disable-next-line no-new-func\n    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n  } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var fn = aFunction(this);\n  var partArgs = arraySlice.call(arguments, 1);\n  var bound = function (/* args... */) {\n    var args = partArgs.concat(arraySlice.call(arguments));\n    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n  };\n  if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n  return bound;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n  // fast case\n  var index = fastKey(key);\n  var entry;\n  if (index !== 'F') return that._i[index];\n  // frozen object case\n  for (entry = that._f; entry; entry = entry.n) {\n    if (entry.k == key) return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;         // collection type\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n          entry.r = true;\n          if (entry.p) entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = validate(this, NAME);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.n;\n          var prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if (prev) prev.n = next;\n          if (next) next.p = prev;\n          if (that._f == entry) that._f = next;\n          if (that._l == entry) that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        validate(this, NAME);\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.n : this._f) {\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while (entry && entry.r) entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(validate(this, NAME), key);\n      }\n    });\n    if (DESCRIPTORS) dP(C.prototype, 'size', {\n      get: function () {\n        return validate(this, NAME)[SIZE];\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var entry = getEntry(that, key);\n    var prev, index;\n    // change existing entry\n    if (entry) {\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if (!that._f) that._f = entry;\n      if (prev) prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if (index !== 'F') that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function (C, NAME, IS_MAP) {\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function (iterated, kind) {\n      this._t = validate(iterated, NAME); // target\n      this._k = kind;                     // kind\n      this._l = undefined;                // previous\n    }, function () {\n      var that = this;\n      var kind = that._k;\n      var entry = that._l;\n      // revert to the last existing entry\n      while (entry && entry.r) entry = entry.p;\n      // get next entry\n      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if (kind == 'keys') return step(0, entry.k);\n      if (kind == 'values') return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n  this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;      // collection type\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  var fixMethod = function (KEY) {\n    var fn = proto[KEY];\n    redefine(proto, KEY,\n      KEY == 'delete' ? function (a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'has' ? function has(a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'get' ? function get(a) {\n        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n        : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n    );\n  };\n  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance = new C();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new C();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n    if (!ACCEPT_ITERABLES) {\n      C = wrapper(function (target, iterable) {\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base(), target, C);\n        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n    // weak collections should not contains .clear method\n    if (IS_WEAK && proto.clear) delete proto.clear;\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n  return C;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n  return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n  $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n  var d = this;\n  var y = d.getUTCFullYear();\n  var m = d.getUTCMilliseconds();\n  var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n  if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n  return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch (e) {\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch (f) { /* empty */ }\n  } return true;\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n  var SYMBOL = wks(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n    re.exec = function () { execCalled = true; return null; };\n    if (KEY === 'split') {\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n    }\n    re[SYMBOL]('');\n    return !execCalled;\n  }) : undefined;\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var fns = exec(\n      defined,\n      SYMBOL,\n      ''[KEY],\n      function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n        if (regexp.exec === regexpExec) {\n          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n            // The native String method already delegates to @@method (this\n            // polyfilled function), leasing to infinite recursion.\n            // We avoid it by directly calling the native @@method method.\n            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n          }\n          return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n        }\n        return { done: false };\n      }\n    );\n    var strfn = fns[0];\n    var rxfn = fns[1];\n\n    redefine(String.prototype, KEY, strfn);\n    hide(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return rxfn.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return rxfn.call(string, this); }\n    );\n  }\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n  var targetIndex = start;\n  var sourceIndex = 0;\n  var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n  var element, spreadable;\n\n  while (sourceIndex < sourceLen) {\n    if (sourceIndex in source) {\n      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n      spreadable = false;\n      if (isObject(element)) {\n        spreadable = element[IS_CONCAT_SPREADABLE];\n        spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n      }\n\n      if (spreadable && depth > 0) {\n        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n      } else {\n        if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n        target[targetIndex] = element;\n      }\n\n      targetIndex++;\n    }\n    sourceIndex++;\n  }\n  return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n  var S = target.constructor;\n  var P;\n  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n    setPrototypeOf(that, P);\n  } return that;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n  // Old FF bug\n  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n  // Tor Browser bug\n  || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n  return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n  var $abs = Math.abs(x);\n  var $sign = sign(x);\n  var a, result;\n  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n  a = (1 + EPSILON32 / EPSILON) * $abs;\n  result = a - (a - $abs);\n  // eslint-disable-next-line no-self-compare\n  if (result > MAX32 || result != result) return $sign * Infinity;\n  return $sign * result;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n  // eslint-disable-next-line no-self-compare\n  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || isEnum.call(O, key)) {\n        result.push(isEntries ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n  var keys = gOPN.f(anObject(it));\n  var getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n  var string = $trim(String(str), 3);\n  var result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) redefine(target, key, src[key], safe);\n  return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw new TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n  if (classof(R) !== 'RegExp') {\n    throw new TypeError('RegExp#exec called on incompatible receiver');\n  }\n  return builtinExec.call(R, S);\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/,\n      re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n    match = nativeExec.call(re, str);\n\n    if (UPDATES_LAST_INDEX_WRONG && match) {\n      re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      // eslint-disable-next-line no-loop-func\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call\n    arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n  });\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n  var S = String(defined(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n  var O = {};\n  O[NAME] = exec(createHTML);\n  $export($export.P + $export.F * fails(function () {\n    var test = ''[NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  }), 'String', O);\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n  var S = String(defined(that));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  if (intMaxLength <= stringLength || fillStr == '') return S;\n  var fillLen = intMaxLength - stringLength;\n  var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n  return left ? stringFiller + S : S + stringFiller;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n  var str = String(defined(this));\n  var res = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n  return res;\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n  var exp = {};\n  var FORCE = fails(function () {\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if (ALIAS) exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n  string = String(defined(string));\n  if (TYPE & 1) string = string.replace(ltrim, '');\n  if (TYPE & 2) string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toInteger(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length!');\n  return length;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nif (require('./_descriptors')) {\n  var LIBRARY = require('./_library');\n  var global = require('./_global');\n  var fails = require('./_fails');\n  var $export = require('./_export');\n  var $typed = require('./_typed');\n  var $buffer = require('./_typed-buffer');\n  var ctx = require('./_ctx');\n  var anInstance = require('./_an-instance');\n  var propertyDesc = require('./_property-desc');\n  var hide = require('./_hide');\n  var redefineAll = require('./_redefine-all');\n  var toInteger = require('./_to-integer');\n  var toLength = require('./_to-length');\n  var toIndex = require('./_to-index');\n  var toAbsoluteIndex = require('./_to-absolute-index');\n  var toPrimitive = require('./_to-primitive');\n  var has = require('./_has');\n  var classof = require('./_classof');\n  var isObject = require('./_is-object');\n  var toObject = require('./_to-object');\n  var isArrayIter = require('./_is-array-iter');\n  var create = require('./_object-create');\n  var getPrototypeOf = require('./_object-gpo');\n  var gOPN = require('./_object-gopn').f;\n  var getIterFn = require('./core.get-iterator-method');\n  var uid = require('./_uid');\n  var wks = require('./_wks');\n  var createArrayMethod = require('./_array-methods');\n  var createArrayIncludes = require('./_array-includes');\n  var speciesConstructor = require('./_species-constructor');\n  var ArrayIterators = require('./es6.array.iterator');\n  var Iterators = require('./_iterators');\n  var $iterDetect = require('./_iter-detect');\n  var setSpecies = require('./_set-species');\n  var arrayFill = require('./_array-fill');\n  var arrayCopyWithin = require('./_array-copy-within');\n  var $DP = require('./_object-dp');\n  var $GOPD = require('./_object-gopd');\n  var dP = $DP.f;\n  var gOPD = $GOPD.f;\n  var RangeError = global.RangeError;\n  var TypeError = global.TypeError;\n  var Uint8Array = global.Uint8Array;\n  var ARRAY_BUFFER = 'ArrayBuffer';\n  var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n  var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n  var PROTOTYPE = 'prototype';\n  var ArrayProto = Array[PROTOTYPE];\n  var $ArrayBuffer = $buffer.ArrayBuffer;\n  var $DataView = $buffer.DataView;\n  var arrayForEach = createArrayMethod(0);\n  var arrayFilter = createArrayMethod(2);\n  var arraySome = createArrayMethod(3);\n  var arrayEvery = createArrayMethod(4);\n  var arrayFind = createArrayMethod(5);\n  var arrayFindIndex = createArrayMethod(6);\n  var arrayIncludes = createArrayIncludes(true);\n  var arrayIndexOf = createArrayIncludes(false);\n  var arrayValues = ArrayIterators.values;\n  var arrayKeys = ArrayIterators.keys;\n  var arrayEntries = ArrayIterators.entries;\n  var arrayLastIndexOf = ArrayProto.lastIndexOf;\n  var arrayReduce = ArrayProto.reduce;\n  var arrayReduceRight = ArrayProto.reduceRight;\n  var arrayJoin = ArrayProto.join;\n  var arraySort = ArrayProto.sort;\n  var arraySlice = ArrayProto.slice;\n  var arrayToString = ArrayProto.toString;\n  var arrayToLocaleString = ArrayProto.toLocaleString;\n  var ITERATOR = wks('iterator');\n  var TAG = wks('toStringTag');\n  var TYPED_CONSTRUCTOR = uid('typed_constructor');\n  var DEF_CONSTRUCTOR = uid('def_constructor');\n  var ALL_CONSTRUCTORS = $typed.CONSTR;\n  var TYPED_ARRAY = $typed.TYPED;\n  var VIEW = $typed.VIEW;\n  var WRONG_LENGTH = 'Wrong length!';\n\n  var $map = createArrayMethod(1, function (O, length) {\n    return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n  });\n\n  var LITTLE_ENDIAN = fails(function () {\n    // eslint-disable-next-line no-undef\n    return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n  });\n\n  var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n    new Uint8Array(1).set({});\n  });\n\n  var toOffset = function (it, BYTES) {\n    var offset = toInteger(it);\n    if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n    return offset;\n  };\n\n  var validate = function (it) {\n    if (isObject(it) && TYPED_ARRAY in it) return it;\n    throw TypeError(it + ' is not a typed array!');\n  };\n\n  var allocate = function (C, length) {\n    if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n      throw TypeError('It is not a typed array constructor!');\n    } return new C(length);\n  };\n\n  var speciesFromList = function (O, list) {\n    return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n  };\n\n  var fromList = function (C, list) {\n    var index = 0;\n    var length = list.length;\n    var result = allocate(C, length);\n    while (length > index) result[index] = list[index++];\n    return result;\n  };\n\n  var addGetter = function (it, key, internal) {\n    dP(it, key, { get: function () { return this._d[internal]; } });\n  };\n\n  var $from = function from(source /* , mapfn, thisArg */) {\n    var O = toObject(source);\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var iterFn = getIterFn(O);\n    var i, length, values, result, step, iterator;\n    if (iterFn != undefined && !isArrayIter(iterFn)) {\n      for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n        values.push(step.value);\n      } O = values;\n    }\n    if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n    for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n      result[i] = mapping ? mapfn(O[i], i) : O[i];\n    }\n    return result;\n  };\n\n  var $of = function of(/* ...items */) {\n    var index = 0;\n    var length = arguments.length;\n    var result = allocate(this, length);\n    while (length > index) result[index] = arguments[index++];\n    return result;\n  };\n\n  // iOS Safari 6.x fails here\n  var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n  var $toLocaleString = function toLocaleString() {\n    return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n  };\n\n  var proto = {\n    copyWithin: function copyWithin(target, start /* , end */) {\n      return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    every: function every(callbackfn /* , thisArg */) {\n      return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n      return arrayFill.apply(validate(this), arguments);\n    },\n    filter: function filter(callbackfn /* , thisArg */) {\n      return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n        arguments.length > 1 ? arguments[1] : undefined));\n    },\n    find: function find(predicate /* , thisArg */) {\n      return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    findIndex: function findIndex(predicate /* , thisArg */) {\n      return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    forEach: function forEach(callbackfn /* , thisArg */) {\n      arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    indexOf: function indexOf(searchElement /* , fromIndex */) {\n      return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    includes: function includes(searchElement /* , fromIndex */) {\n      return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    join: function join(separator) { // eslint-disable-line no-unused-vars\n      return arrayJoin.apply(validate(this), arguments);\n    },\n    lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n      return arrayLastIndexOf.apply(validate(this), arguments);\n    },\n    map: function map(mapfn /* , thisArg */) {\n      return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduce.apply(validate(this), arguments);\n    },\n    reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduceRight.apply(validate(this), arguments);\n    },\n    reverse: function reverse() {\n      var that = this;\n      var length = validate(that).length;\n      var middle = Math.floor(length / 2);\n      var index = 0;\n      var value;\n      while (index < middle) {\n        value = that[index];\n        that[index++] = that[--length];\n        that[length] = value;\n      } return that;\n    },\n    some: function some(callbackfn /* , thisArg */) {\n      return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    sort: function sort(comparefn) {\n      return arraySort.call(validate(this), comparefn);\n    },\n    subarray: function subarray(begin, end) {\n      var O = validate(this);\n      var length = O.length;\n      var $begin = toAbsoluteIndex(begin, length);\n      return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n        O.buffer,\n        O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n        toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n      );\n    }\n  };\n\n  var $slice = function slice(start, end) {\n    return speciesFromList(this, arraySlice.call(validate(this), start, end));\n  };\n\n  var $set = function set(arrayLike /* , offset */) {\n    validate(this);\n    var offset = toOffset(arguments[1], 1);\n    var length = this.length;\n    var src = toObject(arrayLike);\n    var len = toLength(src.length);\n    var index = 0;\n    if (len + offset > length) throw RangeError(WRONG_LENGTH);\n    while (index < len) this[offset + index] = src[index++];\n  };\n\n  var $iterators = {\n    entries: function entries() {\n      return arrayEntries.call(validate(this));\n    },\n    keys: function keys() {\n      return arrayKeys.call(validate(this));\n    },\n    values: function values() {\n      return arrayValues.call(validate(this));\n    }\n  };\n\n  var isTAIndex = function (target, key) {\n    return isObject(target)\n      && target[TYPED_ARRAY]\n      && typeof key != 'symbol'\n      && key in target\n      && String(+key) == String(key);\n  };\n  var $getDesc = function getOwnPropertyDescriptor(target, key) {\n    return isTAIndex(target, key = toPrimitive(key, true))\n      ? propertyDesc(2, target[key])\n      : gOPD(target, key);\n  };\n  var $setDesc = function defineProperty(target, key, desc) {\n    if (isTAIndex(target, key = toPrimitive(key, true))\n      && isObject(desc)\n      && has(desc, 'value')\n      && !has(desc, 'get')\n      && !has(desc, 'set')\n      // TODO: add validation descriptor w/o calling accessors\n      && !desc.configurable\n      && (!has(desc, 'writable') || desc.writable)\n      && (!has(desc, 'enumerable') || desc.enumerable)\n    ) {\n      target[key] = desc.value;\n      return target;\n    } return dP(target, key, desc);\n  };\n\n  if (!ALL_CONSTRUCTORS) {\n    $GOPD.f = $getDesc;\n    $DP.f = $setDesc;\n  }\n\n  $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n    getOwnPropertyDescriptor: $getDesc,\n    defineProperty: $setDesc\n  });\n\n  if (fails(function () { arrayToString.call({}); })) {\n    arrayToString = arrayToLocaleString = function toString() {\n      return arrayJoin.call(this);\n    };\n  }\n\n  var $TypedArrayPrototype$ = redefineAll({}, proto);\n  redefineAll($TypedArrayPrototype$, $iterators);\n  hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n  redefineAll($TypedArrayPrototype$, {\n    slice: $slice,\n    set: $set,\n    constructor: function () { /* noop */ },\n    toString: arrayToString,\n    toLocaleString: $toLocaleString\n  });\n  addGetter($TypedArrayPrototype$, 'buffer', 'b');\n  addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n  addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n  addGetter($TypedArrayPrototype$, 'length', 'e');\n  dP($TypedArrayPrototype$, TAG, {\n    get: function () { return this[TYPED_ARRAY]; }\n  });\n\n  // eslint-disable-next-line max-statements\n  module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n    CLAMPED = !!CLAMPED;\n    var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + KEY;\n    var SETTER = 'set' + KEY;\n    var TypedArray = global[NAME];\n    var Base = TypedArray || {};\n    var TAC = TypedArray && getPrototypeOf(TypedArray);\n    var FORCED = !TypedArray || !$typed.ABV;\n    var O = {};\n    var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n    var getter = function (that, index) {\n      var data = that._d;\n      return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n    };\n    var setter = function (that, index, value) {\n      var data = that._d;\n      if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n      data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n    };\n    var addElement = function (that, index) {\n      dP(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n    if (FORCED) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME, '_d');\n        var index = 0;\n        var offset = 0;\n        var buffer, byteLength, length, klass;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new $ArrayBuffer(byteLength);\n        } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          buffer = data;\n          offset = toOffset($offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - offset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (TYPED_ARRAY in data) {\n          return fromList(TypedArray, data);\n        } else {\n          return $from.call(TypedArray, data);\n        }\n        hide(that, '_d', {\n          b: buffer,\n          o: offset,\n          l: byteLength,\n          e: length,\n          v: new $DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n      TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n      hide(TypedArrayPrototype, 'constructor', TypedArray);\n    } else if (!fails(function () {\n      TypedArray(1);\n    }) || !fails(function () {\n      new TypedArray(-1); // eslint-disable-line no-new\n    }) || !$iterDetect(function (iter) {\n      new TypedArray(); // eslint-disable-line no-new\n      new TypedArray(null); // eslint-disable-line no-new\n      new TypedArray(1.5); // eslint-disable-line no-new\n      new TypedArray(iter); // eslint-disable-line no-new\n    }, true)) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME);\n        var klass;\n        // `ws` module bug, temporarily remove validation length for Uint8Array\n        // https://github.com/websockets/ws/pull/645\n        if (!isObject(data)) return new Base(toIndex(data));\n        if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          return $length !== undefined\n            ? new Base(data, toOffset($offset, BYTES), $length)\n            : $offset !== undefined\n              ? new Base(data, toOffset($offset, BYTES))\n              : new Base(data);\n        }\n        if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n        return $from.call(TypedArray, data);\n      });\n      arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n        if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n      });\n      TypedArray[PROTOTYPE] = TypedArrayPrototype;\n      if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n    }\n    var $nativeIterator = TypedArrayPrototype[ITERATOR];\n    var CORRECT_ITER_NAME = !!$nativeIterator\n      && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n    var $iterator = $iterators.values;\n    hide(TypedArray, TYPED_CONSTRUCTOR, true);\n    hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n    hide(TypedArrayPrototype, VIEW, true);\n    hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n    if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n      dP(TypedArrayPrototype, TAG, {\n        get: function () { return NAME; }\n      });\n    }\n\n    O[NAME] = TypedArray;\n\n    $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n    $export($export.S, NAME, {\n      BYTES_PER_ELEMENT: BYTES\n    });\n\n    $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n      from: $from,\n      of: $of\n    });\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n    $export($export.P, NAME, proto);\n\n    setSpecies(NAME);\n\n    $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n    $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n    if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n    $export($export.P + $export.F * fails(function () {\n      new TypedArray(1).slice();\n    }), NAME, { slice: $slice });\n\n    $export($export.P + $export.F * (fails(function () {\n      return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n    }) || !fails(function () {\n      TypedArrayPrototype.toLocaleString.call([1, 2]);\n    })), NAME, { toLocaleString: $toLocaleString });\n\n    Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n    if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n  };\n} else module.exports = function () { /* empty */ };\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n  var buffer = new Array(nBytes);\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var i = 0;\n  var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n  var e, m, c;\n  value = abs(value);\n  // eslint-disable-next-line no-self-compare\n  if (value != value || value === Infinity) {\n    // eslint-disable-next-line no-self-compare\n    m = value != value ? 1 : 0;\n    e = eMax;\n  } else {\n    e = floor(log(value) / LN2);\n    if (value * (c = pow(2, -e)) < 1) {\n      e--;\n      c *= 2;\n    }\n    if (e + eBias >= 1) {\n      value += rt / c;\n    } else {\n      value += rt * pow(2, 1 - eBias);\n    }\n    if (value * c >= 2) {\n      e++;\n      c /= 2;\n    }\n    if (e + eBias >= eMax) {\n      m = 0;\n      e = eMax;\n    } else if (e + eBias >= 1) {\n      m = (value * c - 1) * pow(2, mLen);\n      e = e + eBias;\n    } else {\n      m = value * pow(2, eBias - 1) * pow(2, mLen);\n      e = 0;\n    }\n  }\n  for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n  e = e << mLen | m;\n  eLen += mLen;\n  for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n  buffer[--i] |= s * 128;\n  return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var nBits = eLen - 7;\n  var i = nBytes - 1;\n  var s = buffer[i--];\n  var e = s & 127;\n  var m;\n  s >>= 7;\n  for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n  m = e & (1 << -nBits) - 1;\n  e >>= -nBits;\n  nBits += mLen;\n  for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n  if (e === 0) {\n    e = 1 - eBias;\n  } else if (e === eMax) {\n    return m ? NaN : s ? -Infinity : Infinity;\n  } else {\n    m = m + pow(2, mLen);\n    e = e - eBias;\n  } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n  return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n  return [it & 0xff];\n}\nfunction packI16(it) {\n  return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n  return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n  return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n  return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n  dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = store.slice(start, start + bytes);\n  return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = conversion(+value);\n  for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n    var byteLength = toIndex(length);\n    this._b = arrayFill.call(new Array(byteLength), 0);\n    this[$LENGTH] = byteLength;\n  };\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, $DataView, DATA_VIEW);\n    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n    var bufferLength = buffer[$LENGTH];\n    var offset = toInteger(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    this[$BUFFER] = buffer;\n    this[$OFFSET] = offset;\n    this[$LENGTH] = byteLength;\n  };\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n    addGetter($DataView, BUFFER, '_b');\n    addGetter($DataView, BYTE_LENGTH, '_l');\n    addGetter($DataView, BYTE_OFFSET, '_o');\n  }\n\n  redefineAll($DataView[PROTOTYPE], {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1]));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packF32, value, arguments[2]);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packF64, value, arguments[2]);\n    }\n  });\n} else {\n  if (!fails(function () {\n    $ArrayBuffer(1);\n  }) || !fails(function () {\n    new $ArrayBuffer(-1); // eslint-disable-line no-new\n  }) || fails(function () {\n    new $ArrayBuffer(); // eslint-disable-line no-new\n    new $ArrayBuffer(1.5); // eslint-disable-line no-new\n    new $ArrayBuffer(NaN); // eslint-disable-line no-new\n    return $ArrayBuffer.name != ARRAY_BUFFER;\n  })) {\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, $ArrayBuffer);\n      return new BaseBuffer(toIndex(length));\n    };\n    var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n    for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n    }\n    if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n  }\n  // iOS Safari 7.x bug\n  var view = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = $DataView[PROTOTYPE].setInt8;\n  view.setInt8(0, 2147483648);\n  view.setInt8(1, 2147483649);\n  if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    }\n  }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n  'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n  if (Typed = global[TypedArrayConstructors[i++]]) {\n    hide(Typed.prototype, TYPED, true);\n    hide(Typed.prototype, VIEW, true);\n  } else CONSTR = false;\n}\n\nmodule.exports = {\n  ABV: ABV,\n  CONSTR: CONSTR,\n  TYPED: TYPED,\n  VIEW: VIEW\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n  every: function every(callbackfn /* , thisArg */) {\n    return $every(this, callbackfn, arguments[1]);\n  }\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n  forEach: function forEach(callbackfn /* , thisArg */) {\n    return $forEach(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? $native.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments[1]);\n  }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n  join: function join(separator) {\n    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n    // convert -0 to +0\n    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n    var O = toIObject(this);\n    var length = toLength(O.length);\n    var index = length - 1;\n    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n    if (index < 0) index = length + index;\n    for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n    return -1;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n  function F() { /* empty */ }\n  return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n  // 22.1.2.3 Array.of( ...items)\n  of: function of(/* ...args */) {\n    var index = 0;\n    var aLen = arguments.length;\n    var result = new (typeof this == 'function' ? this : Array)(aLen);\n    while (aLen > index) createProperty(result, index, arguments[index++]);\n    result.length = aLen;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n  reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n  reduce: function reduce(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n  if (html) arraySlice.call(html);\n}), 'Array', {\n  slice: function slice(begin, end) {\n    var len = toLength(this.length);\n    var klass = cof(this);\n    end = end === undefined ? len : end;\n    if (klass == 'Array') return arraySlice.call(this, begin, end);\n    var start = toAbsoluteIndex(begin, len);\n    var upTo = toAbsoluteIndex(end, len);\n    var size = toLength(upTo - start);\n    var cloned = new Array(size);\n    var i = 0;\n    for (; i < size; i++) cloned[i] = klass == 'String'\n      ? this.charAt(start + i)\n      : this[start + i];\n    return cloned;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n  some: function some(callbackfn /* , thisArg */) {\n    return $some(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n  // IE8-\n  test.sort(undefined);\n}) || !fails(function () {\n  // V8 bug\n  test.sort(null);\n  // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n  // 22.1.3.25 Array.prototype.sort(comparefn)\n  sort: function sort(comparefn) {\n    return comparefn === undefined\n      ? $sort.call(toObject(this))\n      : $sort.call(toObject(this), aFunction(comparefn));\n  }\n});\n","require('./_set-species')('Array');\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n  toISOString: toISOString\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n  return new Date(NaN).toJSON() !== null\n    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n  // eslint-disable-next-line no-unused-vars\n  toJSON: function toJSON(key) {\n    var O = toObject(this);\n    var pv = toPrimitive(O);\n    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n  }\n});\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n  require('./_redefine')(DateProto, TO_STRING, function toString() {\n    var value = getTime.call(this);\n    // eslint-disable-next-line no-self-compare\n    return value === value ? $toString.call(this) : INVALID_DATE;\n  });\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n  if (typeof this != 'function' || !isObject(O)) return false;\n  if (!isObject(this.prototype)) return O instanceof this;\n  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n  return false;\n} });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n  configurable: true,\n  get: function () {\n    try {\n      return ('' + this).match(nameRE)[1];\n    } catch (e) {\n      return '';\n    }\n  }\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key) {\n    var entry = strong.getEntry(validate(this, MAP), key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value) {\n    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n  // Tor Browser bug: Math.acosh(Infinity) -> NaN\n  && $acosh(Infinity) == Infinity\n), 'Math', {\n  acosh: function acosh(x) {\n    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n      ? Math.log(x) + Math.LN2\n      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n  }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n  atanh: function atanh(x) {\n    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n  }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n  cbrt: function cbrt(x) {\n    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n  }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  clz32: function clz32(x) {\n    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n  }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  cosh: function cosh(x) {\n    return (exp(x = +x) + exp(-x)) / 2;\n  }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n    var sum = 0;\n    var i = 0;\n    var aLen = arguments.length;\n    var larg = 0;\n    var arg, div;\n    while (i < aLen) {\n      arg = abs(arguments[i++]);\n      if (larg < arg) {\n        div = larg / arg;\n        sum = sum * div * div + 1;\n        larg = arg;\n      } else if (arg > 0) {\n        div = arg / larg;\n        sum += div * div;\n      } else sum += arg;\n    }\n    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n  }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n  imul: function imul(x, y) {\n    var UINT16 = 0xffff;\n    var xn = +x;\n    var yn = +y;\n    var xl = UINT16 & xn;\n    var yl = UINT16 & yn;\n    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n  }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log10: function log10(x) {\n    return Math.log(x) * Math.LOG10E;\n  }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log2: function log2(x) {\n    return Math.log(x) / Math.LN2;\n  }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n  return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n  sinh: function sinh(x) {\n    return Math.abs(x = +x) < 1\n      ? (expm1(x) - expm1(-x)) / 2\n      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n  }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  tanh: function tanh(x) {\n    var a = expm1(x = +x);\n    var b = expm1(-x);\n    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n  }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  trunc: function trunc(it) {\n    return (it > 0 ? Math.floor : Math.ceil)(it);\n  }\n});\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  if (typeof it == 'string' && it.length > 2) {\n    it = TRIM ? it.trim() : $trim(it, 3);\n    var first = it.charCodeAt(0);\n    var third, radix, maxCode;\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n        default: return +it;\n      }\n      for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n        code = digits.charCodeAt(i);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n  $Number = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var that = this;\n    return that instanceof $Number\n      // check on 1..constructor(foo) case\n      && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n  };\n  for (var keys = require('./_descriptors') ? gOPN(Base) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES6 (in case, if modules with ES6 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(Base, key = keys[j]) && !has($Number, key)) {\n      dP($Number, key, gOPD(Base, key));\n    }\n  }\n  $Number.prototype = proto;\n  proto.constructor = $Number;\n  require('./_redefine')(global, NUMBER, $Number);\n}\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n  isFinite: function isFinite(it) {\n    return typeof it == 'number' && _isFinite(it);\n  }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n  isSafeInteger: function isSafeInteger(number) {\n    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n  }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n  var i = -1;\n  var c2 = c;\n  while (++i < 6) {\n    c2 += n * data[i];\n    data[i] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\nvar divide = function (n) {\n  var i = 6;\n  var c = 0;\n  while (--i >= 0) {\n    c += data[i];\n    data[i] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\nvar numToString = function () {\n  var i = 6;\n  var s = '';\n  while (--i >= 0) {\n    if (s !== '' || i === 0 || data[i] !== 0) {\n      var t = String(data[i]);\n      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n    }\n  } return s;\n};\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n  // V8 ~ Android 4.3-\n  $toFixed.call({});\n})), 'Number', {\n  toFixed: function toFixed(fractionDigits) {\n    var x = aNumberValue(this, ERROR);\n    var f = toInteger(fractionDigits);\n    var s = '';\n    var m = ZERO;\n    var e, z, j, k;\n    if (f < 0 || f > 20) throw RangeError(ERROR);\n    // eslint-disable-next-line no-self-compare\n    if (x != x) return 'NaN';\n    if (x <= -1e21 || x >= 1e21) return String(x);\n    if (x < 0) {\n      s = '-';\n      x = -x;\n    }\n    if (x > 1e-21) {\n      e = log(x * pow(2, 69, 1)) - 69;\n      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = f;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        m = numToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        m = numToString() + repeat.call(ZERO, f);\n      }\n    }\n    if (f > 0) {\n      k = m.length;\n      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n    } else {\n      m = s + m;\n    } return m;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n  // IE7-\n  return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n  // V8 ~ Android 4.3-\n  $toPrecision.call({});\n})), 'Number', {\n  toPrecision: function toPrecision(precision) {\n    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n  }\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n  return function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n  };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n  return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n  return function isExtensible(it) {\n    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n  };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n  return function isFrozen(it) {\n    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n  };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n  return function isSealed(it) {\n    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n  };\n});\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n  return function preventExtensions(it) {\n    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n  };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n  return function seal(it) {\n    return $seal && isObject(it) ? $seal(meta(it)) : it;\n  };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n  require('./_redefine')(Object.prototype, 'toString', function toString() {\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n  rApply(function () { /* empty */ });\n}), 'Reflect', {\n  apply: function apply(target, thisArgument, argumentsList) {\n    var T = aFunction(target);\n    var L = anObject(argumentsList);\n    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n  }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n  function F() { /* empty */ }\n  return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n  rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n  construct: function construct(Target, args /* , newTarget */) {\n    aFunction(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n    if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n    if (Target == newTarget) {\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch (args.length) {\n        case 0: return new Target();\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      $args.push.apply($args, args);\n      return new (bind.apply(Target, $args))();\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto = newTarget.prototype;\n    var instance = create(isObject(proto) ? proto : Object.prototype);\n    var result = Function.apply.call(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n  // eslint-disable-next-line no-undef\n  Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n  defineProperty: function defineProperty(target, propertyKey, attributes) {\n    anObject(target);\n    propertyKey = toPrimitive(propertyKey, true);\n    anObject(attributes);\n    try {\n      dP.f(target, propertyKey, attributes);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  deleteProperty: function deleteProperty(target, propertyKey) {\n    var desc = gOPD(anObject(target), propertyKey);\n    return desc && !desc.configurable ? false : delete target[propertyKey];\n  }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n  this._t = anObject(iterated); // target\n  this._i = 0;                  // next index\n  var keys = this._k = [];      // keys\n  var key;\n  for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n  var that = this;\n  var keys = that._k;\n  var key;\n  do {\n    if (that._i >= keys.length) return { value: undefined, done: true };\n  } while (!((key = keys[that._i++]) in that._t));\n  return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n  enumerate: function enumerate(target) {\n    return new Enumerate(target);\n  }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n    return gOPD.f(anObject(target), propertyKey);\n  }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getPrototypeOf: function getPrototypeOf(target) {\n    return getProto(anObject(target));\n  }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var desc, proto;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n  has: function has(target, propertyKey) {\n    return propertyKey in target;\n  }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n  isExtensible: function isExtensible(target) {\n    anObject(target);\n    return $isExtensible ? $isExtensible(target) : true;\n  }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n  preventExtensions: function preventExtensions(target) {\n    anObject(target);\n    try {\n      if ($preventExtensions) $preventExtensions(target);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n  setPrototypeOf: function setPrototypeOf(target, proto) {\n    setProto.check(target, proto);\n    try {\n      setProto.set(target, proto);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n  var receiver = arguments.length < 4 ? target : arguments[3];\n  var ownDesc = gOPD.f(anObject(target), propertyKey);\n  var existingDescriptor, proto;\n  if (!ownDesc) {\n    if (isObject(proto = getPrototypeOf(target))) {\n      return set(proto, propertyKey, V, receiver);\n    }\n    ownDesc = createDesc(0);\n  }\n  if (has(ownDesc, 'value')) {\n    if (ownDesc.writable === false || !isObject(receiver)) return false;\n    if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n      existingDescriptor.value = V;\n      dP.f(receiver, propertyKey, existingDescriptor);\n    } else dP.f(receiver, propertyKey, createDesc(0, V));\n    return true;\n  }\n  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n  re2[require('./_wks')('match')] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n  $RegExp = function RegExp(p, f) {\n    var tiRE = this instanceof $RegExp;\n    var piRE = isRegExp(p);\n    var fiU = f === undefined;\n    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n      : inheritIfRequired(CORRECT_NEW\n        ? new Base(piRE && !fiU ? p.source : p, f)\n        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n      , tiRE ? this : proto, $RegExp);\n  };\n  var proxy = function (key) {\n    key in $RegExp || dP($RegExp, key, {\n      configurable: true,\n      get: function () { return Base[key]; },\n      set: function (it) { Base[key] = it; }\n    });\n  };\n  for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n  proto.constructor = $RegExp;\n  $RegExp.prototype = proto;\n  require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n  target: 'RegExp',\n  proto: true,\n  forced: regexpExec !== /./.exec\n}, {\n  exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n  configurable: true,\n  get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[MATCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative($match, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      if (!rx.global) return regExpExec(rx, S);\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = defined(this);\n      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return fn !== undefined\n        ? fn.call(searchValue, O, replaceValue)\n        : $replace.call(String(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n    function (regexp, replaceValue) {\n      var res = maybeCallNative($replace, regexp, this, replaceValue);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n        results.push(result);\n        if (!global) break;\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n        var matched = String(result[0]);\n        var position = max(min(toInteger(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n\n    // https://tc39.github.io/ecma262/#sec-getsubstitution\n  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n    var tailPos = position + matched.length;\n    var m = captures.length;\n    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n    if (namedCaptures !== undefined) {\n      namedCaptures = toObject(namedCaptures);\n      symbols = SUBSTITUTION_SYMBOLS;\n    }\n    return $replace.call(replacement, symbols, function (match, ch) {\n      var capture;\n      switch (ch.charAt(0)) {\n        case '$': return '$';\n        case '&': return matched;\n        case '`': return str.slice(0, position);\n        case \"'\": return str.slice(tailPos);\n        case '<':\n          capture = namedCaptures[ch.slice(1, -1)];\n          break;\n        default: // \\d\\d?\n          var n = +ch;\n          if (n === 0) return match;\n          if (n > m) {\n            var f = floor(n / 10);\n            if (f === 0) return match;\n            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n            return match;\n          }\n          capture = captures[n - 1];\n      }\n      return capture === undefined ? '' : capture;\n    });\n  }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[SEARCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n    function (regexp) {\n      var res = maybeCallNative($search, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n    'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n    'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n    '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n    '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n    ''[$SPLIT](/.?/)[LENGTH]\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(this);\n      if (separator === undefined && limit === 0) return [];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) return $split.call(string, separator, limit);\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy[LAST_INDEX];\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n          lastLength = match[0][LENGTH];\n          lastLastIndex = lastIndex;\n          if (output[LENGTH] >= splitLimit) break;\n        }\n        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string[LENGTH]) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n    };\n  // Chakra, V8\n  } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n    };\n  } else {\n    internalSplit = $split;\n  }\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = defined(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (SUPPORTS_Y ? 'y' : 'g');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n        var e;\n        if (\n          z === null ||\n          (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n});\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n  require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n  define(function toString() {\n    var R = anObject(this);\n    return '/'.concat(R.source, '/',\n      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n  });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n  define(function toString() {\n    return $toString.call(this);\n  });\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value) {\n    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n  return function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n  return function big() {\n    return createHTML(this, 'big', '', '');\n  };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n  return function blink() {\n    return createHTML(this, 'blink', '', '');\n  };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n  return function bold() {\n    return createHTML(this, 'b', '', '');\n  };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n  // 21.1.3.3 String.prototype.codePointAt(pos)\n  codePointAt: function codePointAt(pos) {\n    return $at(this, pos);\n  }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = context(this, searchString, ENDS_WITH);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n    var search = String(searchString);\n    return $endsWith\n      ? $endsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n  return function fixed() {\n    return createHTML(this, 'tt', '', '');\n  };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n  return function fontcolor(color) {\n    return createHTML(this, 'font', 'color', color);\n  };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n  return function fontsize(size) {\n    return createHTML(this, 'font', 'size', size);\n  };\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n  // 21.1.2.2 String.fromCodePoint(...codePoints)\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var res = [];\n    var aLen = arguments.length;\n    var i = 0;\n    var code;\n    while (aLen > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n      res.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n      );\n    } return res.join('');\n  }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n  return function italics() {\n    return createHTML(this, 'i', '', '');\n  };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n  return function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  };\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n  // 21.1.2.4 String.raw(callSite, ...substitutions)\n  raw: function raw(callSite) {\n    var tpl = toIObject(callSite.raw);\n    var len = toLength(tpl.length);\n    var aLen = arguments.length;\n    var res = [];\n    var i = 0;\n    while (len > i) {\n      res.push(String(tpl[i++]));\n      if (i < aLen) res.push(String(arguments[i]));\n    } return res.join('');\n  }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n  // 21.1.3.13 String.prototype.repeat(count)\n  repeat: require('./_string-repeat')\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n  return function small() {\n    return createHTML(this, 'small', '', '');\n  };\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = context(this, searchString, STARTS_WITH);\n    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n  return function strike() {\n    return createHTML(this, 'strike', '', '');\n  };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n  return function sub() {\n    return createHTML(this, 'sub', '', '');\n  };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n  return function sup() {\n    return createHTML(this, 'sup', '', '');\n  };\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n  return function trim() {\n    return $trim(this, 3);\n  };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n  // 24.1.3.1 ArrayBuffer.isView(arg)\n  isView: function isView(it) {\n    return $isView && $isView(it) || isObject(it) && VIEW in it;\n  }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n  return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n  // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n  slice: function slice(start, end) {\n    if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n    var len = anObject(this).byteLength;\n    var first = toAbsoluteIndex(start, len);\n    var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n    var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n    var viewS = new $DataView(this);\n    var viewT = new $DataView(result);\n    var index = 0;\n    while (first < fin) {\n      viewT.setUint8(index++, viewS.getUint8(first++));\n    } return result;\n  }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n  DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n  return function Float32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n  return function Float64Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int16', 2, function (init) {\n  return function Int16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n  return function Int32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n  return function Uint16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n  return function Uint32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      // store frozen objects on internal weakmap shim\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n  return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.4.3.1 WeakSet.prototype.add(value)\n  add: function add(value) {\n    return weak.def(validate(this, WEAK_SET), value, true);\n  }\n}, weak, false, true);\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n  flatMap: function flatMap(callbackfn /* , thisArg */) {\n    var O = toObject(this);\n    var sourceLen, A;\n    aFunction(callbackfn);\n    sourceLen = toLength(O.length);\n    A = arraySpeciesCreate(O, 0);\n    flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n    return A;\n  }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIObject(object);\n    var getDesc = gOPD.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var i = 0;\n    var key, desc;\n    while (keys.length > i) {\n      desc = getDesc(O, key = keys[i++]);\n      if (desc !== undefined) createProperty(result, key, desc);\n    }\n    return result;\n  }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n  values: function values(it) {\n    return $values(it);\n  }\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n  }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n  }\n});\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n  return function trimLeft() {\n    return $trim(this, 1);\n  };\n}, 'trimStart');\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n  return function trimRight() {\n    return $trim(this, 2);\n  };\n}, 'trimEnd');\n","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true, // TODO: Not spec compliant, should be false.\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n  }\n}\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n  setImmediate: $task.set,\n  clearImmediate: $task.clear\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n  return function (fn, time /* , ...args */) {\n    var boundArgs = arguments.length > 2;\n    var args = boundArgs ? slice.call(arguments, 2) : false;\n    return set(boundArgs ? function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n    } : fn, time);\n  };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n  setTimeout: wrap(global.setTimeout),\n  setInterval: wrap(global.setInterval)\n});\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","(function() {\n  var base64map\n      = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n  crypt = {\n    // Bit-wise rotation left\n    rotl: function(n, b) {\n      return (n << b) | (n >>> (32 - b));\n    },\n\n    // Bit-wise rotation right\n    rotr: function(n, b) {\n      return (n << (32 - b)) | (n >>> b);\n    },\n\n    // Swap big-endian to little-endian and vice versa\n    endian: function(n) {\n      // If number given, swap endian\n      if (n.constructor == Number) {\n        return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n      }\n\n      // Else, assume array and swap all items\n      for (var i = 0; i < n.length; i++)\n        n[i] = crypt.endian(n[i]);\n      return n;\n    },\n\n    // Generate an array of any length of random bytes\n    randomBytes: function(n) {\n      for (var bytes = []; n > 0; n--)\n        bytes.push(Math.floor(Math.random() * 256));\n      return bytes;\n    },\n\n    // Convert a byte array to big-endian 32-bit words\n    bytesToWords: function(bytes) {\n      for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n        words[b >>> 5] |= bytes[i] << (24 - b % 32);\n      return words;\n    },\n\n    // Convert big-endian 32-bit words to a byte array\n    wordsToBytes: function(words) {\n      for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n        bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a hex string\n    bytesToHex: function(bytes) {\n      for (var hex = [], i = 0; i < bytes.length; i++) {\n        hex.push((bytes[i] >>> 4).toString(16));\n        hex.push((bytes[i] & 0xF).toString(16));\n      }\n      return hex.join('');\n    },\n\n    // Convert a hex string to a byte array\n    hexToBytes: function(hex) {\n      for (var bytes = [], c = 0; c < hex.length; c += 2)\n        bytes.push(parseInt(hex.substr(c, 2), 16));\n      return bytes;\n    },\n\n    // Convert a byte array to a base-64 string\n    bytesToBase64: function(bytes) {\n      for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n        var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n        for (var j = 0; j < 4; j++)\n          if (i * 8 + j * 6 <= bytes.length * 8)\n            base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n          else\n            base64.push('=');\n      }\n      return base64.join('');\n    },\n\n    // Convert a base-64 string to a byte array\n    base64ToBytes: function(base64) {\n      // Remove non-base-64 characters\n      base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n      for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n          imod4 = ++i % 4) {\n        if (imod4 == 0) continue;\n        bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n            & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n            | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n      }\n      return bytes;\n    }\n  };\n\n  module.exports = crypt;\n})();\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.intents-dialog ux-dialog-body>.detail:first-letter{text-transform:capitalize}ux-dialog.intents-dialog ux-dialog-body>ul{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul li.intent+li.intent{margin-top:1rem}ux-dialog.intents-dialog ux-dialog-body>ul .intent{display:block;padding:1rem;border:1px solid #e0e0e0;background-color:#fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose{display:block}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate{color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:hover{color:#404040}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li{display:flex;justify-content:space-between;align-items:center;background:#f8f8f8}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.saved{color:#1cc800}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.not-saved{color:#f30}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li:not(:last-child){border-bottom:5px solid #fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject ka-control-file:hover .buttons{line-height:1}ux-dialog.intents-dialog ux-dialog-footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/intents.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,6DAKI,yBACI,CAAA,2CACJ,eACE,CAAA,+DACA,eACE,CAAA,mDACF,aACE,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,2DACA,aACE,CAAA,qEACA,aCjBM,CAAA,yBDmBJ,CAAA,cACA,CAAA,oBACA,CAAA,2EACA,aCvBC,CAAA,4EDyBD,oBEyBV,CAAA,WFxBiC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBE4BrD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sEFtCM,eACE,CAAA,yEACA,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,kBACA,CAAA,iFACA,aC5BE,CAAA,qFD8BF,UC/BA,CAAA,0FDiCF,4BACE,CAAA,qGAGF,aACE,CAAA,8DAGV,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.intents-dialog\\n  ux-dialog-body\\n    > .detail:first-letter\\n        text-transform: capitalize\\n    > ul\\n      list-style: none \\n      li.intent + li.intent\\n        margin-top: 1rem\\n      .intent\\n        display: block\\n        padding: 1rem\\n        border: 1px solid #e0e0e0\\n        background-color: #ffffff\\n        compose\\n          display: block\\n          .navigate\\n            color: $primary-color\\n            text-decoration: underline\\n            cursor: pointer\\n            transition: color .3s\\n            &:hover\\n              color: $text-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $primary-color)\\n          > ul.subject\\n            list-style: none\\n            > li\\n              display: flex\\n              justify-content: space-between\\n              align-items: center\\n              background: #f8f8f8\\n              i.saved\\n                color: $success-color\\n              i.not-saved\\n                color: $error-color\\n            > li:not(:last-child)\\n              border-bottom: 5px solid #fff\\n\\n            // fix ka control file issue\\n            ka-control-file:hover .buttons\\n              line-height: 1\\n\\n  ux-dialog-footer\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog{width:300px;position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column}ux-dialog .loginbox h1{margin:0 0 4rem;padding:0 0 2rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:1;text-transform:uppercase}ux-dialog .loginbox p{margin:0 0 2rem 0}ux-dialog .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}ux-dialog .loginbox button,ux-dialog .loginbox ka-button{margin:0}ux-dialog .loginbox .reset{display:inline-block;padding:0 1rem;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}ux-dialog .loginbox .reset:hover{text-decoration:underline}ux-dialog .loginbox ka-input{margin-bottom:3rem}ux-dialog .loginbox img{margin:1rem 1rem 3rem;width:100%;max-width:250px}ux-dialog .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}ux-dialog .loginbox .footer{margin:2rem -2rem -2rem;padding:2rem;text-align:right;background-color:rgba(237,90,35,.1)}ux-dialog .loginbox .footer p{margin:5px 0;line-height:1;text-align:right}ux-dialog .loginbox .footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}ux-dialog .loginbox .footer a{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/vms/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,UACE,WAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CAEE,uBACE,eAAA,CACA,gBAAA,CACA,+BAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,wBAAA,CACF,sBACE,iBAAA,CACF,mCACE,mBAAA,CACA,SAAA,CAEF,yDACE,QAAA,CAEF,2BACE,oBAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,iCACE,yBAAA,CAEJ,6BACE,kBAAA,CAIF,wBACE,qBAAA,CACA,UAAA,CACA,eAAA,CAEF,2BACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAEF,4BACE,uBAAA,CACA,YAAA,CACA,gBAAA,CACA,mCAAA,CACA,8BACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,oCACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aCxFM,CDyFV,8BACE,aC3FK\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  width: 300px\\n  position: absolute\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  -webkit-box-pack: center\\n  -ms-flex-pack: center\\n  -webkit-justify-content: center\\n  -moz-justify-content: center\\n  justify-content: center\\n  -webkit-box-align: center\\n  -ms-flex-align: center\\n  -webkit-align-items: center\\n  -moz-align-items: center\\n  align-items: center\\n  flex-direction: column\\n  -ms-flex-direction: column\\n  -moz-flex-direction: column\\n  -webkit-flex-direction: column\\n  .loginbox\\n    h1\\n      margin: 0 0 4rem\\n      padding: 0 0 2rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 1\\n      text-transform: uppercase\\n    p\\n      margin: 0 0 2rem 0\\n    p.errorMessage\\n      margin: -2rem 0 2rem\\n      color: red\\n\\n    button, ka-button\\n      margin: 0\\n\\n    .reset\\n      display: inline-block\\n      padding: 0 1rem\\n      font-size: 1.2rem\\n      line-height: 3rem\\n      color: #909090\\n      text-decoration: none\\n      &:hover\\n        text-decoration: underline\\n\\n    ka-input\\n      margin-bottom: 3rem\\n      button\\n        //display: none\\n    \\n    img\\n      margin: 1rem 1rem 3rem\\n      width: 100%\\n      max-width: 250px\\n          \\n    canvas\\n      display: block\\n      margin: 0 1rem 1rem\\n      width: 100%\\n      max-width: 250px\\n\\n    .footer\\n      margin: 2rem -2rem -2rem\\n      padding: 2rem\\n      text-align: right\\n      background-color: rgba($primary-color, 0.1)\\n      p\\n        margin: 5px 0\\n        line-height: 1\\n        text-align: right\\n        &.title\\n          margin-bottom: 0\\n          font-size: 1.8rem\\n          font-weight: 300\\n          color: $primary-color\\n      a\\n        color: $text-color\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-accordion-button{display:inline-block;margin:0 1rem;transform-style:preserve-3d;transform-origin:50% 50%;perspective:200px}md-accordion-button>div{position:relative;height:3rem;min-width:22rem;overflow:hidden;white-space:nowrap;transition:transform .5s ease-in;border-radius:3px;cursor:pointer;font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:400;color:#11254b}md-accordion-button>div>span{display:flex;justify-content:center;align-items:center;height:100%;width:100%;overflow:hidden;background:rgba(17,37,75,.06);transition:background .5s,height 0s .25s}md-accordion-button>div:hover>span{background:rgba(17,37,75,.12)}md-accordion-button>div .collapse_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .expand_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .collapse_text{height:100%}md-accordion-button>div .expand_text{height:0;transform:rotateX(180deg)}md-accordion-button.collapsed>div{transform:rotateX(180deg)}md-accordion-button.collapsed>div .collapse_text{height:0}md-accordion-button.collapsed>div .expand_text{height:100%}.md_accordion_target{overflow:hidden;transition:height .4s ease-in .1s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-accordion-button/md-accordion-button.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,oBAGA,oBACE,CAAA,aACA,CAAA,2BACA,CAAA,wBACA,CAAA,iBACA,CAAA,wBACA,iBACE,CAAA,WACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,gCACA,CAAA,iBACA,CAAA,cACA,CAAA,yCACA,CAAA,eACA,CAAA,aCjBc,CAAA,6BDmBd,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,WACA,CAAA,UACA,CAAA,eACA,CAAA,6BACA,CAAA,wCACA,CAAA,mCACF,6BACE,CAAA,8CACF,oBEkBF,CAAA,WFjByB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBEqB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4CF/BA,oBEgBF,CAAA,WFfyB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBEmB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCF5BA,WACE,CAAA,qCACF,QACE,CAAA,yBACA,CAAA,kCAEJ,yBACE,CAAA,iDACA,QACE,CAAA,+CACF,WACE,CAAA,qBAEN,eACE,CAAA,iCACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-accordion-button\\n  display: inline-block\\n  margin: 0 1rem\\n  transform-style: preserve-3d\\n  transform-origin: 50% 50%\\n  perspective: 200px\\n  > div\\n    position: relative\\n    height: 3rem\\n    min-width: 22rem\\n    overflow: hidden\\n    white-space: nowrap\\n    transition: transform .5s ease-in\\n    border-radius: 3px\\n    cursor: pointer\\n    font-family: 'Roboto condensed', sans-serif\\n    font-weight: 400\\n    color: $secondary-color\\n    > span\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      height: 100%\\n      width: 100%\\n      overflow: hidden\\n      background: rgba($secondary-color, .06)\\n      transition: background .5s, height 0s .25s\\n    &:hover > span\\n      background: rgba($secondary-color, .12)\\n    .collapse_text:before\\n      @include fontawesome(\\\"\\\\f341\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    .expand_text:before\\n      @include fontawesome(\\\"\\\\f345\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    \\n    .collapse_text\\n      height: 100%\\n    .expand_text\\n      height: 0\\n      transform: rotateX(180deg)\\n\\n  &.collapsed > div\\n    transform: rotateX(180deg)\\n    .collapse_text\\n      height: 0\\n    .expand_text\\n      height: 100%\\n\\n.md_accordion_target\\n  overflow: hidden\\n  transition: height .4s ease-in .1s\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}md-bar-chart{display:block;width:100%}md-bar-chart .md-bar-chart-wrapper{position:relative;display:grid;row-gap:min(.3vh,1.2rem);width:100%;color:#11254b;font-family:\\\"Roboto condensed\\\",sans-serif;isolation:isolate}md-bar-chart .md-bar-chart-wrapper:before{background-color:#f0f0f0;background-image:linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));background-size:40px 100%;background-repeat:no-repeat;background-position:left -40px top 0;border-radius:5px;content:\\\"\\\";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;animation:shine 1s ease infinite;transition:opacity .4s ease 0s}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending{background:rgba(0,0,0,0)}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending:before{opacity:1;animation:skeleton-in .3s ease,shine 1s ease infinite;transition:none}@media(prefers-reduced-motion: reduce){md-bar-chart .md-bar-chart-wrapper:before,md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending:before{animation:shine 1s ease infinite;transition:none}}md-bar-chart .md-bar-chart-wrapper:after{content:\\\"\\\";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:5px;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}md-bar-chart .md-bar-chart-wrapper:before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}md-bar-chart .md-bar-chart-wrapper:after{opacity:0;transition:opacity .4s ease}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending{pointer-events:none}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending:after{opacity:1;animation:skeleton-in .3s ease;transition:none}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending>*{opacity:0}md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending .md-bar-chart-scale>*{animation:none}@media(prefers-reduced-motion: reduce){md-bar-chart .md-bar-chart-wrapper:after,md-bar-chart .md-bar-chart-wrapper.md-bar-chart-pending:after{animation:none;transition:none}}md-bar-chart .md-bar-chart{position:relative;z-index:3;height:clamp(1.2rem,1.3vw,2.4rem)}md-bar-chart .md-bar-chart-track{display:flex;column-gap:.8rem;height:100%}md-bar-chart .md-bar-chart-segment{position:relative;flex:0 0 auto;width:0;height:100%;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);background:var(--md-bar-chart-color);transition:none}md-bar-chart .md-bar-chart-segment:after{content:\\\"\\\";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}md-bar-chart .md-bar-chart-segment-empty{background:rgba(0,0,0,.06);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}md-bar-chart .md-bar-chart-animated .md-bar-chart-segment{width:calc((100% - (var(--md-bar-chart-count) - 1)*0.8rem)*var(--md-bar-chart-ratio));transition:width var(--md-bar-chart-duration) ease-out var(--md-bar-chart-delay)}md-bar-chart .md-bar-chart-scale{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:1rem;margin:0;padding:0;line-height:1;font-size:1.4rem}md-bar-chart .md-bar-chart-scale>*{min-width:0;animation:md-bar-chart-fade-in 1s ease both}md-bar-chart .md-bar-chart-scale-min,md-bar-chart .md-bar-chart-scale-max{font-family:\\\"Roboto mono\\\",monospace;color:rgba(17,37,75,.8)}md-bar-chart .md-bar-chart-scale-min{justify-self:start}md-bar-chart .md-bar-chart-scale-max{justify-self:end}md-bar-chart .md-bar-chart-scale-total{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;justify-self:center;color:#11254b}@keyframes md-bar-chart-fade-in{from{opacity:0}to{opacity:1}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/resources/elements/md-bar-chart/md-bar-chart.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AA0WA,uBACE,KACE,SAAA,CAAA,CCtWJ,aACE,aAAA,CACA,UAAA,CACA,mCACE,iBAAA,CACA,YAAA,CACA,wBAAA,CACA,UAAA,CACA,aCZc,CDad,yCAAA,CDsDA,iBAAA,CACA,0CATF,wBAM2B,CAL3B,gGAAA,CACA,yBAAA,CACA,2BAAA,CACA,oCAAA,CACA,iBE7C2B,CFmDvB,UAAA,CACA,iBAAA,CACA,OAAA,CACA,SARqE,CASrE,SAAA,CACA,mBAAA,CACA,gCAAA,CACA,8BAAA,CACF,wDACE,wBAAA,CACF,+DACE,SAAA,CACA,qDAAA,CACA,eAAA,CACF,uCACE,yGACE,gCAAA,CACA,eAAA,CAAA,CAtCN,yCACE,UAAA,CACA,iBAAA,CACA,OAAA,CACA,SAL2E,CAM3E,mBAAA,CACA,iBEpCyB,CFqCzB,uBEvCmB,CFwCnB,wHE9ByB,CDXzB,0CACE,0CAAA,CACF,yCACE,SAAA,CACA,2BAAA,CACF,wDACE,mBAAA,CACA,8DACE,SAAA,CACA,8BAAA,CACA,eAAA,CACF,0DACE,SAAA,CACF,8EACE,cAAA,CACJ,uCACE,uGACE,cAAA,CACA,eAAA,CAAA,CAEN,2BACE,iBAAA,CACA,SAAA,CACA,iCAAA,CACF,iCACE,YAAA,CACA,gBAxCe,CAyCf,WAAA,CACF,mCACE,iBAAA,CACA,aAAA,CACA,OAAA,CACA,WAAA,CACA,iBC9ByB,CD+BzB,yCAAA,CACA,oCAAA,CACA,eAAA,CDHF,yCACE,UAAA,CACA,iBAAA,CACA,OAAA,CACA,SAL2E,CAM3E,mBAAA,CACA,qBCF0B,CDG1B,uBEvCmB,CFwCnB,wHE9ByB,CD2B3B,yCACE,0BAAA,CACA,yCAAA,CACF,0DACE,qFAAA,CACA,gFAAA,CAGF,iCACE,iBAAA,CACA,SAAA,CACA,YAAA,CACA,kCAAA,CACA,oBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,aAAA,CACA,gBAAA,CACA,mCACE,WAAA,CACA,2CAAA,CAEJ,0EAEE,mCAAA,CACA,uBCvD4B,CDwD9B,qCACE,kBAAA,CACF,qCACE,gBAAA,CACF,uCEpFA,WAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CFmFE,mBAAA,CACA,aCxFc,CD0FlB,gCACE,KACE,SAAA,CACF,GACE,SAAA,CAAA\",\"sourcesContent\":[\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\n$md-bar-chart-gap: .8rem\\n\\nmd-bar-chart\\n  display: block\\n  width: 100%\\n  .md-bar-chart-wrapper\\n    position: relative\\n    display: grid\\n    row-gap: min(.3vh, $md-dashboard-inset-gap)\\n    width: 100%\\n    color: $md-dashboard-text-color\\n    font-family: 'Roboto condensed', sans-serif\\n    @include skeleton($when: '.md-bar-chart-pending')\\n    @include dashboardStripes()\\n    &:before\\n      box-shadow: inset 0 0 0 1px rgba(#000, .15)\\n    &:after\\n      opacity: 0\\n      transition: opacity .4s ease\\n    &.md-bar-chart-pending\\n      pointer-events: none\\n      &:after\\n        opacity: 1\\n        animation: skeleton-in .3s ease\\n        transition: none\\n      > *\\n        opacity: 0\\n      .md-bar-chart-scale > *\\n        animation: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:after, &.md-bar-chart-pending:after\\n        animation: none\\n        transition: none\\n\\n  .md-bar-chart\\n    position: relative\\n    z-index: 3\\n    height: clamp(1.2rem, 1.3vw, 2.4rem)\\n  .md-bar-chart-track\\n    display: flex\\n    column-gap: $md-bar-chart-gap\\n    height: 100%\\n  .md-bar-chart-segment\\n    position: relative\\n    flex: 0 0 auto\\n    width: 0\\n    height: 100%\\n    border-radius: $md-dashboard-border-radius\\n    box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n    background: var(--md-bar-chart-color)\\n    transition: none\\n    @include dashboardStripes(inherit)\\n  .md-bar-chart-segment-empty\\n    background: rgba(#000, .06)\\n    box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n  .md-bar-chart-animated .md-bar-chart-segment\\n    width: calc((100% - (var(--md-bar-chart-count) - 1) * #{$md-bar-chart-gap}) * var(--md-bar-chart-ratio))\\n    transition: width var(--md-bar-chart-duration) ease-out var(--md-bar-chart-delay)\\n\\n  // Barra testuale sotto\\n  .md-bar-chart-scale\\n    position: relative\\n    z-index: 3\\n    display: grid\\n    grid-template-columns: 1fr auto 1fr\\n    align-items: baseline\\n    column-gap: 1rem\\n    margin: 0\\n    padding: 0\\n    line-height: 1\\n    font-size: 1.4rem\\n    > *\\n      min-width: 0\\n      animation: md-bar-chart-fade-in 1s ease both\\n\\n  .md-bar-chart-scale-min,\\n  .md-bar-chart-scale-max\\n    font-family: 'Roboto mono', monospace\\n    color: $md-dashboard-text-color-matte\\n  .md-bar-chart-scale-min\\n    justify-self: start\\n  .md-bar-chart-scale-max\\n    justify-self: end\\n  .md-bar-chart-scale-total\\n    @include ellipsis\\n    justify-self: center\\n    color: $md-dashboard-text-color\\n\\n@keyframes md-bar-chart-fade-in\\n  from\\n    opacity: 0\\n  to\\n    opacity: 1\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}md-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 11rem), 1fr));gap:1.2rem;width:100%}md-cards .md-cards-item{container-type:inline-size;display:grid;align-content:center;justify-items:center;position:relative;row-gap:.6rem;padding:2rem;min-width:0;height:round(clamp(12rem,12vw,16rem),1px);overflow:hidden;text-align:center;color:#11254b;border-radius:5px;border:1px solid rgba(0,0,0,.15);background:color-mix(in srgb, var(--card-background) 30%, transparent);transition:background 1s ease var(--md-cards-delay, 0ms);isolation:isolate}md-cards .md-cards-item:after{content:\\\"\\\";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:5px;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}md-cards .md-cards-item:before{background-color:#f0f0f0;background-image:linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));background-size:40px 100%;background-repeat:no-repeat;background-position:left -40px top 0;border-radius:5px;content:\\\"\\\";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;animation:shine 1s ease infinite;transition:opacity .4s ease var(--md-cards-delay, 0ms)}md-cards .md-cards-item.md-cards-pending{background:rgba(0,0,0,0)}md-cards .md-cards-item.md-cards-pending:before{opacity:1;animation:skeleton-in .3s ease,shine 1s ease infinite;transition:none}@media(prefers-reduced-motion: reduce){md-cards .md-cards-item:before,md-cards .md-cards-item.md-cards-pending:before{animation:shine 1s ease infinite;transition:none}}md-cards .md-cards-item>*{position:relative;z-index:3;max-width:100%}md-cards .md-cards-item>*,md-cards .md-cards-item .md-cards-link:before{animation:md-cards-fade-in 1s ease both;animation-delay:calc(1s + var(--md-cards-delay, 0ms))}md-cards .md-cards-pending{pointer-events:none;transition:none}md-cards .md-cards-pending>*,md-cards .md-cards-pending .md-cards-link:before{opacity:0;animation:none}md-cards .md-cards-link{position:absolute;inset:0;z-index:4;border-radius:inherit}md-cards .md-cards-link:before{position:absolute;z-index:3;top:1rem;right:1rem;transform:rotate(-45deg);transition:opacity 1s ease calc(1s + var(--md-cards-delay, 0ms));display:inline-block;content:\\\"\\\";margin:0;font-size:clamp(1.1rem,1.2vw,1.4rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:unset;animation:unset;font-weight:400}md-cards .md-cards-title,md-cards .md-cards-content,md-cards .md-cards-info{padding:0;margin:0;line-height:1;color:#11254b;font-family:\\\"Roboto condensed\\\",sans-serif}md-cards .md-cards-content{font-variant-numeric:tabular-nums}md-cards .md-cards-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-weight:500;text-align:center;text-transform:uppercase;font-size:clamp(1.1rem,1rem + 2.5cqi,1.4rem);font-family:\\\"Roboto condensed\\\",sans-serif;color:#11254b}md-cards .md-cards-total,md-cards .md-cards-suffix{margin-left:.25rem;font-weight:400;font-size:clamp(1.2rem,14cqi,1.5rem);color:rgba(17,37,75,.8);font-family:\\\"Roboto condensed\\\",sans-serif}md-cards .md-cards-prefix,md-cards .md-cards-partial{font-weight:700;display:inline-block;font-size:clamp(1.8rem,22cqi,2.9rem);font-family:\\\"Roboto mono\\\",sans-serif;font-size:clamp(1.2rem,(100cqi - var(--partial-reserve, 2.5rem))/(var(--partial-chars, 4)*.62),2.9rem)}md-cards .md-cards-prefix.has-decimals,md-cards .md-cards-partial.has-decimals{letter-spacing:-0.1rem}md-cards .md-cards-prefix.md-cards-text,md-cards .md-cards-partial.md-cards-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;vertical-align:bottom;font-family:\\\"Roboto flex\\\",sans-serif}md-cards .md-cards-info{display:grid;row-gap:.4rem;width:100%}md-cards .md-cards-info>p{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;line-height:1.2;font-size:clamp(1rem,1.1rem + 3cqi,1.5rem);color:rgba(17,37,75,.8);font-family:\\\"Roboto condensed\\\",sans-serif;margin:0;line-height:1}md-cards .md-cards-info>p.md-cards-cta{margin:0;color:#11254b;text-decoration:underline;text-underline-offset:.3rem;text-decoration-thickness:1px}md-cards .md-cards-cta{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;line-height:1.2;font-size:clamp(1rem,1.1rem + 3cqi,1.5rem);color:rgba(17,37,75,.8);font-family:\\\"Roboto condensed\\\",sans-serif}md-cards .md-cards-cta.md-cards-cta{margin:0;color:#11254b;text-decoration:underline;text-underline-offset:.3rem;text-decoration-thickness:1px}@keyframes md-cards-fade-in{from{opacity:0}to{opacity:1}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-cards/md-cards.sass\",\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uBC0WA,KACE,SACE,CAAA,CAAA,SDxWJ,YACE,CAAA,qEACA,CAAA,UEYuB,CAAA,UFVvB,CAAA,wBACA,0BAEE,CAAA,YACA,CAAA,oBACA,CAAA,oBACA,CAAA,iBACA,CAAA,aACA,CAAA,YACA,CAAA,WACA,CAAA,yCACA,CAAA,eACA,CAAA,iBACA,CAAA,aEnBc,CAAA,iBAmBW,CAAA,gCFGzB,CAAA,sEACA,CAAA,wDACA,CAAA,iBC2CA,CAAA,8BAlBF,UACE,CAAA,iBACA,CAAA,OACA,CAAA,SAJ2E,CAAA,mBAM3E,CAAA,iBCnCyB,CAAA,uBAFN,CAAA,wHAUM,CAAA,+BDyCzB,wBAHyB,CAAA,gGAL3B,CAAA,yBACA,CAAA,2BACA,CAAA,oCACA,CAAA,iBC5C2B,CAAA,UDmDvB,CAAA,iBACA,CAAA,OACA,CAAA,SAPqE,CAAA,SASrE,CAAA,mBACA,CAAA,gCACA,CAAA,sDACA,CAAA,yCACF,wBACE,CAAA,gDACF,SACE,CAAA,qDACA,CAAA,eACA,CAAA,uCACF,+EACE,gCACE,CAAA,eACA,CAAA,CAAA,0BD7DJ,iBACE,CAAA,SACA,CAAA,cACA,CAAA,wEACF,uCACE,CAAA,qDACA,CAAA,2BAEJ,mBACE,CAAA,eACA,CAAA,8EACA,SACE,CAAA,cACA,CAAA,wBAEJ,iBACE,CAAA,OACA,CAAA,SACA,CAAA,qBACA,CAAA,+BACA,iBACE,CAAA,SACA,CAAA,QACA,CAAA,UACA,CAAA,wBACA,CAAA,gEACA,CAAA,oBGJJ,CAAA,WHKyB,CAAA,QAAkD,CAAA,oCAA9B,CAAA,iBGD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDxDgB,CAAA,oBC+CmD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4EHRF,SAGE,CAAA,QACA,CAAA,aACA,CAAA,aE5Dc,CAAA,yCF8Dd,CAAA,2BAEF,iCACE,CAAA,yBACF,WGjEA,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,QF6FA,CAAA,SACA,CAAA,eACA,CAAA,iBACA,CAAA,wBACA,CAAA,4CACA,CAAA,yCACA,CAAA,aCvGgB,CAAA,mDFoEhB,kBC+CA,CAAA,eACA,CAAA,oCACA,CAAA,uBC5F8B,CAAA,yCD8F9B,CAAA,qDDjDA,eCmDA,CAAA,oBACA,CAAA,oCACA,CAAA,oCACA,CAAA,sGAEE,CAAA,+EACF,sBACE,CAAA,iFACF,WEhIA,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,cF+HE,CAAA,eACA,CAAA,qBACA,CAAA,oCACA,CAAA,wBD9DF,YACE,CAAA,aACA,CAAA,UACA,CAAA,0BACA,WG3EF,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,eFqIA,CAAA,eACA,CAAA,0CACA,CAAA,uBClH8B,CAAA,yCDoH9B,CAAA,QD/DI,CAAA,aACA,CAAA,uCC+DJ,QACE,CAAA,aC/Ic,CAAA,yBDiJd,CAAA,2BACA,CAAA,6BACA,CAAA,uBDnEF,WG/EA,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,eFqIA,CAAA,eACA,CAAA,0CACA,CAAA,uBClH8B,CAAA,yCDoH9B,CAAA,oCACA,QACE,CAAA,aC/Ic,CAAA,yBDiJd,CAAA,2BACA,CAAA,6BACA,CAAA,4BDhEJ,KACE,SACE,CAAA,GACF,SACE,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\nmd-cards\\n  display: grid\\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr))\\n  gap: $md-dashboard-inset-gap\\n  width: 100%\\n  .md-cards-item\\n    @include dashboardStripes()\\n    container-type: inline-size\\n    display: grid\\n    align-content: center\\n    justify-items: center\\n    position: relative\\n    row-gap: calc($md-dashboard-inset-gap / 2)\\n    padding: 2rem\\n    min-width: 0\\n    height: round(clamp(12rem, 12vw, 16rem), 1px)\\n    overflow: hidden\\n    text-align: center\\n    color: $md-dashboard-text-color\\n    border-radius: $md-dashboard-border-radius\\n    border: 1px solid rgba(#000, .15)\\n    background: color-mix(in srgb, var(--card-background) 30%, transparent)\\n    transition: background 1s ease var(--md-cards-delay, 0ms)\\n    @include skeleton($when: '.md-cards-pending', $delay: var(--md-cards-delay, 0ms))\\n    > *\\n      position: relative\\n      z-index: 3\\n      max-width: 100%\\n    > *, .md-cards-link:before\\n      animation: md-cards-fade-in 1s ease both\\n      animation-delay: calc(1s + var(--md-cards-delay, 0ms))\\n\\n  .md-cards-pending\\n    pointer-events: none\\n    transition: none\\n    > *, .md-cards-link:before\\n      opacity: 0\\n      animation: none\\n\\n  .md-cards-link\\n    position: absolute\\n    inset: 0\\n    z-index: 4\\n    border-radius: inherit\\n    &:before\\n      position: absolute\\n      z-index: 3\\n      top: 1rem\\n      right: 1rem\\n      transform: rotate(-45deg)\\n      transition: opacity 1s ease calc(1s + var(--md-cards-delay, 0ms))\\n      @include fontawesome(\\\"\\\\f178\\\", 'regular', clamp(1.1rem, 1.2vw, 1.4rem), 0, $md-dashboard-text-color)\\n\\n  .md-cards-title,\\n  .md-cards-content,\\n  .md-cards-info\\n    padding: 0\\n    margin: 0\\n    line-height: 1\\n    color: $md-dashboard-text-color\\n    font-family: 'Roboto condensed', sans-serif\\n\\n  .md-cards-content\\n    font-variant-numeric: tabular-nums\\n  .md-cards-title\\n    @include h3\\n  .md-cards-total, .md-cards-suffix\\n    @include total\\n  .md-cards-prefix, .md-cards-partial\\n    @include partial($adaptive: true)\\n  .md-cards-info\\n    display: grid\\n    row-gap: .4rem\\n    width: 100%\\n    > p\\n      @include paragraph\\n      margin: 0\\n      line-height: 1\\n  .md-cards-cta\\n    @include paragraph\\n\\n@keyframes md-cards-fade-in\\n  from\\n    opacity: 0\\n  to\\n    opacity: 1\\n\",\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}md-chart-legend{display:block;width:100%;container-type:inline-size}md-chart-legend .md-chart-legend-wrapper{position:relative;display:grid;row-gap:round(min(.3vh,1.2rem),1px);width:100%;color:#11254b;font-family:\\\"Roboto condensed\\\",sans-serif;isolation:isolate}md-chart-legend .md-chart-legend-wrapper:before{background-color:#f0f0f0;background-image:linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));background-size:40px 100%;background-repeat:no-repeat;background-position:left -40px top 0;border-radius:5px;content:\\\"\\\";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;animation:shine 1s ease infinite;transition:opacity .4s ease 0s}md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending{background:rgba(0,0,0,0)}md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending:before{opacity:1;animation:skeleton-in .3s ease,shine 1s ease infinite;transition:none}@media(prefers-reduced-motion: reduce){md-chart-legend .md-chart-legend-wrapper:before,md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending:before{animation:shine 1s ease infinite;transition:none}}md-chart-legend .md-chart-legend-wrapper:after{content:\\\"\\\";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:5px;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}md-chart-legend .md-chart-legend-wrapper:before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}md-chart-legend .md-chart-legend-wrapper:after{opacity:0;transition:opacity .4s ease}md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending:after{opacity:1;animation:skeleton-in .3s ease;transition:none}md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending>*{opacity:0}md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending .md-chart-legend-title>a,md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending .md-chart-legend-title>span,md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending .md-chart-legend-item>*,md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending .md-chart-legend-item+.md-chart-legend-item:before{animation:none}@media(prefers-reduced-motion: reduce){md-chart-legend .md-chart-legend-wrapper:after,md-chart-legend .md-chart-legend-wrapper.md-chart-legend-pending:after{animation:none;transition:none}}md-chart-legend .md-chart-legend-content,md-chart-legend .md-chart-legend-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;line-height:1}md-chart-legend .md-chart-legend-content{font-variant-numeric:tabular-nums}md-chart-legend .md-chart-legend-partial{font-weight:700;display:inline-block;font-size:clamp(1.8rem,22cqi,2.9rem);font-family:\\\"Roboto mono\\\",sans-serif;font-size:clamp(1.2rem,(100cqi - var(--partial-reserve, 2.5rem))/(var(--partial-chars, 4)*.62),2.9rem)}md-chart-legend .md-chart-legend-partial.has-decimals{letter-spacing:-0.1rem}md-chart-legend .md-chart-legend-partial.md-cards-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;vertical-align:bottom;font-family:\\\"Roboto flex\\\",sans-serif}md-chart-legend .md-chart-legend-total,md-chart-legend .md-chart-legend-suffix{margin-left:.25rem;font-weight:400;font-size:clamp(1.2rem,14cqi,1.5rem);color:rgba(17,37,75,.8);font-family:\\\"Roboto condensed\\\",sans-serif}md-chart-legend .md-chart-legend-title{margin:0;text-align:center}md-chart-legend .md-chart-legend-title>a,md-chart-legend .md-chart-legend-title>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-weight:500;text-align:center;text-transform:uppercase;font-size:clamp(1.1rem,1rem + 2.5cqi,1.4rem);font-family:\\\"Roboto condensed\\\",sans-serif;color:#11254b;position:relative;z-index:3;text-decoration:none;animation:md-chart-legend-fade-in 1s ease both}md-chart-legend .md-chart-legend-title>a:after{transform:rotate(-45deg);display:inline-block;content:\\\"\\\";margin:0 0 0 1rem;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}md-chart-legend .md-chart-legend-list{display:grid;grid-template-columns:repeat(var(--md-chart-legend-columns, 3), minmax(0, 1fr));column-gap:1.2rem;margin:0;padding:0;list-style:none}md-chart-legend .md-chart-legend-item{container-type:inline-size;display:grid;align-content:center;justify-items:center;position:relative;row-gap:calc(1.2rem/2);padding:1rem;min-width:0;min-height:7rem;text-align:center;border-radius:5px}md-chart-legend .md-chart-legend-item>*{position:relative;z-index:3;max-width:100%;animation:md-chart-legend-fade-in 1s ease both}md-chart-legend .md-chart-legend-item+.md-chart-legend-item:before{content:\\\"\\\";position:absolute;top:.75rem;bottom:.75rem;left:calc(1.2rem/-2);width:1px;background:rgba(17,37,75,.2);animation:md-chart-legend-fade-in 1s ease both}md-chart-legend .md-chart-legend-item .md-chart-legend-labels{display:grid;justify-items:start;row-gap:.35rem;min-width:0;max-width:100%}md-chart-legend .md-chart-legend-item .md-chart-legend-labels>.md-chart-legend-label{font-size:clamp(1.2rem,11cqi,1.5rem)}md-chart-legend .md-chart-legend-item .md-chart-legend-labels .md-chart-legend-swatch{display:inline-block;width:.8em;height:.8em;margin-right:.4em;vertical-align:-0.05em;border-radius:2px;background:var(--md-chart-legend-color);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}md-chart-legend .md-chart-legend-item .md-chart-legend-labels .md-chart-legend-details{display:grid;justify-items:start;row-gap:.35rem;min-width:0;max-width:100%;margin:0;padding:0;list-style:none}md-chart-legend .md-chart-legend-item .md-chart-legend-labels .md-chart-legend-detail{display:flex;align-items:baseline;min-width:0;max-width:100%;line-height:1.1;font-size:clamp(1.2rem,11cqi,1.5rem)}md-chart-legend .md-chart-legend-item .md-chart-legend-labels .md-chart-legend-detail-value{flex-shrink:0;margin-left:.4em;font-weight:700;font-variant-numeric:tabular-nums}@keyframes md-chart-legend-fade-in{from{opacity:0}to{opacity:1}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-chart-legend/md-chart-legend.sass\",\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\nmd-chart-legend\\n  display: block\\n  width: 100%\\n  container-type: inline-size\\n  .md-chart-legend-wrapper\\n    position: relative\\n    display: grid\\n    row-gap: round(min(.3vh, #{$md-dashboard-inset-gap}), 1px)\\n    width: 100%\\n    color: $md-dashboard-text-color\\n    font-family: 'Roboto condensed', sans-serif\\n    @include skeleton($when: '.md-chart-legend-pending')\\n    @include dashboardStripes()\\n    &:before\\n      box-shadow: inset 0 0 0 1px rgba(#000, .15)\\n    &:after\\n      opacity: 0\\n      transition: opacity .4s ease\\n    &.md-chart-legend-pending\\n      &:after\\n        opacity: 1\\n        animation: skeleton-in .3s ease\\n        transition: none\\n      > *\\n        opacity: 0\\n      .md-chart-legend-title > a,\\n      .md-chart-legend-title > span,\\n      .md-chart-legend-item > *,\\n      .md-chart-legend-item + .md-chart-legend-item:before\\n        animation: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:after, &.md-chart-legend-pending:after\\n        animation: none\\n        transition: none\\n\\n  .md-chart-legend-content,\\n  .md-chart-legend-label\\n    @include ellipsis\\n    margin: 0\\n    padding: 0\\n    line-height: 1\\n\\n  .md-chart-legend-content\\n    font-variant-numeric: tabular-nums\\n  .md-chart-legend-partial\\n    @include partial($adaptive: true)\\n  .md-chart-legend-total, .md-chart-legend-suffix\\n    @include total\\n\\n  .md-chart-legend-title\\n    margin: 0\\n    text-align: center\\n    > a, > span\\n      @include h3\\n      position: relative\\n      z-index: 3\\n      text-decoration: none\\n      animation: md-chart-legend-fade-in 1s ease both\\n    // La freccia indica un link: solo sul titolo con href\\n    > a:after\\n      transform: rotate(-45deg)\\n      @include fontawesome(\\\"\\\\f178\\\", 'regular', 1.3rem, 0 0 0 1rem, inherit)\\n  .md-chart-legend-list\\n    display: grid\\n    grid-template-columns: repeat(var(--md-chart-legend-columns, 3), minmax(0, 1fr))\\n    column-gap: $md-dashboard-inset-gap\\n    margin: 0\\n    padding: 0\\n    list-style: none\\n  .md-chart-legend-item\\n    container-type: inline-size\\n    display: grid\\n    align-content: center\\n    justify-items: center\\n    position: relative\\n    row-gap: calc(#{$md-dashboard-inset-gap} / 2)\\n    padding: 1rem\\n    min-width: 0\\n    min-height: 7rem\\n    text-align: center\\n    border-radius: $md-dashboard-border-radius\\n    > *\\n      position: relative\\n      z-index: 3\\n      max-width: 100%\\n      animation: md-chart-legend-fade-in 1s ease both\\n    & + .md-chart-legend-item:before\\n      content: ''\\n      position: absolute\\n      top: .75rem\\n      bottom: .75rem\\n      left: calc(#{$md-dashboard-inset-gap} / -2)\\n      width: 1px\\n      background: $md-dashboard-text-color-very-matte\\n      animation: md-chart-legend-fade-in 1s ease both\\n    .md-chart-legend-labels\\n      display: grid\\n      justify-items: start\\n      row-gap: .35rem\\n      min-width: 0\\n      max-width: 100%\\n      > .md-chart-legend-label\\n        font-size: clamp(1.2rem, 11cqi, 1.5rem)\\n\\n      .md-chart-legend-swatch\\n        display: inline-block\\n        width: .8em\\n        height: .8em\\n        margin-right: .4em\\n        vertical-align: -.05em\\n        border-radius: 2px\\n        background: var(--md-chart-legend-color)\\n        box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n\\n      .md-chart-legend-details\\n        display: grid\\n        justify-items: start\\n        row-gap: .35rem\\n        min-width: 0\\n        max-width: 100%\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n      .md-chart-legend-detail\\n        display: flex\\n        align-items: baseline\\n        min-width: 0\\n        max-width: 100%\\n        line-height: 1.1\\n        font-size: clamp(1.2rem, 11cqi, 1.5rem)\\n      .md-chart-legend-detail-value\\n        flex-shrink: 0\\n        margin-left: .4em\\n        font-weight: 700\\n        font-variant-numeric: tabular-nums\\n\\n@keyframes md-chart-legend-fade-in\\n  from\\n    opacity: 0\\n  to\\n    opacity: 1\\n\",\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"km-layout:not(.collapsed)+router-view md-counter{left:calc(50% + 15rem) !important}md-counter{position:fixed;top:50%;left:50%;z-index:1000;transition:all .5s;transform:translate(-50%, -50%)}md-counter #mdCounter{opacity:0}md-counter #mdCounter #mdCounterFooter{display:flex;justify-content:center;padding:1rem 0}md-counter #mdCounter #mdCounterFooter .closing{border:none;border-radius:.4rem;padding:.8rem 1rem;font-size:1.3rem;font-family:\\\"Roboto\\\",sans-serif;background:#11254b;color:#fff;cursor:pointer;transition:all .3s}md-counter #mdCounter #mdCounterFooter .closing:hover{transform:scale(1.05)}md-counter #mdCounter #mdCounterBody{display:flex;justify-content:center;flex-direction:column;position:relative;z-index:1000;height:100%;width:100%;min-width:32rem;border-radius:.7rem;color:#fff;padding:2rem 3rem;text-shadow:1px 1px 1px rgba(0,0,0,.5);background:linear-gradient(to bottom, #f07649, #ed5a23, #d64711);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}md-counter #mdCounter #mdCounterBody:before{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(255, 153, 0, 0.06) 0, rgba(255, 153, 0, 0.06) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}md-counter #mdCounter #mdCounterBody h3{display:block;width:100%;color:#fff;background:rgba(0,0,0,0);border:0;padding:0;margin:0 0 .5rem;line-height:1;font-size:3rem;font-weight:200;text-align:center;font-family:\\\"Roboto flex\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement{font-size:8rem;font-weight:600;font-family:\\\"Roboto mono\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement.two-zeros:before{content:\\\"00\\\"}md-counter #mdCounter #mdCounterBody .suffix{margin-left:.5rem;font-size:4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-counter/md-counter.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,iDACE,iCAAA,CACJ,WACE,cAAA,CACA,OAAA,CACA,QAAA,CACA,YAAA,CACA,kBAAA,CACA,+BAAA,CACA,sBACE,SAAA,CACA,uCACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,gDACE,WAAA,CACA,mBAAA,CACA,kBAAA,CACA,gBAAA,CACA,+BAAA,CACA,kBCvBU,CDwBV,UAAA,CACA,cAAA,CACA,kBAAA,CACA,sDACE,qBAAA,CACN,qCACE,YAAA,CACA,sBAAA,CACA,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,sCAAA,CACA,gEAAA,CACA,yCAAA,CACA,4CACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,uBAAA,CACA,mKAAA,CACF,wCACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,oCAAA,CACF,uDACE,cAAA,CACA,eAAA,CACA,oCAAA,CACA,wEACE,YAAA,CACJ,6CACE,iBAAA,CACA,cAAA,CACA,eAAA,CACA,yCAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nkm-layout:not(.collapsed) + router-view\\n  md-counter\\n    left: calc(50% + 15rem) !important\\nmd-counter\\n  position: fixed\\n  top: 50%\\n  left: 50%\\n  z-index: 1000\\n  transition: all .5s\\n  transform: translate(-50%,-50%)\\n  #mdCounter\\n    opacity: 0\\n    #mdCounterFooter\\n      display: flex\\n      justify-content: center\\n      padding: 1rem 0\\n      .closing\\n        border: none\\n        border-radius: .4rem\\n        padding: .8rem 1rem\\n        font-size: 1.3rem\\n        font-family: 'Roboto', sans-serif\\n        background: $secondary-color\\n        color: #fff\\n        cursor: pointer\\n        transition: all .3s\\n        &:hover\\n          transform: scale(1.05)\\n    #mdCounterBody\\n      display: flex\\n      justify-content: center\\n      flex-direction: column\\n      position: relative\\n      z-index: 1000\\n      height: 100%\\n      width: 100%\\n      min-width: 32rem\\n      border-radius: .7rem\\n      color: #fff\\n      padding: 2rem 3rem\\n      text-shadow: 1px 1px 1px rgba(#000, .5)\\n      background: linear-gradient(to bottom, lighten($primary-color, 8%), $primary-color, darken($primary-color, 8%))\\n      box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n      &:before \\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba($pending-color, .06) 0, rgba($pending-color, .06) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n      h3 \\n        display: block\\n        width: 100%\\n        color: #fff\\n        background: transparent\\n        border: 0\\n        padding: 0\\n        margin: 0 0 .5rem\\n        line-height: 1\\n        font-size: 3rem\\n        font-weight: 200\\n        text-align: center\\n        font-family: 'Roboto flex', sans-serif \\n      #mdCounterElement \\n        font-size: 8rem\\n        font-weight: 600\\n        font-family: 'Roboto mono', sans-serif\\n        &.two-zeros:before \\n          content: '00' \\n      .suffix \\n        margin-left: .5rem\\n        font-size: 4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n  \\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-cta-button button{position:relative;display:flex;align-items:center;padding:1rem 1.7rem;border:none;max-height:3.5rem;min-height:3rem;font-size:clamp(1.2rem,2vw,1.5rem);font-family:\\\"Roboto condensed\\\",sans-serif;border-radius:4rem;font-weight:400;cursor:pointer;overflow:hidden;transition:all .6s cubic-bezier(0.23, 1, 0.32, 1)}md-cta-button button:after{content:\\\"\\\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:4rem;background-size:5px 5px;transform:translate(-50%, -50%);transition:all .6s cubic-bezier(0.23, 1, 0.32, 1)}md-cta-button button>.text{z-index:1;position:relative;white-space:nowrap;line-height:1;transition:all .8s cubic-bezier(0.23, 1, 0.32, 1)}md-cta-button button>.text>b{margin-left:.5rem;font-weight:800;font-family:\\\"Roboto Mono\\\",sans-serif;color:#0c0f46}md-cta-button button>.text>b:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:clamp(1.1rem,2vw,1.4rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:badge-pulse 1s ease-in-out infinite alternate;font-weight:400}md-cta-button button.with-icons{padding:1rem 3.4rem}md-cta-button button.with-icons>.text{transform:translateX(-1rem)}md-cta-button button.with-icons>.icon{z-index:9;position:absolute;font-size:inherit;color:#0c0f46;transition:all .8s cubic-bezier(0.23, 1, 0.32, 1)}md-cta-button button.with-icons>.icon.after{right:calc(1.7rem + 3px)}md-cta-button button.with-icons>.icon.before{left:-3.4rem}md-cta-button button:active{scale:.95}md-cta-button button:hover{border-radius:.8rem}md-cta-button button:hover:after{border-radius:.8rem}md-cta-button button:hover.with-icons>.text{transform:translateX(1.4rem)}md-cta-button button:hover.with-icons>.icon.after{right:-3.4rem}md-cta-button button:hover.with-icons>.icon.before{left:1.7rem}md-cta-button button.inverted{color:#0c1b36;background:linear-gradient(to top, rgba(17, 37, 75, 0.1), #fff);box-shadow:rgba(0,0,0,.2) 0px 1px 3px,rgba(0,0,0,.4) 0px 4px 8px -4px,0 0 0 1px #2d4d8b}md-cta-button button.primary{color:#fff;font-weight:500;background:linear-gradient(to top, #ce4612, #f34d0f);box-shadow:rgba(0,0,0,.2) 0px 1px 3px,rgba(0,0,0,.4) 0px 4px 8px -4px,0 0 0 1px #810000}md-cta-button button.primary>.text{text-shadow:rgba(0,0,0,.5) 0px 1px}md-cta-button button.secondary{color:#fff;background:linear-gradient(to top, #17599f, #206ade);box-shadow:rgba(0,0,0,.2) 0px 1px 3px,rgba(0,0,0,.4) 0px 4px 8px -4px,0 0 0 1px #0f3674}md-cta-button button.secondary>.text{text-shadow:rgba(0,0,0,.5) 0px 1px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-cta-button/md-cta-button.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,qBAOE,iBACE,CAAA,YACA,CAAA,kBACA,CAAA,mBACA,CAAA,WACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,yCACA,CAAA,kBACA,CAAA,eACA,CAAA,cACA,CAAA,eACA,CAAA,iDACA,CAAA,2BACA,UACE,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,WACA,CAAA,kBACA,CAAA,uBACA,CAAA,+BACA,CAAA,iDACA,CAAA,2BACF,SACE,CAAA,iBACA,CAAA,kBACA,CAAA,aACA,CAAA,iDACA,CAAA,6BACA,iBACE,CAAA,eACA,CAAA,oCACA,CAAA,aACA,CAAA,mCACA,oBCMN,CAAA,WDL6B,CAAA,kBAAgD,CAAA,kCAA5B,CAAA,iBCSjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,oBFwC4F,CAAA,uDAAO,CAAA,eCoB7G,CAAA,gCDnBA,mBACE,CAAA,sCACA,2BACE,CAAA,sCACF,SACE,CAAA,iBACA,CAAA,iBACA,CAAA,aACA,CAAA,iDACA,CAAA,4CACA,wBACE,CAAA,6CACF,YACE,CAAA,4BACN,SACE,CAAA,2BACF,mBACE,CAAA,iCACA,mBACE,CAAA,4CAEA,4BACE,CAAA,kDACF,aACE,CAAA,mDACF,WACE,CAAA,8BACR,aACE,CAAA,+DACA,CAAA,uFACA,CAAA,6BACF,UACE,CAAA,eACA,CAAA,oDACA,CAAA,uFACA,CAAA,mCACA,kCACE,CAAA,+BACJ,UACE,CAAA,oDACA,CAAA,uFACA,CAAA,qCACA,kCACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$padding-x: 3.4rem\\n$padding-y: 1rem\\n\\nmd-cta-button\\n  button\\n    position: relative\\n    display: flex\\n    align-items: center\\n    padding: $padding-y calc($padding-x / 2)\\n    border: none\\n    max-height: 3.5rem\\n    min-height: 3rem\\n    font-size: clamp(1.2rem, 2vw, 1.5rem)\\n    font-family: 'Roboto condensed', sans-serif\\n    border-radius: 4rem\\n    font-weight: 400\\n    cursor: pointer\\n    overflow: hidden\\n    transition: all .6s cubic-bezier(.23, 1, .32, 1)\\n    &:after\\n      content: ''\\n      position: absolute\\n      top: 50%\\n      left: 50%\\n      width: 100%\\n      height: 100%\\n      border-radius: 4rem\\n      background-size: 5px 5px\\n      transform: translate(-50%, -50%)\\n      transition: all .6s cubic-bezier(.23, 1, .32, 1)\\n    > .text\\n      z-index: 1\\n      position: relative\\n      white-space: nowrap\\n      line-height: 1\\n      transition: all .8s cubic-bezier(0.23, 1, 0.32, 1)\\n      > b\\n        margin-left: .5rem\\n        font-weight: 800\\n        font-family: 'Roboto Mono', sans-serif\\n        color: #0c0f46\\n        &:after\\n          @include fontawesome('\\\\f06a', 'regular', clamp(1.1rem, 2vw, 1.4rem), 0 0 0 .5rem, $error-color, unset, badge-pulse 1s ease-in-out infinite alternate)\\n    &.with-icons\\n      padding: $padding-y $padding-x\\n      > .text\\n        transform: translateX(-1rem)\\n      > .icon\\n        z-index: 9\\n        position: absolute\\n        font-size: inherit\\n        color: #0c0f46\\n        transition: all .8s cubic-bezier(.23, 1, .32, 1)\\n        &.after\\n          right: calc($padding-x / 2 + 3px)\\n        &.before\\n          left: calc($padding-x * -1)\\n    &:active\\n      scale: .95\\n    &:hover\\n      border-radius: .8rem\\n      &:after\\n        border-radius: .8rem\\n      &.with-icons\\n        > .text\\n          transform: translateX(1.4rem)\\n        > .icon.after\\n          right: calc($padding-x * -1)\\n        > .icon.before\\n          left: calc($padding-x / 2)\\n  button.inverted\\n    color: darken($secondary-color, 5%)\\n    background: linear-gradient(to top, rgba($secondary-color, .1), #fff)\\n    box-shadow: rgba(#000, 0.2) 0px 1px 3px, rgba(#000, .4) 0px 4px 8px -4px, 0 0 0 1px #2d4d8b\\n  button.primary\\n    color: #fff\\n    font-weight: 500\\n    background: linear-gradient(to top, #ce4612, #f34d0f)\\n    box-shadow: rgba(#000, 0.2) 0px 1px 3px, rgba(#000, .4) 0px 4px 8px -4px, 0 0 0 1px #810000\\n    > .text\\n      text-shadow: rgba(#000, .5) 0px 1px\\n  button.secondary\\n    color: #fff\\n    background: linear-gradient(to top, #17599f, #206ade)\\n    box-shadow: rgba(#000, .2) 0px 1px 3px, rgba(#000, .4) 0px 4px 8px -4px, 0 0 0 1px #0f3674\\n    > .text\\n      text-shadow: rgba(#000, .5) 0px 1px\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-loader{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:9998}md-loader #loader-wrapper{display:flex;align-items:center;flex-direction:column;justify-content:center;width:100%;height:100%;transition:opacity .5s;background:rgba(17,37,75,.0117647059);opacity:1}md-loader #loader-wrapper.fade-out{opacity:0}md-loader #loader-wrapper>.spinner-loader{position:absolute;top:calc(50% - 4rem);left:calc(50% - 4rem);width:8rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #aeaeae 95%, rgba(0, 0, 0, 0)) top/10px 10px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 20%, #aeaeae);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 10px), #000 0);animation:l13 1s infinite linear}md-nav-element+md-loader{height:calc(100% - 5rem);top:5rem}md-nav-element>nav>a.active{margin-bottom:-0.1rem;position:relative;z-index:2}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-loader/md-loader.sass\"],\"names\":[],\"mappings\":\"AAKA,UACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,0BACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,sBAAA,CACA,qCAAA,CACA,SAAA,CACA,mCACE,SAAA,CAEF,0CACE,iBAAA,CACA,oBAAA,CACA,qBAAA,CACA,UA3BS,CA4BT,cAAA,CACA,iBAAA,CACA,8IAAA,CACA,uFAAA,CACA,gCAAA,CAEN,yBACE,wBAAA,CACA,QAAA,CACF,4BACE,qBAAA,CACA,iBAAA,CACA,SAAA,CAEF,eACE,KACE,uBAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$loader-width: 8rem\\n$loader-thickness: 10px\\nmd-loader\\n  display: block\\n  position: absolute\\n  top: 0\\n  left: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 9998\\n  #loader-wrapper\\n    display: flex\\n    align-items: center\\n    flex-direction: column\\n    justify-content: center\\n    width: 100%\\n    height: 100%\\n    transition: opacity .5s\\n    background: #11254b03\\n    opacity: 1\\n    &.fade-out \\n      opacity: 0\\n\\n    > .spinner-loader \\n      position: absolute\\n      top: calc(50% - $loader-width / 2)\\n      left: calc(50% - $loader-width / 2)\\n      width: $loader-width\\n      aspect-ratio: 1\\n      border-radius: 50%\\n      background: radial-gradient(farthest-side, #aeaeae 95%, #0000) top/$loader-thickness $loader-thickness no-repeat, conic-gradient(#0000 20%, #aeaeae)\\n      -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - $loader-thickness), #000 0)\\n      animation: l13 1s infinite linear\\n\\nmd-nav-element + md-loader\\n  height: calc(100% - 5rem)\\n  top: 5rem\\nmd-nav-element > nav > a.active\\n  margin-bottom: -.1rem\\n  position: relative\\n  z-index: 2\\n  \\n@keyframes l13\\n  100%\\n    transform: rotate(1turn)\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-prefsel:has(>.legacy-layout){display:block;margin:1rem;padding:0;border:1px solid rgba(237,90,35,.2666666667);background-color:rgba(237,90,35,.1333333333)}md-prefsel:has(>.legacy-layout)>ka-flex-row{align-items:center}md-prefsel:has(>.legacy-layout) p{margin:0;padding:.5rem 1rem;font-size:1.4rem;line-height:1rem;white-space:normal}md-prefsel:has(>.legacy-layout) p.options{border-right:0}md-prefsel:has(>.legacy-layout) p.options a{font-weight:bold;color:#ed5a23}md-prefsel:has(>.legacy-layout) i.material-icons{width:5rem;height:5rem;font-size:4rem;color:#ed5a23;line-height:5rem;text-align:center}md-prefsel:has(>.modern-layout)>.modern-layout{display:flex;flex-wrap:wrap;min-height:6rem;gap:1rem;margin:1rem;padding-bottom:1rem;border-bottom:solid 1px #e0e0e0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-prefsel/md-prefsel.sass\"],\"names\":[],\"mappings\":\"AAAA,gCACE,aAAA,CACA,WAAA,CACA,SAAA,CACA,4CAAA,CACA,4CAAA,CAEA,4CACE,kBAAA,CAEF,kCACE,QAAA,CACA,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,kBAAA,CAEA,0CACE,cAAA,CAEA,4CACE,gBAAA,CACA,aAAA,CAEN,iDACE,UAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,gBAAA,CACA,iBAAA,CAGF,+CACE,YAAA,CACA,cAAA,CACA,eAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA\",\"sourcesContent\":[\"md-prefsel:has(> .legacy-layout)\\n  display: block\\n  margin: 1rem\\n  padding: 0\\n  border: 1px solid #ed5a2344\\n  background-color: #ed5a2322\\n\\n  > ka-flex-row\\n    align-items: center\\n\\n  p\\n    margin: 0\\n    padding: 0.5rem 1rem\\n    font-size: 1.4rem\\n    line-height: 1rem\\n    white-space: normal\\n\\n    &.options\\n      border-right: 0\\n\\n      a\\n        font-weight: bold\\n        color: #ed5a23\\n\\n  i.material-icons\\n    width: 5rem\\n    height: 5rem\\n    font-size: 4rem\\n    color: #ed5a23\\n    line-height: 5rem\\n    text-align: center\\n\\nmd-prefsel:has(> .modern-layout)\\n  > .modern-layout\\n    display: flex\\n    flex-wrap: wrap\\n    min-height: 6rem\\n    gap: 1rem\\n    margin: 1rem\\n    padding-bottom: 1rem\\n    border-bottom: solid 1px #e0e0e0\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-select{position:relative;display:block;min-width:0;width:fit-content}md-select select{display:block;width:100%;height:3rem;padding:0 3.5rem .05rem 1.5rem;border:0;outline:none;border-radius:3rem;appearance:none;background:#fff;font-size:1.3rem;line-height:1;font-weight:400;font-family:\\\"Roboto Condensed\\\",sans-serif;color:#404040;text-overflow:ellipsis;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.2);transition:box-shadow .3s ease,color .3s ease}md-select select:disabled{opacity:1;padding:0 2rem .05rem;box-shadow:0 0 0 1px rgba(0,0,0,.2)}md-select select:disabled+i{display:none}md-select select:hover:not(:disabled),md-select select:active:not(:disabled){color:#000;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.4)}md-select i{position:absolute;top:50%;right:1.5rem;transform:translateY(-50%);font-size:1.1rem;line-height:1;color:#404040;pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-select/md-select.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,UACE,iBAAA,CACA,aAAA,CACA,WAAA,CACA,iBAAA,CAEA,iBACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,QAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,aAAA,CACA,eAAA,CACA,yCAAA,CACA,aCtBS,CDuBT,sBAAA,CACA,cAAA,CACA,4DAAA,CACA,6CAAA,CACA,0BACE,SAAA,CACA,qBAAA,CACA,mCAAA,CACA,4BACE,YAAA,CACJ,6EACE,UAAA,CACA,4DAAA,CACJ,YACE,iBAAA,CACA,OAAA,CACA,YAAA,CACA,0BAAA,CACA,gBAAA,CACA,aAAA,CACA,aC3CS,CD4CT,mBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nmd-select\\n  position: relative\\n  display: block\\n  min-width: 0\\n  width: fit-content\\n\\n  select\\n    display: block\\n    width: 100%\\n    height: 3rem\\n    padding: 0 3.5rem .05rem 1.5rem\\n    border: 0\\n    outline: none\\n    border-radius: 3rem\\n    appearance: none\\n    background: #fff\\n    font-size: 1.3rem\\n    line-height: 1\\n    font-weight: 400\\n    font-family: 'Roboto Condensed', sans-serif\\n    color: $text-color\\n    text-overflow: ellipsis\\n    cursor: pointer\\n    box-shadow: 0 0 0 1px rgba(#000, .2), 0 1px 3px rgba(#000, .2)\\n    transition: box-shadow .3s ease, color .3s ease\\n    &:disabled\\n      opacity: 1\\n      padding: 0 2rem .05rem\\n      box-shadow: 0 0 0 1px rgba(#000, .2)\\n      + i\\n        display: none\\n    &:hover:not(:disabled), &:active:not(:disabled)\\n      color: #000\\n      box-shadow: 0 0 0 1px rgba(#000, .4), 0 1px 3px rgba(#000, .4)\\n  i\\n    position: absolute\\n    top: 50%\\n    right: 1.5rem\\n    transform: translateY(-50%)\\n    font-size: 1.1rem\\n    line-height: 1\\n    color: $text-color\\n    pointer-events: none\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-split-button{position:relative;background:#ff0}md-split-button>.buttons{display:flex;flex-wrap:wrap;align-items:center;border-radius:3px;height:3rem;width:fit-content;font-family:\\\"Roboto flex\\\",sans-serif}md-split-button>.buttons>button{appearance:none;background:none;border:none;padding:0;margin:0;font-size:1.4rem;font-weight:600;color:inherit;cursor:pointer;outline:none}md-split-button>.buttons>button.default{width:3rem}md-split-button>.buttons>button.options{display:flex;align-items:center;justify-content:center;position:relative;padding:0 1rem;border-radius:3px;height:inherit;width:fit-content;color:#000;background:#fff;box-shadow:inset 0 0 0 1px #000;transition:background .3s ease-in-out,color .3s ease-in-out}md-split-button>.buttons>button.options:after{transform-origin:center;transition:transform .3s ease-in-out,color .3s ease-in-out;display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(17,37,75,.7);vertical-align:unset;animation:unset;font-weight:900}md-split-button>.buttons>button.options.open:after{transform:rotate(180deg)}md-split-button>.buttons>button.options:hover,md-split-button>.buttons>button.options.open{color:#fff;background:#11254b}md-split-button>.buttons>button.options:hover:after,md-split-button>.buttons>button.options.open:after{color:rgba(255,255,255,.9)}md-split-button>.buttons>button.options[disabled]{color:#b4b4b4;background:#e5e5e5;box-shadow:inset 0 0 0 1px #b4b4b4 !important}md-split-button>.buttons>button.options[disabled]:after{color:#b4b4b4}md-split-button>.options-list{position:fixed;z-index:999;border-radius:3px;height:auto;overflow:hidden;width:max-content;opacity:0;visibility:hidden;background:#fff;transform-origin:top center;transition:height .4s ease-in-out,opacity .5s ease-in-out,visibility 0s linear .4s;box-shadow:inset 0 0 0 1px #11254b}md-split-button>.options-list>ul{margin:0;padding:1.5rem 2rem;list-style:none;color:#081021}md-split-button>.options-list>ul>li{display:flex;align-items:center;height:3.2rem;white-space:nowrap;font-size:1.5rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}md-split-button>.options-list.measuring{height:auto !important}md-split-button>.options-list.visible{opacity:1;visibility:visible;transition:height .4s ease-in-out,opacity .5s ease-in-out,visibility 0s linear 0s}md-split-button>.options-list.opens-top{transform:rotateX(180deg)}md-split-button>.options-list.opens-top>ul{transform:rotateX(180deg)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-split-button/md-split-button.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAGA,iBACE,CAAA,eACA,CAAA,yBACA,YACE,CAAA,cACA,CAAA,kBACA,CAAA,iBACA,CAAA,WACA,CAAA,iBACA,CAAA,oCACA,CAAA,gCACA,eACE,CAAA,eACA,CAAA,WACA,CAAA,SACA,CAAA,QACA,CAAA,gBACA,CAAA,eACA,CAAA,aACA,CAAA,cACA,CAAA,YACA,CAAA,wCACA,UACE,CAAA,wCACF,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,iBACA,CAAA,cACA,CAAA,iBACA,CAAA,cACA,CAAA,iBACA,CAAA,UACA,CAAA,eACA,CAAA,+BACA,CAAA,2DACA,CAAA,8CACA,uBACE,CAAA,0DACA,CAAA,oBCQR,CAAA,WDP6B,CAAA,kBAAwB,CAAA,cAAN,CAAA,iBCW/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uBDfkE,CAAA,oBCMC,CAAA,eAAmB,CAAA,eAkBpF,CAAA,mDDvBI,wBACE,CAAA,2FACF,UACE,CAAA,kBE7CQ,CAAA,uGF+CR,0BACE,CAAA,kDACN,aACE,CAAA,kBACA,CAAA,6CACA,CAAA,wDACA,aACE,CAAA,8BAER,cACE,CAAA,WACA,CAAA,iBACA,CAAA,WACA,CAAA,eACA,CAAA,iBACA,CAAA,SACA,CAAA,iBACA,CAAA,eACA,CAAA,2BACA,CAAA,kFACA,CAAA,kCACA,CAAA,iCACA,QACE,CAAA,mBACA,CAAA,eACA,CAAA,aACA,CAAA,oCACA,YACE,CAAA,kBACA,CAAA,aACA,CAAA,kBACA,CAAA,gBACA,CAAA,eACA,CAAA,yCACA,CAAA,wCACJ,sBACE,CAAA,sCACF,SACE,CAAA,kBACA,CAAA,iFACA,CAAA,wCACF,yBACE,CAAA,2CACA,yBACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-split-button\\n  position: relative\\n  background: yellow\\n  > .buttons\\n    display: flex\\n    flex-wrap: wrap\\n    align-items: center\\n    border-radius: 3px\\n    height: 3rem\\n    width: fit-content\\n    font-family: 'Roboto flex', sans-serif\\n    > button\\n      appearance: none\\n      background: none\\n      border: none\\n      padding: 0\\n      margin: 0\\n      font-size: 1.4rem\\n      font-weight: 600\\n      color: inherit\\n      cursor: pointer\\n      outline: none\\n      &.default\\n        width: 3rem\\n      &.options\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        position: relative\\n        padding: 0 1rem\\n        border-radius: 3px\\n        height: inherit\\n        width: fit-content\\n        color: darken($secondary-color, 20%)\\n        background: #fff\\n        box-shadow: inset 0 0 0 1px darken($secondary-color, 20%)\\n        transition: background .3s ease-in-out, color .3s ease-in-out\\n        &:after\\n          transform-origin: center\\n          transition: transform .3s ease-in-out, color .3s ease-in-out\\n          @include fontawesome('\\\\f078', 'solid', 1rem, 0 0 0 .5rem, rgba($secondary-color, .7))\\n        &.open:after\\n          transform: rotate(180deg)\\n        &:hover, &.open\\n          color: #fff\\n          background: $secondary-color\\n          &:after\\n            color: rgba(#fff, .9)\\n      &.options[disabled]\\n        color: #b4b4b4\\n        background: #e5e5e5\\n        box-shadow: inset 0 0 0 1px #b4b4b4 !important\\n        &:after\\n          color: #b4b4b4\\n      \\n  > .options-list\\n    position: fixed\\n    z-index: 999\\n    border-radius: 3px\\n    height: auto\\n    overflow: hidden\\n    width: max-content\\n    opacity: 0\\n    visibility: hidden\\n    background: #fff\\n    transform-origin: top center\\n    transition: height .4s ease-in-out, opacity .5s ease-in-out, visibility 0s linear .4s\\n    box-shadow: inset 0 0 0 1px $secondary-color\\n    > ul\\n      margin: 0\\n      padding: 1.5rem 2rem\\n      list-style: none\\n      color: darken($secondary-color, 10%)\\n      > li\\n        display: flex\\n        align-items: center\\n        height: 3.2rem\\n        white-space: nowrap\\n        font-size: 1.5rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n    &.measuring\\n      height: auto !important\\n    &.visible\\n      opacity: 1\\n      visibility: visible\\n      transition: height .4s ease-in-out, opacity .5s ease-in-out, visibility 0s linear 0s\\n    &.opens-top\\n      transform: rotateX(180deg) \\n      > ul\\n        transform: rotateX(180deg)\\n\\n    \\n    \\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-switch-slider{--switch-size: 1.4rem;--switch-background: #11254b;--switch-color-on: #11254b;--switch-color-off: #11254b;flex-shrink:0;font-size:var(--switch-size);position:relative;display:inline-block;width:3.7em;height:1.8em;vertical-align:middle}md-switch-slider>input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}md-switch-slider>.slider{position:absolute;inset:0;display:flex;align-items:center;border-radius:3rem;background:color-mix(in srgb, var(--switch-background) 8%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--switch-background) 30%, transparent);transition:background .3s ease,box-shadow .3s ease}md-switch-slider>.slider>.pointer{position:relative;left:.2em;display:flex;align-items:center;justify-content:center;width:1.4em;height:1.4em;border-radius:50%;background:var(--switch-color-off);transition:transform .4s ease,background .4s ease}md-switch-slider>.slider>.pointer>.icon{position:absolute;font-size:.7em;line-height:1;color:#fff;transition:opacity .3s ease}md-switch-slider>.slider>.pointer>.icon-on{opacity:0}md-switch-slider>input:checked+.slider>.pointer{transform:translateX(1.9em);background:var(--switch-color-on)}md-switch-slider>input:checked+.slider>.pointer>.icon-on{opacity:1}md-switch-slider>input:checked+.slider>.pointer>.icon-off{opacity:0}md-switch-slider>input:focus-visible+.slider{box-shadow:0 0 0 2px color-mix(in srgb, var(--switch-background) 60%, transparent)}md-switch-slider>input:disabled{cursor:not-allowed}md-switch-slider>input:disabled+.slider{opacity:.5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-switch-slider/md-switch-slider.sass\"],\"names\":[],\"mappings\":\"AAGA,iBACE,qBAAA,CACA,4BAAA,CACA,0BAAA,CACA,2BAAA,CAEA,aAAA,CACA,4BAAA,CACA,iBAAA,CACA,oBAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,uBACE,iBAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACF,yBACE,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,uEAAA,CACA,kFAAA,CACA,kDAAA,CAEA,kCACE,iBAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kCAAA,CACA,iDAAA,CACA,wCACE,iBAAA,CACA,cAAA,CACA,aAAA,CACA,UAAA,CACA,2BAAA,CACF,2CACE,SAAA,CAGN,gDACE,2BAAA,CACA,iCAAA,CACA,yDACE,SAAA,CACF,0DACE,SAAA,CAEJ,6CACE,kFAAA,CACF,gCACE,kBAAA,CACA,wCACE,UAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-switch-slider\\n  --switch-size: 1.4rem\\n  --switch-background: #{$secondary-color}\\n  --switch-color-on: #{$secondary-color}\\n  --switch-color-off: #{$secondary-color}\\n\\n  flex-shrink: 0\\n  font-size: var(--switch-size)\\n  position: relative\\n  display: inline-block\\n  width: 3.7em\\n  height: 1.8em\\n  vertical-align: middle\\n  > input\\n    position: absolute\\n    inset: 0\\n    z-index: 1\\n    width: 100%\\n    height: 100%\\n    margin: 0\\n    opacity: 0\\n    cursor: pointer\\n  > .slider\\n    position: absolute\\n    inset: 0\\n    display: flex\\n    align-items: center\\n    border-radius: 3rem\\n    background: color-mix(in srgb, var(--switch-background) 8%, transparent)\\n    box-shadow: 0 0 0 1px color-mix(in srgb, var(--switch-background) 30%, transparent)\\n    transition: background .3s ease, box-shadow .3s ease\\n\\n    > .pointer\\n      position: relative\\n      left: .2em\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      width: 1.4em\\n      height: 1.4em\\n      border-radius: 50%\\n      background: var(--switch-color-off)\\n      transition: transform .4s ease, background .4s ease\\n      > .icon\\n        position: absolute\\n        font-size: .70em\\n        line-height: 1\\n        color: #fff\\n        transition: opacity .3s ease\\n      > .icon-on\\n        opacity: 0\\n\\n\\n  > input:checked + .slider > .pointer\\n    transform: translateX(1.9em)\\n    background: var(--switch-color-on)\\n    > .icon-on\\n      opacity: 1\\n    > .icon-off\\n      opacity: 0\\n\\n  > input:focus-visible + .slider\\n    box-shadow: 0 0 0 2px color-mix(in srgb, var(--switch-background) 60%, transparent)\\n  > input:disabled\\n    cursor: not-allowed\\n    + .slider\\n      opacity: .5\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-pagination button{color:#404040;background-color:rgba(237,90,35,.05);appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0;padding:0;width:4rem;height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);transition:all .5s}md-table-pagination button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}md-table-pagination button:first-child{box-shadow:none}md-table-pagination button:first-child:not(.disabled):hover{box-shadow:inset 1px 0 0 0 #e0e0e0}md-table-pagination button:last-child{box-shadow:none}md-table-pagination button:last-child:not(.disabled):hover{box-shadow:inset -1px 0 0 0 #e0e0e0}md-table-pagination .count{display:inline-block;position:relative;height:4rem;line-height:4rem;white-space:nowrap;color:#606060;padding:0 2rem;text-align:center;text-transform:lowercase;font-size:1.2rem;font-weight:500;cursor:pointer}md-table-pagination .count>.options-tab{position:absolute;top:0;left:50%;padding:2rem;width:26rem;z-index:101;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1019607843),0 10px 10px -10px rgba(0,0,0,.1019607843);transform:translateX(-50%) translateY(14px);animation:options .5s}md-table-pagination .count>.options-tab>ka-input{margin:1.5rem 0 0}md-table-pagination .count>.options-tab>ka-input>label::first-letter{text-transform:uppercase}md-table-pagination .options-background{position:fixed;background:rgba(0,0,0,0);width:100%;height:100%;top:0;left:0;z-index:100}@keyframes options{from{opacity:0;transform:translateX(-50%) translateY(50px)}to{opacity:1;transform:translateX(-50%) translateY(14px)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-pagination/md-table-pagination.scss\"],\"names\":[],\"mappings\":\"AACE,2BACE,aAAA,CACA,oCAAA,CACA,eAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,2DAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,uBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDAAA,aAAA,CAAA,oCAAA,CACA,uCAAA,eAAA,CACA,4DAAA,kCAAA,CACA,sCAAA,eAAA,CACA,2DAAA,mCAAA,CAIF,2BACE,oBAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CAEA,wCACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,qFAAA,CACA,2CAAA,CACA,qBAAA,CACA,iDACE,iBAAA,CACA,qEAAA,wBAAA,CAKN,wCACE,cAAA,CACA,wBAAA,CACA,UAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CAIJ,mBACE,KAAA,SAAA,CAAA,2CAAA,CACA,GAAA,SAAA,CAAA,2CAAA,CAAA\",\"sourcesContent\":[\"md-table-pagination {\\n  button {\\n    color: #404040;\\n    background-color: rgba(237, 90, 35, 0.05);\\n    appearance: none;\\n    -webkit-appearance: none;\\n    outline: none;\\n    cursor: pointer;\\n    margin: 0;\\n    border: 0;\\n    box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0;\\n    padding: 0;\\n    width: 4rem;\\n    height: 4rem;\\n    color: rgba(64, 64, 64, 0.5);\\n    vertical-align: top;\\n    background: transparent;\\n    transition: all 0.5s;\\n    &:not(.disabled):hover { color: #404040; background-color: rgba(237, 90, 35, 0.05); }\\n    &:first-child { box-shadow: none; }\\n    &:first-child:not(.disabled):hover { box-shadow: inset 1px 0 0 0 #e0e0e0; }\\n    &:last-child { box-shadow: none; }\\n    &:last-child:not(.disabled):hover { box-shadow: inset -1px 0 0 0 #e0e0e0; }\\n  }\\n\\n  /* Counter */\\n  .count {\\n    display: inline-block;\\n    position: relative;\\n    height: 4rem;\\n    line-height: 4rem;\\n    white-space: nowrap;\\n    color: #606060;\\n    padding: 0 2rem;\\n    text-align: center;\\n    text-transform: lowercase;\\n    font-size: 1.2rem;\\n    font-weight: 500;\\n    cursor: pointer;\\n\\n    > .options-tab {\\n      position: absolute;\\n      top: 0;\\n      left: 50%;\\n      padding: 2rem;\\n      width: 26rem;\\n      z-index: 101;\\n      background-color: #ffffff;\\n      box-shadow: 0 0 10px #0000001a, 0 10px 10px -10px #0000001a;\\n      transform: translateX(-50%) translateY(14px);\\n      animation: options .5s;\\n      > ka-input {\\n        margin: 1.5rem 0 0;\\n        > label::first-letter { text-transform: uppercase; }\\n      }\\n    }\\n  }\\n  \\n  .options-background {\\n    position: fixed;\\n    background: transparent;\\n    width: 100%;\\n    height: 100%;\\n    top: 0;\\n    left: 0;\\n    z-index: 100;\\n  }\\n}\\n\\n@keyframes options {\\n  from { opacity: 0; transform: translateX(-50%) translateY(50px); }\\n  to { opacity: 1; transform: translateX(-50%) translateY(14px); }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-progressbar{display:block;position:relative;height:3px;background-color:#e0e0e0;overflow:hidden}md-table-progressbar .indeterminate{background-color:#ed5a23}md-table-progressbar .indeterminate:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}md-table-progressbar .indeterminate:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-progressbar/md-table-progressbar.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,qBACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,oCACE,wBCRY,CDSZ,2CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,0CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nmd-table-progressbar\\n  display: block\\n  position: relative\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  .indeterminate\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-sort>div{display:flex;align-items:center;justify-content:space-between;width:fit-content;cursor:pointer;white-space:nowrap}md-table-sort>div>i{display:block;margin-left:.5rem;height:fit-content;font-size:1.8rem;color:rgba(64,64,64,.6);transition:color .2s ease .05s,transform .2s ease .05s}md-table-sort:hover>div>i{color:#ed5a23;transform:scale(1.1)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-sort/md-table-sort.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,kBACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,iBAAA,CACA,cAAA,CACA,kBAAA,CACA,oBACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,uBAAA,CACA,sDAAA,CAEF,0BACE,aCnBU,CDoBV,oBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-table-sort\\n  > div\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    width: fit-content\\n    cursor: pointer\\n    white-space: nowrap\\n    > i\\n      display: block\\n      margin-left: .5rem\\n      height: fit-content\\n      font-size: 1.8rem\\n      color: rgba($text-color, .6)\\n      transition: color .2s ease .05s, transform .2s ease .05s\\n  &:hover\\n    > div > i\\n      color: $primary-color\\n      transform: scale(1.1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-toolbar{position:relative;display:block;background:#fff;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row{height:4rem;width:100%}md-table-toolbar .row>.col{padding:0}md-table-toolbar .row>.col.buttons-left .toolbar-button+.toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{margin-left:-1px}md-table-toolbar .row>.col.buttons-left .toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button{position:relative;border:none;padding:0;margin:0;background:rgba(0,0,0,0);color:rgba(64,64,64,.5019607843);font-family:sans-serif;font-size:1rem;height:4rem;width:4rem;cursor:pointer;box-shadow:1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0;transition:all .5s}md-table-toolbar .row>.col.buttons-left .toolbar-button>i,md-table-toolbar .row>.col.buttons-right .toolbar-button>i{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):hover{color:#404040;background:rgba(237,90,35,.05)}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):only-child:hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active{color:#ed5a23;position:relative}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter{position:absolute;height:12px;width:12px;top:4px;left:24px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter>i{font-size:1rem;color:rgba(64,64,64,.5019607843);line-height:12px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter:hover>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter:hover>i{color:#ed5a23}md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{box-shadow:inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button{box-shadow:-1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:-1px 0 0 0 #e0e0e0}md-table-toolbar md-table-progressbar{position:absolute;top:3.85rem;left:0;width:100%}.md-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1981}.md-table-sidebar{position:fixed;top:0;right:0;bottom:0;width:40rem;background-color:#fff;transition:right 500ms}.md-table-sidebar.off{right:-40rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/md-table-toolbar.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,iBAAA,CACA,aAAA,CACA,eAAA,CACA,2DAAA,CAEA,sBACE,WAAA,CACA,UAAA,CACA,2BACE,SAAA,CAEE,iJAAA,gBAAA,CACA,iHACE,iBAAA,CACA,WAAA,CACA,SAAA,CACA,QAAA,CACA,wBAAA,CACA,gCAAA,CACA,sBAAA,CACA,cAAA,CACA,WAAA,CACA,UAAA,CACA,cAAA,CACA,8CAAA,CACA,kBAAA,CACA,qHACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CAEF,2JAAA,aAAA,CAAA,8BAAA,CACA,iLAAA,4BAAA,CAEA,6IACE,aAAA,CACA,iBAAA,CACA,uKACE,iBAAA,CACA,WAAA,CACA,UAAA,CACA,OAAA,CACA,SAAA,CACA,2KAAA,cAAA,CAAA,gCAAA,CAAA,gBAAA,CACA,uLAAA,aAAA,CAMN,yEAAA,kCAAA,CACA,yDACE,+CAAA,CACA,yFAAA,6BAAA,CAMR,sCACE,iBAAA,CACA,WAAA,CACA,MAAA,CACA,UAAA,CAKJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,YAAA,CAEF,kBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,YAAA\",\"sourcesContent\":[\"md-table-toolbar {\\n  position: relative;\\n  display: block;\\n  background: #fff;\\n  box-shadow: inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0;\\n\\n  .row {\\n    height: 4rem;\\n    width: 100%;\\n    > .col {\\n      padding: 0;\\n      &.buttons-left, &.buttons-right {\\n        .toolbar-button + .toolbar-button { margin-left: -1px; }\\n        .toolbar-button {\\n          position: relative;\\n          border: none;\\n          padding: 0;\\n          margin: 0;\\n          background: transparent;\\n          color: #40404080;\\n          font-family: sans-serif;\\n          font-size: 1rem;\\n          height: 4rem;\\n          width: 4rem;\\n          cursor: pointer;\\n          box-shadow: 1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          transition: all 0.5s;\\n          > i {\\n            position: absolute;\\n            top: 0;\\n            left: 0;\\n            height: 100%;\\n            width: 100%;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n          }\\n          &:not(.disabled):hover { color: #404040; background: rgba(237, 90, 35, 0.05); }\\n          &:not(.disabled):only-child:hover { box-shadow: 1px 0 0 0 #e0e0e0; }\\n      \\n          &.search-active {\\n            color: #ED5A23;\\n            position: relative;\\n            .with-filter {\\n              position: absolute;\\n              height: 12px;\\n              width: 12px;\\n              top: 4px;\\n              left: 24px;\\n              > i { font-size: 1rem; color: #40404080; line-height: 12px; }\\n              &:hover > i { color: #ED5A23; }\\n            }\\n          }\\n        }\\n      }\\n      &.buttons-right {\\n        .toolbar-button + .toolbar-button { box-shadow: inset 0 1px 0 0 #e0e0e0 }\\n        .toolbar-button { \\n          box-shadow: -1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          &:not(.disabled):only-child:hover { box-shadow: -1px 0 0 0 #e0e0e0; }\\n        }\\n      }\\n    }  \\n  }\\n\\n  md-table-progressbar {\\n    position: absolute;\\n    top: 3.85rem;\\n    left: 0;\\n    width: 100%;\\n  }\\n}\\n\\n/* Sidebar */\\n.md-table-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1981;\\n}\\n.md-table-sidebar {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  width: 40rem;\\n  background-color: #ffffff;\\n  transition: right 500ms;\\n  &.off { right: -40rem; }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".md-table-sidebar{min-width:40rem;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1019607843)}.md-table-sidebar .inputs>.input{padding:1rem}.md-table-sidebar .close{color:#ed5a23;cursor:pointer;font-size:2.2rem;padding-right:1rem;margin-top:.5rem}.md-table-sidebar .buttons{text-align:right;margin:2rem 1rem}.md-table-sidebar .buttons .ka-button{margin:0}.md-table-sidebar .buttons .ka-button+.ka-button{margin-right:2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/sidebars/search.scss\"],\"names\":[],\"mappings\":\"AAAA,kBACE,eAAA,CACA,qDAAA,CAEE,iCAAA,YAAA,CAEF,yBACE,aAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CACA,gBAAA,CAEF,2BACE,gBAAA,CACA,gBAAA,CACA,sCAAA,QAAA,CACA,iDAAA,iBAAA\",\"sourcesContent\":[\".md-table-sidebar {\\n  min-width: 40rem;\\n  box-shadow: -10px 0 10px -10px #0000001a;\\n  .inputs {\\n    > .input { padding: 1rem; }\\n  }\\n  .close {\\n    color: #ED5A23;\\n    cursor: pointer;\\n    font-size: 2.2rem;\\n    padding-right: 1rem;\\n    margin-top: 0.5rem;\\n  }\\n  .buttons { \\n    text-align: right; \\n    margin: 2rem 1rem;\\n    .ka-button { margin: 0; }\\n    .ka-button + .ka-button { margin-right: 2rem; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-wrapper{display:block;overflow:auto}md-table-wrapper tbody .ka-tr-tools .arrow{background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;box-shadow:-5px 0 5px -5px rgba(0,0,0,.2509803922)}md-table-wrapper tbody .ka-tr-tools .arrow>.material-icons{width:2.2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-wrapper/md-table-wrapper.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,aAAA,CACA,aAAA,CAGI,2CACE,2HAAA,CACA,kDAAA,CACA,2DAAA,YAAA\",\"sourcesContent\":[\"md-table-wrapper {\\n  display: block;\\n  overflow: auto;\\n  tbody {\\n    .ka-tr-tools {\\n      .arrow {\\n        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;\\n        box-shadow: -5px 0 5px -5px #00000040;\\n        > .material-icons { width: 2.2rem; }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"/src/static/webfonts/fa-brands-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"/src/static/webfonts/fa-brands-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"/src/static/webfonts/fa-brands-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"/src/static/webfonts/fa-brands-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"/src/static/webfonts/fa-brands-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"/src/static/webfonts/fa-duotone-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"/src/static/webfonts/fa-duotone-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"/src/static/webfonts/fa-duotone-900.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"/src/static/webfonts/fa-light-300.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"/src/static/webfonts/fa-light-300.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"/src/static/webfonts/fa-light-300.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"/src/static/webfonts/fa-light-300.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"/src/static/webfonts/fa-light-300.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"/src/static/webfonts/fa-regular-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"/src/static/webfonts/fa-regular-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"/src/static/webfonts/fa-regular-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"/src/static/webfonts/fa-regular-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"/src/static/webfonts/fa-regular-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"/src/static/webfonts/fa-solid-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"/src/static/webfonts/fa-solid-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"/src/static/webfonts/fa-solid-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"/src/static/webfonts/fa-solid-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"/src/static/webfonts/fa-solid-900.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___, { hash: \"#fontawesome\" });\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\"}.fa-abacus:before{content:\\\"\\\"}.fa-accessible-icon:before{content:\\\"\\\"}.fa-accusoft:before{content:\\\"\\\"}.fa-acorn:before{content:\\\"\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\"}.fa-ad:before{content:\\\"\\\"}.fa-address-book:before{content:\\\"\\\"}.fa-address-card:before{content:\\\"\\\"}.fa-adjust:before{content:\\\"\\\"}.fa-adn:before{content:\\\"\\\"}.fa-adobe:before{content:\\\"\\\"}.fa-adversal:before{content:\\\"\\\"}.fa-affiliatetheme:before{content:\\\"\\\"}.fa-air-conditioner:before{content:\\\"\\\"}.fa-air-freshener:before{content:\\\"\\\"}.fa-airbnb:before{content:\\\"\\\"}.fa-alarm-clock:before{content:\\\"\\\"}.fa-alarm-exclamation:before{content:\\\"\\\"}.fa-alarm-plus:before{content:\\\"\\\"}.fa-alarm-snooze:before{content:\\\"\\\"}.fa-album:before{content:\\\"\\\"}.fa-album-collection:before{content:\\\"\\\"}.fa-algolia:before{content:\\\"\\\"}.fa-alicorn:before{content:\\\"\\\"}.fa-alien:before{content:\\\"\\\"}.fa-alien-monster:before{content:\\\"\\\"}.fa-align-center:before{content:\\\"\\\"}.fa-align-justify:before{content:\\\"\\\"}.fa-align-left:before{content:\\\"\\\"}.fa-align-right:before{content:\\\"\\\"}.fa-align-slash:before{content:\\\"\\\"}.fa-alipay:before{content:\\\"\\\"}.fa-allergies:before{content:\\\"\\\"}.fa-amazon:before{content:\\\"\\\"}.fa-amazon-pay:before{content:\\\"\\\"}.fa-ambulance:before{content:\\\"\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\"}.fa-amilia:before{content:\\\"\\\"}.fa-amp-guitar:before{content:\\\"\\\"}.fa-analytics:before{content:\\\"\\\"}.fa-anchor:before{content:\\\"\\\"}.fa-android:before{content:\\\"\\\"}.fa-angel:before{content:\\\"\\\"}.fa-angellist:before{content:\\\"\\\"}.fa-angle-double-down:before{content:\\\"\\\"}.fa-angle-double-left:before{content:\\\"\\\"}.fa-angle-double-right:before{content:\\\"\\\"}.fa-angle-double-up:before{content:\\\"\\\"}.fa-angle-down:before{content:\\\"\\\"}.fa-angle-left:before{content:\\\"\\\"}.fa-angle-right:before{content:\\\"\\\"}.fa-angle-up:before{content:\\\"\\\"}.fa-angry:before{content:\\\"\\\"}.fa-angrycreative:before{content:\\\"\\\"}.fa-angular:before{content:\\\"\\\"}.fa-ankh:before{content:\\\"\\\"}.fa-app-store:before{content:\\\"\\\"}.fa-app-store-ios:before{content:\\\"\\\"}.fa-apper:before{content:\\\"\\\"}.fa-apple:before{content:\\\"\\\"}.fa-apple-alt:before{content:\\\"\\\"}.fa-apple-crate:before{content:\\\"\\\"}.fa-apple-pay:before{content:\\\"\\\"}.fa-archive:before{content:\\\"\\\"}.fa-archway:before{content:\\\"\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\"}.fa-arrow-alt-down:before{content:\\\"\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\"}.fa-arrow-alt-left:before{content:\\\"\\\"}.fa-arrow-alt-right:before{content:\\\"\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\"}.fa-arrow-alt-up:before{content:\\\"\\\"}.fa-arrow-circle-down:before{content:\\\"\\\"}.fa-arrow-circle-left:before{content:\\\"\\\"}.fa-arrow-circle-right:before{content:\\\"\\\"}.fa-arrow-circle-up:before{content:\\\"\\\"}.fa-arrow-down:before{content:\\\"\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\"}.fa-arrow-from-left:before{content:\\\"\\\"}.fa-arrow-from-right:before{content:\\\"\\\"}.fa-arrow-from-top:before{content:\\\"\\\"}.fa-arrow-left:before{content:\\\"\\\"}.fa-arrow-right:before{content:\\\"\\\"}.fa-arrow-square-down:before{content:\\\"\\\"}.fa-arrow-square-left:before{content:\\\"\\\"}.fa-arrow-square-right:before{content:\\\"\\\"}.fa-arrow-square-up:before{content:\\\"\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\"}.fa-arrow-to-left:before{content:\\\"\\\"}.fa-arrow-to-right:before{content:\\\"\\\"}.fa-arrow-to-top:before{content:\\\"\\\"}.fa-arrow-up:before{content:\\\"\\\"}.fa-arrows:before{content:\\\"\\\"}.fa-arrows-alt:before{content:\\\"\\\"}.fa-arrows-alt-h:before{content:\\\"\\\"}.fa-arrows-alt-v:before{content:\\\"\\\"}.fa-arrows-h:before{content:\\\"\\\"}.fa-arrows-v:before{content:\\\"\\\"}.fa-artstation:before{content:\\\"\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\"}.fa-asterisk:before{content:\\\"\\\"}.fa-asymmetrik:before{content:\\\"\\\"}.fa-at:before{content:\\\"\\\"}.fa-atlas:before{content:\\\"\\\"}.fa-atlassian:before{content:\\\"\\\"}.fa-atom:before{content:\\\"\\\"}.fa-atom-alt:before{content:\\\"\\\"}.fa-audible:before{content:\\\"\\\"}.fa-audio-description:before{content:\\\"\\\"}.fa-autoprefixer:before{content:\\\"\\\"}.fa-avianex:before{content:\\\"\\\"}.fa-aviato:before{content:\\\"\\\"}.fa-award:before{content:\\\"\\\"}.fa-aws:before{content:\\\"\\\"}.fa-axe:before{content:\\\"\\\"}.fa-axe-battle:before{content:\\\"\\\"}.fa-baby:before{content:\\\"\\\"}.fa-baby-carriage:before{content:\\\"\\\"}.fa-backpack:before{content:\\\"\\\"}.fa-backspace:before{content:\\\"\\\"}.fa-backward:before{content:\\\"\\\"}.fa-bacon:before{content:\\\"\\\"}.fa-bacteria:before{content:\\\"陵\\\"}.fa-bacterium:before{content:\\\"讀\\\"}.fa-badge:before{content:\\\"\\\"}.fa-badge-check:before{content:\\\"\\\"}.fa-badge-dollar:before{content:\\\"\\\"}.fa-badge-percent:before{content:\\\"\\\"}.fa-badge-sheriff:before{content:\\\"\\\"}.fa-badger-honey:before{content:\\\"\\\"}.fa-bags-shopping:before{content:\\\"\\\"}.fa-bahai:before{content:\\\"\\\"}.fa-balance-scale:before{content:\\\"\\\"}.fa-balance-scale-left:before{content:\\\"\\\"}.fa-balance-scale-right:before{content:\\\"\\\"}.fa-ball-pile:before{content:\\\"\\\"}.fa-ballot:before{content:\\\"\\\"}.fa-ballot-check:before{content:\\\"\\\"}.fa-ban:before{content:\\\"\\\"}.fa-band-aid:before{content:\\\"\\\"}.fa-bandcamp:before{content:\\\"\\\"}.fa-banjo:before{content:\\\"\\\"}.fa-barcode:before{content:\\\"\\\"}.fa-barcode-alt:before{content:\\\"\\\"}.fa-barcode-read:before{content:\\\"\\\"}.fa-barcode-scan:before{content:\\\"\\\"}.fa-bars:before{content:\\\"\\\"}.fa-baseball:before{content:\\\"\\\"}.fa-baseball-ball:before{content:\\\"\\\"}.fa-basketball-ball:before{content:\\\"\\\"}.fa-basketball-hoop:before{content:\\\"\\\"}.fa-bat:before{content:\\\"\\\"}.fa-bath:before{content:\\\"\\\"}.fa-battery-bolt:before{content:\\\"\\\"}.fa-battery-empty:before{content:\\\"\\\"}.fa-battery-full:before{content:\\\"\\\"}.fa-battery-half:before{content:\\\"\\\"}.fa-battery-quarter:before{content:\\\"\\\"}.fa-battery-slash:before{content:\\\"\\\"}.fa-battery-three-quarters:before{content:\\\"\\\"}.fa-battle-net:before{content:\\\"\\\"}.fa-bed:before{content:\\\"\\\"}.fa-bed-alt:before{content:\\\"\\\"}.fa-bed-bunk:before{content:\\\"\\\"}.fa-bed-empty:before{content:\\\"\\\"}.fa-beer:before{content:\\\"\\\"}.fa-behance:before{content:\\\"\\\"}.fa-behance-square:before{content:\\\"\\\"}.fa-bell:before{content:\\\"\\\"}.fa-bell-exclamation:before{content:\\\"\\\"}.fa-bell-on:before{content:\\\"\\\"}.fa-bell-plus:before{content:\\\"\\\"}.fa-bell-school:before{content:\\\"\\\"}.fa-bell-school-slash:before{content:\\\"\\\"}.fa-bell-slash:before{content:\\\"\\\"}.fa-bells:before{content:\\\"\\\"}.fa-betamax:before{content:\\\"\\\"}.fa-bezier-curve:before{content:\\\"\\\"}.fa-bible:before{content:\\\"\\\"}.fa-bicycle:before{content:\\\"\\\"}.fa-biking:before{content:\\\"\\\"}.fa-biking-mountain:before{content:\\\"\\\"}.fa-bimobject:before{content:\\\"\\\"}.fa-binoculars:before{content:\\\"\\\"}.fa-biohazard:before{content:\\\"\\\"}.fa-birthday-cake:before{content:\\\"\\\"}.fa-bitbucket:before{content:\\\"\\\"}.fa-bitcoin:before{content:\\\"\\\"}.fa-bity:before{content:\\\"\\\"}.fa-black-tie:before{content:\\\"\\\"}.fa-blackberry:before{content:\\\"\\\"}.fa-blanket:before{content:\\\"\\\"}.fa-blender:before{content:\\\"\\\"}.fa-blender-phone:before{content:\\\"\\\"}.fa-blind:before{content:\\\"\\\"}.fa-blinds:before{content:\\\"\\\"}.fa-blinds-open:before{content:\\\"\\\"}.fa-blinds-raised:before{content:\\\"\\\"}.fa-blog:before{content:\\\"\\\"}.fa-blogger:before{content:\\\"\\\"}.fa-blogger-b:before{content:\\\"\\\"}.fa-bluetooth:before{content:\\\"\\\"}.fa-bluetooth-b:before{content:\\\"\\\"}.fa-bold:before{content:\\\"\\\"}.fa-bolt:before{content:\\\"\\\"}.fa-bomb:before{content:\\\"\\\"}.fa-bone:before{content:\\\"\\\"}.fa-bone-break:before{content:\\\"\\\"}.fa-bong:before{content:\\\"\\\"}.fa-book:before{content:\\\"\\\"}.fa-book-alt:before{content:\\\"\\\"}.fa-book-dead:before{content:\\\"\\\"}.fa-book-heart:before{content:\\\"\\\"}.fa-book-medical:before{content:\\\"\\\"}.fa-book-open:before{content:\\\"\\\"}.fa-book-reader:before{content:\\\"\\\"}.fa-book-spells:before{content:\\\"\\\"}.fa-book-user:before{content:\\\"\\\"}.fa-bookmark:before{content:\\\"\\\"}.fa-books:before{content:\\\"\\\"}.fa-books-medical:before{content:\\\"\\\"}.fa-boombox:before{content:\\\"\\\"}.fa-boot:before{content:\\\"\\\"}.fa-booth-curtain:before{content:\\\"\\\"}.fa-bootstrap:before{content:\\\"\\\"}.fa-border-all:before{content:\\\"\\\"}.fa-border-bottom:before{content:\\\"\\\"}.fa-border-center-h:before{content:\\\"\\\"}.fa-border-center-v:before{content:\\\"\\\"}.fa-border-inner:before{content:\\\"\\\"}.fa-border-left:before{content:\\\"\\\"}.fa-border-none:before{content:\\\"\\\"}.fa-border-outer:before{content:\\\"\\\"}.fa-border-right:before{content:\\\"\\\"}.fa-border-style:before{content:\\\"\\\"}.fa-border-style-alt:before{content:\\\"\\\"}.fa-border-top:before{content:\\\"\\\"}.fa-bow-arrow:before{content:\\\"\\\"}.fa-bowling-ball:before{content:\\\"\\\"}.fa-bowling-pins:before{content:\\\"\\\"}.fa-box:before{content:\\\"\\\"}.fa-box-alt:before{content:\\\"\\\"}.fa-box-ballot:before{content:\\\"\\\"}.fa-box-check:before{content:\\\"\\\"}.fa-box-fragile:before{content:\\\"\\\"}.fa-box-full:before{content:\\\"\\\"}.fa-box-heart:before{content:\\\"\\\"}.fa-box-open:before{content:\\\"\\\"}.fa-box-tissue:before{content:\\\"拏\\\"}.fa-box-up:before{content:\\\"\\\"}.fa-box-usd:before{content:\\\"\\\"}.fa-boxes:before{content:\\\"\\\"}.fa-boxes-alt:before{content:\\\"\\\"}.fa-boxing-glove:before{content:\\\"\\\"}.fa-brackets:before{content:\\\"\\\"}.fa-brackets-curly:before{content:\\\"\\\"}.fa-braille:before{content:\\\"\\\"}.fa-brain:before{content:\\\"\\\"}.fa-bread-loaf:before{content:\\\"\\\"}.fa-bread-slice:before{content:\\\"\\\"}.fa-briefcase:before{content:\\\"\\\"}.fa-briefcase-medical:before{content:\\\"\\\"}.fa-bring-forward:before{content:\\\"\\\"}.fa-bring-front:before{content:\\\"\\\"}.fa-broadcast-tower:before{content:\\\"\\\"}.fa-broom:before{content:\\\"\\\"}.fa-browser:before{content:\\\"\\\"}.fa-brush:before{content:\\\"\\\"}.fa-btc:before{content:\\\"\\\"}.fa-buffer:before{content:\\\"\\\"}.fa-bug:before{content:\\\"\\\"}.fa-building:before{content:\\\"\\\"}.fa-bullhorn:before{content:\\\"\\\"}.fa-bullseye:before{content:\\\"\\\"}.fa-bullseye-arrow:before{content:\\\"\\\"}.fa-bullseye-pointer:before{content:\\\"\\\"}.fa-burger-soda:before{content:\\\"\\\"}.fa-burn:before{content:\\\"\\\"}.fa-buromobelexperte:before{content:\\\"\\\"}.fa-burrito:before{content:\\\"\\\"}.fa-bus:before{content:\\\"\\\"}.fa-bus-alt:before{content:\\\"\\\"}.fa-bus-school:before{content:\\\"\\\"}.fa-business-time:before{content:\\\"\\\"}.fa-buy-n-large:before{content:\\\"\\\"}.fa-buysellads:before{content:\\\"\\\"}.fa-cabinet-filing:before{content:\\\"\\\"}.fa-cactus:before{content:\\\"\\\"}.fa-calculator:before{content:\\\"\\\"}.fa-calculator-alt:before{content:\\\"\\\"}.fa-calendar:before{content:\\\"\\\"}.fa-calendar-alt:before{content:\\\"\\\"}.fa-calendar-check:before{content:\\\"\\\"}.fa-calendar-day:before{content:\\\"\\\"}.fa-calendar-edit:before{content:\\\"\\\"}.fa-calendar-exclamation:before{content:\\\"\\\"}.fa-calendar-minus:before{content:\\\"\\\"}.fa-calendar-plus:before{content:\\\"\\\"}.fa-calendar-star:before{content:\\\"\\\"}.fa-calendar-times:before{content:\\\"\\\"}.fa-calendar-week:before{content:\\\"\\\"}.fa-camcorder:before{content:\\\"\\\"}.fa-camera:before{content:\\\"\\\"}.fa-camera-alt:before{content:\\\"\\\"}.fa-camera-home:before{content:\\\"\\\"}.fa-camera-movie:before{content:\\\"\\\"}.fa-camera-polaroid:before{content:\\\"\\\"}.fa-camera-retro:before{content:\\\"\\\"}.fa-campfire:before{content:\\\"\\\"}.fa-campground:before{content:\\\"\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\"}.fa-candle-holder:before{content:\\\"\\\"}.fa-candy-cane:before{content:\\\"\\\"}.fa-candy-corn:before{content:\\\"\\\"}.fa-cannabis:before{content:\\\"\\\"}.fa-capsules:before{content:\\\"\\\"}.fa-car:before{content:\\\"\\\"}.fa-car-alt:before{content:\\\"\\\"}.fa-car-battery:before{content:\\\"\\\"}.fa-car-building:before{content:\\\"\\\"}.fa-car-bump:before{content:\\\"\\\"}.fa-car-bus:before{content:\\\"\\\"}.fa-car-crash:before{content:\\\"\\\"}.fa-car-garage:before{content:\\\"\\\"}.fa-car-mechanic:before{content:\\\"\\\"}.fa-car-side:before{content:\\\"\\\"}.fa-car-tilt:before{content:\\\"\\\"}.fa-car-wash:before{content:\\\"\\\"}.fa-caravan:before{content:\\\"\\\"}.fa-caravan-alt:before{content:\\\"豈\\\"}.fa-caret-circle-down:before{content:\\\"\\\"}.fa-caret-circle-left:before{content:\\\"\\\"}.fa-caret-circle-right:before{content:\\\"\\\"}.fa-caret-circle-up:before{content:\\\"\\\"}.fa-caret-down:before{content:\\\"\\\"}.fa-caret-left:before{content:\\\"\\\"}.fa-caret-right:before{content:\\\"\\\"}.fa-caret-square-down:before{content:\\\"\\\"}.fa-caret-square-left:before{content:\\\"\\\"}.fa-caret-square-right:before{content:\\\"\\\"}.fa-caret-square-up:before{content:\\\"\\\"}.fa-caret-up:before{content:\\\"\\\"}.fa-carrot:before{content:\\\"\\\"}.fa-cars:before{content:\\\"\\\"}.fa-cart-arrow-down:before{content:\\\"\\\"}.fa-cart-plus:before{content:\\\"\\\"}.fa-cash-register:before{content:\\\"\\\"}.fa-cassette-tape:before{content:\\\"\\\"}.fa-cat:before{content:\\\"\\\"}.fa-cat-space:before{content:\\\"更\\\"}.fa-cauldron:before{content:\\\"\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\"}.fa-cc-amex:before{content:\\\"\\\"}.fa-cc-apple-pay:before{content:\\\"\\\"}.fa-cc-diners-club:before{content:\\\"\\\"}.fa-cc-discover:before{content:\\\"\\\"}.fa-cc-jcb:before{content:\\\"\\\"}.fa-cc-mastercard:before{content:\\\"\\\"}.fa-cc-paypal:before{content:\\\"\\\"}.fa-cc-stripe:before{content:\\\"\\\"}.fa-cc-visa:before{content:\\\"\\\"}.fa-cctv:before{content:\\\"\\\"}.fa-centercode:before{content:\\\"\\\"}.fa-centos:before{content:\\\"\\\"}.fa-certificate:before{content:\\\"\\\"}.fa-chair:before{content:\\\"\\\"}.fa-chair-office:before{content:\\\"\\\"}.fa-chalkboard:before{content:\\\"\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\"}.fa-charging-station:before{content:\\\"\\\"}.fa-chart-area:before{content:\\\"\\\"}.fa-chart-bar:before{content:\\\"\\\"}.fa-chart-line:before{content:\\\"\\\"}.fa-chart-line-down:before{content:\\\"\\\"}.fa-chart-network:before{content:\\\"\\\"}.fa-chart-pie:before{content:\\\"\\\"}.fa-chart-pie-alt:before{content:\\\"\\\"}.fa-chart-scatter:before{content:\\\"\\\"}.fa-check:before{content:\\\"\\\"}.fa-check-circle:before{content:\\\"\\\"}.fa-check-double:before{content:\\\"\\\"}.fa-check-square:before{content:\\\"\\\"}.fa-cheese:before{content:\\\"\\\"}.fa-cheese-swiss:before{content:\\\"\\\"}.fa-cheeseburger:before{content:\\\"\\\"}.fa-chess:before{content:\\\"\\\"}.fa-chess-bishop:before{content:\\\"\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\"}.fa-chess-board:before{content:\\\"\\\"}.fa-chess-clock:before{content:\\\"\\\"}.fa-chess-clock-alt:before{content:\\\"\\\"}.fa-chess-king:before{content:\\\"\\\"}.fa-chess-king-alt:before{content:\\\"\\\"}.fa-chess-knight:before{content:\\\"\\\"}.fa-chess-knight-alt:before{content:\\\"\\\"}.fa-chess-pawn:before{content:\\\"\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\"}.fa-chess-queen:before{content:\\\"\\\"}.fa-chess-queen-alt:before{content:\\\"\\\"}.fa-chess-rook:before{content:\\\"\\\"}.fa-chess-rook-alt:before{content:\\\"\\\"}.fa-chevron-circle-down:before{content:\\\"\\\"}.fa-chevron-circle-left:before{content:\\\"\\\"}.fa-chevron-circle-right:before{content:\\\"\\\"}.fa-chevron-circle-up:before{content:\\\"\\\"}.fa-chevron-double-down:before{content:\\\"\\\"}.fa-chevron-double-left:before{content:\\\"\\\"}.fa-chevron-double-right:before{content:\\\"\\\"}.fa-chevron-double-up:before{content:\\\"\\\"}.fa-chevron-down:before{content:\\\"\\\"}.fa-chevron-left:before{content:\\\"\\\"}.fa-chevron-right:before{content:\\\"\\\"}.fa-chevron-square-down:before{content:\\\"\\\"}.fa-chevron-square-left:before{content:\\\"\\\"}.fa-chevron-square-right:before{content:\\\"\\\"}.fa-chevron-square-up:before{content:\\\"\\\"}.fa-chevron-up:before{content:\\\"\\\"}.fa-child:before{content:\\\"\\\"}.fa-chimney:before{content:\\\"\\\"}.fa-chrome:before{content:\\\"\\\"}.fa-chromecast:before{content:\\\"\\\"}.fa-church:before{content:\\\"\\\"}.fa-circle:before{content:\\\"\\\"}.fa-circle-notch:before{content:\\\"\\\"}.fa-city:before{content:\\\"\\\"}.fa-clarinet:before{content:\\\"\\\"}.fa-claw-marks:before{content:\\\"\\\"}.fa-clinic-medical:before{content:\\\"\\\"}.fa-clipboard:before{content:\\\"\\\"}.fa-clipboard-check:before{content:\\\"\\\"}.fa-clipboard-list:before{content:\\\"\\\"}.fa-clipboard-list-check:before{content:\\\"\\\"}.fa-clipboard-prescription:before{content:\\\"\\\"}.fa-clipboard-user:before{content:\\\"\\\"}.fa-clock:before{content:\\\"\\\"}.fa-clone:before{content:\\\"\\\"}.fa-closed-captioning:before{content:\\\"\\\"}.fa-cloud:before{content:\\\"\\\"}.fa-cloud-download:before{content:\\\"\\\"}.fa-cloud-download-alt:before{content:\\\"\\\"}.fa-cloud-drizzle:before{content:\\\"\\\"}.fa-cloud-hail:before{content:\\\"\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\"}.fa-cloud-meatball:before{content:\\\"\\\"}.fa-cloud-moon:before{content:\\\"\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\"}.fa-cloud-music:before{content:\\\"\\\"}.fa-cloud-rain:before{content:\\\"\\\"}.fa-cloud-rainbow:before{content:\\\"\\\"}.fa-cloud-showers:before{content:\\\"\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\"}.fa-cloud-sleet:before{content:\\\"\\\"}.fa-cloud-snow:before{content:\\\"\\\"}.fa-cloud-sun:before{content:\\\"\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\"}.fa-cloud-upload:before{content:\\\"\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\"}.fa-clouds:before{content:\\\"\\\"}.fa-clouds-moon:before{content:\\\"\\\"}.fa-clouds-sun:before{content:\\\"\\\"}.fa-cloudscale:before{content:\\\"\\\"}.fa-cloudsmith:before{content:\\\"\\\"}.fa-cloudversify:before{content:\\\"\\\"}.fa-club:before{content:\\\"\\\"}.fa-cocktail:before{content:\\\"\\\"}.fa-code:before{content:\\\"\\\"}.fa-code-branch:before{content:\\\"\\\"}.fa-code-commit:before{content:\\\"\\\"}.fa-code-merge:before{content:\\\"\\\"}.fa-codepen:before{content:\\\"\\\"}.fa-codiepie:before{content:\\\"\\\"}.fa-coffee:before{content:\\\"\\\"}.fa-coffee-pot:before{content:\\\"車\\\"}.fa-coffee-togo:before{content:\\\"\\\"}.fa-coffin:before{content:\\\"\\\"}.fa-coffin-cross:before{content:\\\"陋\\\"}.fa-cog:before{content:\\\"\\\"}.fa-cogs:before{content:\\\"\\\"}.fa-coin:before{content:\\\"\\\"}.fa-coins:before{content:\\\"\\\"}.fa-columns:before{content:\\\"\\\"}.fa-comet:before{content:\\\"賈\\\"}.fa-comment:before{content:\\\"\\\"}.fa-comment-alt:before{content:\\\"\\\"}.fa-comment-alt-check:before{content:\\\"\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\"}.fa-comment-alt-dots:before{content:\\\"\\\"}.fa-comment-alt-edit:before{content:\\\"\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\"}.fa-comment-alt-lines:before{content:\\\"\\\"}.fa-comment-alt-medical:before{content:\\\"\\\"}.fa-comment-alt-minus:before{content:\\\"\\\"}.fa-comment-alt-music:before{content:\\\"\\\"}.fa-comment-alt-plus:before{content:\\\"\\\"}.fa-comment-alt-slash:before{content:\\\"\\\"}.fa-comment-alt-smile:before{content:\\\"\\\"}.fa-comment-alt-times:before{content:\\\"\\\"}.fa-comment-check:before{content:\\\"\\\"}.fa-comment-dollar:before{content:\\\"\\\"}.fa-comment-dots:before{content:\\\"\\\"}.fa-comment-edit:before{content:\\\"\\\"}.fa-comment-exclamation:before{content:\\\"\\\"}.fa-comment-lines:before{content:\\\"\\\"}.fa-comment-medical:before{content:\\\"\\\"}.fa-comment-minus:before{content:\\\"\\\"}.fa-comment-music:before{content:\\\"\\\"}.fa-comment-plus:before{content:\\\"\\\"}.fa-comment-slash:before{content:\\\"\\\"}.fa-comment-smile:before{content:\\\"\\\"}.fa-comment-times:before{content:\\\"\\\"}.fa-comments:before{content:\\\"\\\"}.fa-comments-alt:before{content:\\\"\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\"}.fa-comments-dollar:before{content:\\\"\\\"}.fa-compact-disc:before{content:\\\"\\\"}.fa-compass:before{content:\\\"\\\"}.fa-compass-slash:before{content:\\\"\\\"}.fa-compress:before{content:\\\"\\\"}.fa-compress-alt:before{content:\\\"\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\"}.fa-compress-wide:before{content:\\\"\\\"}.fa-computer-classic:before{content:\\\"\\\"}.fa-computer-speaker:before{content:\\\"\\\"}.fa-concierge-bell:before{content:\\\"\\\"}.fa-confluence:before{content:\\\"\\\"}.fa-connectdevelop:before{content:\\\"\\\"}.fa-construction:before{content:\\\"\\\"}.fa-container-storage:before{content:\\\"\\\"}.fa-contao:before{content:\\\"\\\"}.fa-conveyor-belt:before{content:\\\"\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\"}.fa-cookie:before{content:\\\"\\\"}.fa-cookie-bite:before{content:\\\"\\\"}.fa-copy:before{content:\\\"\\\"}.fa-copyright:before{content:\\\"\\\"}.fa-corn:before{content:\\\"\\\"}.fa-cotton-bureau:before{content:\\\"\\\"}.fa-couch:before{content:\\\"\\\"}.fa-cow:before{content:\\\"\\\"}.fa-cowbell:before{content:\\\"\\\"}.fa-cowbell-more:before{content:\\\"\\\"}.fa-cpanel:before{content:\\\"\\\"}.fa-creative-commons:before{content:\\\"\\\"}.fa-creative-commons-by:before{content:\\\"\\\"}.fa-creative-commons-nc:before{content:\\\"\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\"}.fa-creative-commons-nd:before{content:\\\"\\\"}.fa-creative-commons-pd:before{content:\\\"\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\"}.fa-creative-commons-remix:before{content:\\\"\\\"}.fa-creative-commons-sa:before{content:\\\"\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\"}.fa-creative-commons-share:before{content:\\\"\\\"}.fa-creative-commons-zero:before{content:\\\"\\\"}.fa-credit-card:before{content:\\\"\\\"}.fa-credit-card-blank:before{content:\\\"\\\"}.fa-credit-card-front:before{content:\\\"\\\"}.fa-cricket:before{content:\\\"\\\"}.fa-critical-role:before{content:\\\"\\\"}.fa-croissant:before{content:\\\"\\\"}.fa-crop:before{content:\\\"\\\"}.fa-crop-alt:before{content:\\\"\\\"}.fa-cross:before{content:\\\"\\\"}.fa-crosshairs:before{content:\\\"\\\"}.fa-crow:before{content:\\\"\\\"}.fa-crown:before{content:\\\"\\\"}.fa-crutch:before{content:\\\"\\\"}.fa-crutches:before{content:\\\"\\\"}.fa-css3:before{content:\\\"\\\"}.fa-css3-alt:before{content:\\\"\\\"}.fa-cube:before{content:\\\"\\\"}.fa-cubes:before{content:\\\"\\\"}.fa-curling:before{content:\\\"\\\"}.fa-cut:before{content:\\\"\\\"}.fa-cuttlefish:before{content:\\\"\\\"}.fa-d-and-d:before{content:\\\"\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\"}.fa-dagger:before{content:\\\"\\\"}.fa-dailymotion:before{content:\\\"勒\\\"}.fa-dashcube:before{content:\\\"\\\"}.fa-database:before{content:\\\"\\\"}.fa-deaf:before{content:\\\"\\\"}.fa-debug:before{content:\\\"\\\"}.fa-deer:before{content:\\\"\\\"}.fa-deer-rudolph:before{content:\\\"\\\"}.fa-delicious:before{content:\\\"\\\"}.fa-democrat:before{content:\\\"\\\"}.fa-deploydog:before{content:\\\"\\\"}.fa-deskpro:before{content:\\\"\\\"}.fa-desktop:before{content:\\\"\\\"}.fa-desktop-alt:before{content:\\\"\\\"}.fa-dev:before{content:\\\"\\\"}.fa-deviantart:before{content:\\\"\\\"}.fa-dewpoint:before{content:\\\"\\\"}.fa-dharmachakra:before{content:\\\"\\\"}.fa-dhl:before{content:\\\"\\\"}.fa-diagnoses:before{content:\\\"\\\"}.fa-diamond:before{content:\\\"\\\"}.fa-diaspora:before{content:\\\"\\\"}.fa-dice:before{content:\\\"\\\"}.fa-dice-d10:before{content:\\\"\\\"}.fa-dice-d12:before{content:\\\"\\\"}.fa-dice-d20:before{content:\\\"\\\"}.fa-dice-d4:before{content:\\\"\\\"}.fa-dice-d6:before{content:\\\"\\\"}.fa-dice-d8:before{content:\\\"\\\"}.fa-dice-five:before{content:\\\"\\\"}.fa-dice-four:before{content:\\\"\\\"}.fa-dice-one:before{content:\\\"\\\"}.fa-dice-six:before{content:\\\"\\\"}.fa-dice-three:before{content:\\\"\\\"}.fa-dice-two:before{content:\\\"\\\"}.fa-digg:before{content:\\\"\\\"}.fa-digging:before{content:\\\"\\\"}.fa-digital-ocean:before{content:\\\"\\\"}.fa-digital-tachograph:before{content:\\\"\\\"}.fa-diploma:before{content:\\\"\\\"}.fa-directions:before{content:\\\"\\\"}.fa-disc-drive:before{content:\\\"\\\"}.fa-discord:before{content:\\\"\\\"}.fa-discourse:before{content:\\\"\\\"}.fa-disease:before{content:\\\"\\\"}.fa-divide:before{content:\\\"\\\"}.fa-dizzy:before{content:\\\"\\\"}.fa-dna:before{content:\\\"\\\"}.fa-do-not-enter:before{content:\\\"\\\"}.fa-dochub:before{content:\\\"\\\"}.fa-docker:before{content:\\\"\\\"}.fa-dog:before{content:\\\"\\\"}.fa-dog-leashed:before{content:\\\"\\\"}.fa-dollar-sign:before{content:\\\"\\\"}.fa-dolly:before{content:\\\"\\\"}.fa-dolly-empty:before{content:\\\"\\\"}.fa-dolly-flatbed:before{content:\\\"\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\"}.fa-donate:before{content:\\\"\\\"}.fa-door-closed:before{content:\\\"\\\"}.fa-door-open:before{content:\\\"\\\"}.fa-dot-circle:before{content:\\\"\\\"}.fa-dove:before{content:\\\"\\\"}.fa-download:before{content:\\\"\\\"}.fa-draft2digital:before{content:\\\"\\\"}.fa-drafting-compass:before{content:\\\"\\\"}.fa-dragon:before{content:\\\"\\\"}.fa-draw-circle:before{content:\\\"\\\"}.fa-draw-polygon:before{content:\\\"\\\"}.fa-draw-square:before{content:\\\"\\\"}.fa-dreidel:before{content:\\\"\\\"}.fa-dribbble:before{content:\\\"\\\"}.fa-dribbble-square:before{content:\\\"\\\"}.fa-drone:before{content:\\\"\\\"}.fa-drone-alt:before{content:\\\"\\\"}.fa-dropbox:before{content:\\\"\\\"}.fa-drum:before{content:\\\"\\\"}.fa-drum-steelpan:before{content:\\\"\\\"}.fa-drumstick:before{content:\\\"\\\"}.fa-drumstick-bite:before{content:\\\"\\\"}.fa-drupal:before{content:\\\"\\\"}.fa-dryer:before{content:\\\"\\\"}.fa-dryer-alt:before{content:\\\"\\\"}.fa-duck:before{content:\\\"\\\"}.fa-dumbbell:before{content:\\\"\\\"}.fa-dumpster:before{content:\\\"\\\"}.fa-dumpster-fire:before{content:\\\"\\\"}.fa-dungeon:before{content:\\\"\\\"}.fa-dyalog:before{content:\\\"\\\"}.fa-ear:before{content:\\\"\\\"}.fa-ear-muffs:before{content:\\\"\\\"}.fa-earlybirds:before{content:\\\"\\\"}.fa-ebay:before{content:\\\"\\\"}.fa-eclipse:before{content:\\\"\\\"}.fa-eclipse-alt:before{content:\\\"\\\"}.fa-edge:before{content:\\\"\\\"}.fa-edit:before{content:\\\"\\\"}.fa-egg:before{content:\\\"\\\"}.fa-egg-fried:before{content:\\\"\\\"}.fa-eject:before{content:\\\"\\\"}.fa-elementor:before{content:\\\"\\\"}.fa-elephant:before{content:\\\"\\\"}.fa-ellipsis-h:before{content:\\\"\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\"}.fa-ellipsis-v:before{content:\\\"\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\"}.fa-ello:before{content:\\\"\\\"}.fa-ember:before{content:\\\"\\\"}.fa-empire:before{content:\\\"\\\"}.fa-empty-set:before{content:\\\"\\\"}.fa-engine-warning:before{content:\\\"\\\"}.fa-envelope:before{content:\\\"\\\"}.fa-envelope-open:before{content:\\\"\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\"}.fa-envelope-open-text:before{content:\\\"\\\"}.fa-envelope-square:before{content:\\\"\\\"}.fa-envira:before{content:\\\"\\\"}.fa-equals:before{content:\\\"\\\"}.fa-eraser:before{content:\\\"\\\"}.fa-erlang:before{content:\\\"\\\"}.fa-ethereum:before{content:\\\"\\\"}.fa-ethernet:before{content:\\\"\\\"}.fa-etsy:before{content:\\\"\\\"}.fa-euro-sign:before{content:\\\"\\\"}.fa-evernote:before{content:\\\"\\\"}.fa-exchange:before{content:\\\"\\\"}.fa-exchange-alt:before{content:\\\"\\\"}.fa-exclamation:before{content:\\\"\\\"}.fa-exclamation-circle:before{content:\\\"\\\"}.fa-exclamation-square:before{content:\\\"\\\"}.fa-exclamation-triangle:before{content:\\\"\\\"}.fa-expand:before{content:\\\"\\\"}.fa-expand-alt:before{content:\\\"\\\"}.fa-expand-arrows:before{content:\\\"\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\"}.fa-expand-wide:before{content:\\\"\\\"}.fa-expeditedssl:before{content:\\\"\\\"}.fa-external-link:before{content:\\\"\\\"}.fa-external-link-alt:before{content:\\\"\\\"}.fa-external-link-square:before{content:\\\"\\\"}.fa-external-link-square-alt:before{content:\\\"\\\"}.fa-eye:before{content:\\\"\\\"}.fa-eye-dropper:before{content:\\\"\\\"}.fa-eye-evil:before{content:\\\"\\\"}.fa-eye-slash:before{content:\\\"\\\"}.fa-facebook:before{content:\\\"\\\"}.fa-facebook-f:before{content:\\\"\\\"}.fa-facebook-messenger:before{content:\\\"\\\"}.fa-facebook-square:before{content:\\\"\\\"}.fa-fan:before{content:\\\"\\\"}.fa-fan-table:before{content:\\\"滑\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\"}.fa-farm:before{content:\\\"\\\"}.fa-fast-backward:before{content:\\\"\\\"}.fa-fast-forward:before{content:\\\"\\\"}.fa-faucet:before{content:\\\"串\\\"}.fa-faucet-drip:before{content:\\\"句\\\"}.fa-fax:before{content:\\\"\\\"}.fa-feather:before{content:\\\"\\\"}.fa-feather-alt:before{content:\\\"\\\"}.fa-fedex:before{content:\\\"\\\"}.fa-fedora:before{content:\\\"\\\"}.fa-female:before{content:\\\"\\\"}.fa-field-hockey:before{content:\\\"\\\"}.fa-fighter-jet:before{content:\\\"\\\"}.fa-figma:before{content:\\\"\\\"}.fa-file:before{content:\\\"\\\"}.fa-file-alt:before{content:\\\"\\\"}.fa-file-archive:before{content:\\\"\\\"}.fa-file-audio:before{content:\\\"\\\"}.fa-file-certificate:before{content:\\\"\\\"}.fa-file-chart-line:before{content:\\\"\\\"}.fa-file-chart-pie:before{content:\\\"\\\"}.fa-file-check:before{content:\\\"\\\"}.fa-file-code:before{content:\\\"\\\"}.fa-file-contract:before{content:\\\"\\\"}.fa-file-csv:before{content:\\\"\\\"}.fa-file-download:before{content:\\\"\\\"}.fa-file-edit:before{content:\\\"\\\"}.fa-file-excel:before{content:\\\"\\\"}.fa-file-exclamation:before{content:\\\"\\\"}.fa-file-export:before{content:\\\"\\\"}.fa-file-image:before{content:\\\"\\\"}.fa-file-import:before{content:\\\"\\\"}.fa-file-invoice:before{content:\\\"\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\"}.fa-file-medical:before{content:\\\"\\\"}.fa-file-medical-alt:before{content:\\\"\\\"}.fa-file-minus:before{content:\\\"\\\"}.fa-file-music:before{content:\\\"\\\"}.fa-file-pdf:before{content:\\\"\\\"}.fa-file-plus:before{content:\\\"\\\"}.fa-file-powerpoint:before{content:\\\"\\\"}.fa-file-prescription:before{content:\\\"\\\"}.fa-file-search:before{content:\\\"\\\"}.fa-file-signature:before{content:\\\"\\\"}.fa-file-spreadsheet:before{content:\\\"\\\"}.fa-file-times:before{content:\\\"\\\"}.fa-file-upload:before{content:\\\"\\\"}.fa-file-user:before{content:\\\"\\\"}.fa-file-video:before{content:\\\"\\\"}.fa-file-word:before{content:\\\"\\\"}.fa-files-medical:before{content:\\\"\\\"}.fa-fill:before{content:\\\"\\\"}.fa-fill-drip:before{content:\\\"\\\"}.fa-film:before{content:\\\"\\\"}.fa-film-alt:before{content:\\\"\\\"}.fa-film-canister:before{content:\\\"\\\"}.fa-filter:before{content:\\\"\\\"}.fa-fingerprint:before{content:\\\"\\\"}.fa-fire:before{content:\\\"\\\"}.fa-fire-alt:before{content:\\\"\\\"}.fa-fire-extinguisher:before{content:\\\"\\\"}.fa-fire-smoke:before{content:\\\"\\\"}.fa-firefox:before{content:\\\"\\\"}.fa-firefox-browser:before{content:\\\"龜\\\"}.fa-fireplace:before{content:\\\"\\\"}.fa-first-aid:before{content:\\\"\\\"}.fa-first-order:before{content:\\\"\\\"}.fa-first-order-alt:before{content:\\\"\\\"}.fa-firstdraft:before{content:\\\"\\\"}.fa-fish:before{content:\\\"\\\"}.fa-fish-cooked:before{content:\\\"\\\"}.fa-fist-raised:before{content:\\\"\\\"}.fa-flag:before{content:\\\"\\\"}.fa-flag-alt:before{content:\\\"\\\"}.fa-flag-checkered:before{content:\\\"\\\"}.fa-flag-usa:before{content:\\\"\\\"}.fa-flame:before{content:\\\"\\\"}.fa-flashlight:before{content:\\\"\\\"}.fa-flask:before{content:\\\"\\\"}.fa-flask-poison:before{content:\\\"\\\"}.fa-flask-potion:before{content:\\\"\\\"}.fa-flickr:before{content:\\\"\\\"}.fa-flipboard:before{content:\\\"\\\"}.fa-flower:before{content:\\\"\\\"}.fa-flower-daffodil:before{content:\\\"\\\"}.fa-flower-tulip:before{content:\\\"\\\"}.fa-flushed:before{content:\\\"\\\"}.fa-flute:before{content:\\\"\\\"}.fa-flux-capacitor:before{content:\\\"\\\"}.fa-fly:before{content:\\\"\\\"}.fa-fog:before{content:\\\"\\\"}.fa-folder:before{content:\\\"\\\"}.fa-folder-download:before{content:\\\"肋\\\"}.fa-folder-minus:before{content:\\\"\\\"}.fa-folder-open:before{content:\\\"\\\"}.fa-folder-plus:before{content:\\\"\\\"}.fa-folder-times:before{content:\\\"\\\"}.fa-folder-tree:before{content:\\\"\\\"}.fa-folder-upload:before{content:\\\"凜\\\"}.fa-folders:before{content:\\\"\\\"}.fa-font:before{content:\\\"\\\"}.fa-font-awesome:before{content:\\\"\\\"}.fa-font-awesome-alt:before{content:\\\"\\\"}.fa-font-awesome-flag:before{content:\\\"\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\"}.fa-font-case:before{content:\\\"\\\"}.fa-fonticons:before{content:\\\"\\\"}.fa-fonticons-fi:before{content:\\\"\\\"}.fa-football-ball:before{content:\\\"\\\"}.fa-football-helmet:before{content:\\\"\\\"}.fa-forklift:before{content:\\\"\\\"}.fa-fort-awesome:before{content:\\\"\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\"}.fa-forumbee:before{content:\\\"\\\"}.fa-forward:before{content:\\\"\\\"}.fa-foursquare:before{content:\\\"\\\"}.fa-fragile:before{content:\\\"\\\"}.fa-free-code-camp:before{content:\\\"\\\"}.fa-freebsd:before{content:\\\"\\\"}.fa-french-fries:before{content:\\\"\\\"}.fa-frog:before{content:\\\"\\\"}.fa-frosty-head:before{content:\\\"\\\"}.fa-frown:before{content:\\\"\\\"}.fa-frown-open:before{content:\\\"\\\"}.fa-fulcrum:before{content:\\\"\\\"}.fa-function:before{content:\\\"\\\"}.fa-funnel-dollar:before{content:\\\"\\\"}.fa-futbol:before{content:\\\"\\\"}.fa-galactic-republic:before{content:\\\"\\\"}.fa-galactic-senate:before{content:\\\"\\\"}.fa-galaxy:before{content:\\\"龜\\\"}.fa-game-board:before{content:\\\"\\\"}.fa-game-board-alt:before{content:\\\"\\\"}.fa-game-console-handheld:before{content:\\\"\\\"}.fa-gamepad:before{content:\\\"\\\"}.fa-gamepad-alt:before{content:\\\"\\\"}.fa-garage:before{content:\\\"契\\\"}.fa-garage-car:before{content:\\\"金\\\"}.fa-garage-open:before{content:\\\"喇\\\"}.fa-gas-pump:before{content:\\\"\\\"}.fa-gas-pump-slash:before{content:\\\"\\\"}.fa-gavel:before{content:\\\"\\\"}.fa-gem:before{content:\\\"\\\"}.fa-genderless:before{content:\\\"\\\"}.fa-get-pocket:before{content:\\\"\\\"}.fa-gg:before{content:\\\"\\\"}.fa-gg-circle:before{content:\\\"\\\"}.fa-ghost:before{content:\\\"\\\"}.fa-gift:before{content:\\\"\\\"}.fa-gift-card:before{content:\\\"\\\"}.fa-gifts:before{content:\\\"\\\"}.fa-gingerbread-man:before{content:\\\"\\\"}.fa-git:before{content:\\\"\\\"}.fa-git-alt:before{content:\\\"\\\"}.fa-git-square:before{content:\\\"\\\"}.fa-github:before{content:\\\"\\\"}.fa-github-alt:before{content:\\\"\\\"}.fa-github-square:before{content:\\\"\\\"}.fa-gitkraken:before{content:\\\"\\\"}.fa-gitlab:before{content:\\\"\\\"}.fa-gitter:before{content:\\\"\\\"}.fa-glass:before{content:\\\"\\\"}.fa-glass-champagne:before{content:\\\"\\\"}.fa-glass-cheers:before{content:\\\"\\\"}.fa-glass-citrus:before{content:\\\"\\\"}.fa-glass-martini:before{content:\\\"\\\"}.fa-glass-martini-alt:before{content:\\\"\\\"}.fa-glass-whiskey:before{content:\\\"\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\"}.fa-glasses:before{content:\\\"\\\"}.fa-glasses-alt:before{content:\\\"\\\"}.fa-glide:before{content:\\\"\\\"}.fa-glide-g:before{content:\\\"\\\"}.fa-globe:before{content:\\\"\\\"}.fa-globe-africa:before{content:\\\"\\\"}.fa-globe-americas:before{content:\\\"\\\"}.fa-globe-asia:before{content:\\\"\\\"}.fa-globe-europe:before{content:\\\"\\\"}.fa-globe-snow:before{content:\\\"\\\"}.fa-globe-stand:before{content:\\\"\\\"}.fa-gofore:before{content:\\\"\\\"}.fa-golf-ball:before{content:\\\"\\\"}.fa-golf-club:before{content:\\\"\\\"}.fa-goodreads:before{content:\\\"\\\"}.fa-goodreads-g:before{content:\\\"\\\"}.fa-google:before{content:\\\"\\\"}.fa-google-drive:before{content:\\\"\\\"}.fa-google-play:before{content:\\\"\\\"}.fa-google-plus:before{content:\\\"\\\"}.fa-google-plus-g:before{content:\\\"\\\"}.fa-google-plus-square:before{content:\\\"\\\"}.fa-google-wallet:before{content:\\\"\\\"}.fa-gopuram:before{content:\\\"\\\"}.fa-graduation-cap:before{content:\\\"\\\"}.fa-gramophone:before{content:\\\"\\\"}.fa-gratipay:before{content:\\\"\\\"}.fa-grav:before{content:\\\"\\\"}.fa-greater-than:before{content:\\\"\\\"}.fa-greater-than-equal:before{content:\\\"\\\"}.fa-grimace:before{content:\\\"\\\"}.fa-grin:before{content:\\\"\\\"}.fa-grin-alt:before{content:\\\"\\\"}.fa-grin-beam:before{content:\\\"\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\"}.fa-grin-hearts:before{content:\\\"\\\"}.fa-grin-squint:before{content:\\\"\\\"}.fa-grin-squint-tears:before{content:\\\"\\\"}.fa-grin-stars:before{content:\\\"\\\"}.fa-grin-tears:before{content:\\\"\\\"}.fa-grin-tongue:before{content:\\\"\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\"}.fa-grin-wink:before{content:\\\"\\\"}.fa-grip-horizontal:before{content:\\\"\\\"}.fa-grip-lines:before{content:\\\"\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\"}.fa-grip-vertical:before{content:\\\"\\\"}.fa-gripfire:before{content:\\\"\\\"}.fa-grunt:before{content:\\\"\\\"}.fa-guitar:before{content:\\\"\\\"}.fa-guitar-electric:before{content:\\\"\\\"}.fa-guitars:before{content:\\\"\\\"}.fa-gulp:before{content:\\\"\\\"}.fa-h-square:before{content:\\\"\\\"}.fa-h1:before{content:\\\"\\\"}.fa-h2:before{content:\\\"\\\"}.fa-h3:before{content:\\\"\\\"}.fa-h4:before{content:\\\"\\\"}.fa-hacker-news:before{content:\\\"\\\"}.fa-hacker-news-square:before{content:\\\"\\\"}.fa-hackerrank:before{content:\\\"\\\"}.fa-hamburger:before{content:\\\"\\\"}.fa-hammer:before{content:\\\"\\\"}.fa-hammer-war:before{content:\\\"\\\"}.fa-hamsa:before{content:\\\"\\\"}.fa-hand-heart:before{content:\\\"\\\"}.fa-hand-holding:before{content:\\\"\\\"}.fa-hand-holding-box:before{content:\\\"\\\"}.fa-hand-holding-heart:before{content:\\\"\\\"}.fa-hand-holding-magic:before{content:\\\"\\\"}.fa-hand-holding-medical:before{content:\\\"樂\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\"}.fa-hand-holding-usd:before{content:\\\"\\\"}.fa-hand-holding-water:before{content:\\\"\\\"}.fa-hand-lizard:before{content:\\\"\\\"}.fa-hand-middle-finger:before{content:\\\"\\\"}.fa-hand-paper:before{content:\\\"\\\"}.fa-hand-peace:before{content:\\\"\\\"}.fa-hand-point-down:before{content:\\\"\\\"}.fa-hand-point-left:before{content:\\\"\\\"}.fa-hand-point-right:before{content:\\\"\\\"}.fa-hand-point-up:before{content:\\\"\\\"}.fa-hand-pointer:before{content:\\\"\\\"}.fa-hand-receiving:before{content:\\\"\\\"}.fa-hand-rock:before{content:\\\"\\\"}.fa-hand-scissors:before{content:\\\"\\\"}.fa-hand-sparkles:before{content:\\\"諾\\\"}.fa-hand-spock:before{content:\\\"\\\"}.fa-hands:before{content:\\\"\\\"}.fa-hands-heart:before{content:\\\"\\\"}.fa-hands-helping:before{content:\\\"\\\"}.fa-hands-usd:before{content:\\\"\\\"}.fa-hands-wash:before{content:\\\"丹\\\"}.fa-handshake:before{content:\\\"\\\"}.fa-handshake-alt:before{content:\\\"\\\"}.fa-handshake-alt-slash:before{content:\\\"寧\\\"}.fa-handshake-slash:before{content:\\\"怒\\\"}.fa-hanukiah:before{content:\\\"\\\"}.fa-hard-hat:before{content:\\\"\\\"}.fa-hashtag:before{content:\\\"\\\"}.fa-hat-chef:before{content:\\\"\\\"}.fa-hat-cowboy:before{content:\\\"\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\"}.fa-hat-santa:before{content:\\\"\\\"}.fa-hat-winter:before{content:\\\"\\\"}.fa-hat-witch:before{content:\\\"\\\"}.fa-hat-wizard:before{content:\\\"\\\"}.fa-hdd:before{content:\\\"\\\"}.fa-head-side:before{content:\\\"\\\"}.fa-head-side-brain:before{content:\\\"\\\"}.fa-head-side-cough:before{content:\\\"率\\\"}.fa-head-side-cough-slash:before{content:\\\"異\\\"}.fa-head-side-headphones:before{content:\\\"\\\"}.fa-head-side-mask:before{content:\\\"北\\\"}.fa-head-side-medical:before{content:\\\"\\\"}.fa-head-side-virus:before{content:\\\"磻\\\"}.fa-head-vr:before{content:\\\"\\\"}.fa-heading:before{content:\\\"\\\"}.fa-headphones:before{content:\\\"\\\"}.fa-headphones-alt:before{content:\\\"\\\"}.fa-headset:before{content:\\\"\\\"}.fa-heart:before{content:\\\"\\\"}.fa-heart-broken:before{content:\\\"\\\"}.fa-heart-circle:before{content:\\\"\\\"}.fa-heart-rate:before{content:\\\"\\\"}.fa-heart-square:before{content:\\\"\\\"}.fa-heartbeat:before{content:\\\"\\\"}.fa-heat:before{content:\\\"奈\\\"}.fa-helicopter:before{content:\\\"\\\"}.fa-helmet-battle:before{content:\\\"\\\"}.fa-hexagon:before{content:\\\"\\\"}.fa-highlighter:before{content:\\\"\\\"}.fa-hiking:before{content:\\\"\\\"}.fa-hippo:before{content:\\\"\\\"}.fa-hips:before{content:\\\"\\\"}.fa-hire-a-helper:before{content:\\\"\\\"}.fa-history:before{content:\\\"\\\"}.fa-hockey-mask:before{content:\\\"\\\"}.fa-hockey-puck:before{content:\\\"\\\"}.fa-hockey-sticks:before{content:\\\"\\\"}.fa-holly-berry:before{content:\\\"\\\"}.fa-home:before{content:\\\"\\\"}.fa-home-alt:before{content:\\\"\\\"}.fa-home-heart:before{content:\\\"\\\"}.fa-home-lg:before{content:\\\"\\\"}.fa-home-lg-alt:before{content:\\\"\\\"}.fa-hood-cloak:before{content:\\\"\\\"}.fa-hooli:before{content:\\\"\\\"}.fa-horizontal-rule:before{content:\\\"\\\"}.fa-hornbill:before{content:\\\"\\\"}.fa-horse:before{content:\\\"\\\"}.fa-horse-head:before{content:\\\"\\\"}.fa-horse-saddle:before{content:\\\"\\\"}.fa-hospital:before{content:\\\"\\\"}.fa-hospital-alt:before{content:\\\"\\\"}.fa-hospital-symbol:before{content:\\\"\\\"}.fa-hospital-user:before{content:\\\"\\\"}.fa-hospitals:before{content:\\\"\\\"}.fa-hot-tub:before{content:\\\"\\\"}.fa-hotdog:before{content:\\\"\\\"}.fa-hotel:before{content:\\\"\\\"}.fa-hotjar:before{content:\\\"\\\"}.fa-hourglass:before{content:\\\"\\\"}.fa-hourglass-end:before{content:\\\"\\\"}.fa-hourglass-half:before{content:\\\"\\\"}.fa-hourglass-start:before{content:\\\"\\\"}.fa-house:before{content:\\\"懶\\\"}.fa-house-damage:before{content:\\\"\\\"}.fa-house-day:before{content:\\\"癩\\\"}.fa-house-flood:before{content:\\\"\\\"}.fa-house-leave:before{content:\\\"羅\\\"}.fa-house-night:before{content:\\\"蘿\\\"}.fa-house-return:before{content:\\\"螺\\\"}.fa-house-signal:before{content:\\\"裸\\\"}.fa-house-user:before{content:\\\"便\\\"}.fa-houzz:before{content:\\\"\\\"}.fa-hryvnia:before{content:\\\"\\\"}.fa-html5:before{content:\\\"\\\"}.fa-hubspot:before{content:\\\"\\\"}.fa-humidity:before{content:\\\"\\\"}.fa-hurricane:before{content:\\\"\\\"}.fa-i-cursor:before{content:\\\"\\\"}.fa-ice-cream:before{content:\\\"\\\"}.fa-ice-skate:before{content:\\\"\\\"}.fa-icicles:before{content:\\\"\\\"}.fa-icons:before{content:\\\"\\\"}.fa-icons-alt:before{content:\\\"\\\"}.fa-id-badge:before{content:\\\"\\\"}.fa-id-card:before{content:\\\"\\\"}.fa-id-card-alt:before{content:\\\"\\\"}.fa-ideal:before{content:\\\"邏\\\"}.fa-igloo:before{content:\\\"\\\"}.fa-image:before{content:\\\"\\\"}.fa-image-polaroid:before{content:\\\"\\\"}.fa-images:before{content:\\\"\\\"}.fa-imdb:before{content:\\\"\\\"}.fa-inbox:before{content:\\\"\\\"}.fa-inbox-in:before{content:\\\"\\\"}.fa-inbox-out:before{content:\\\"\\\"}.fa-indent:before{content:\\\"\\\"}.fa-industry:before{content:\\\"\\\"}.fa-industry-alt:before{content:\\\"\\\"}.fa-infinity:before{content:\\\"\\\"}.fa-info:before{content:\\\"\\\"}.fa-info-circle:before{content:\\\"\\\"}.fa-info-square:before{content:\\\"\\\"}.fa-inhaler:before{content:\\\"\\\"}.fa-instagram:before{content:\\\"\\\"}.fa-instagram-square:before{content:\\\"凌\\\"}.fa-integral:before{content:\\\"\\\"}.fa-intercom:before{content:\\\"\\\"}.fa-internet-explorer:before{content:\\\"\\\"}.fa-intersection:before{content:\\\"\\\"}.fa-inventory:before{content:\\\"\\\"}.fa-invision:before{content:\\\"\\\"}.fa-ioxhost:before{content:\\\"\\\"}.fa-island-tropical:before{content:\\\"\\\"}.fa-italic:before{content:\\\"\\\"}.fa-itch-io:before{content:\\\"\\\"}.fa-itunes:before{content:\\\"\\\"}.fa-itunes-note:before{content:\\\"\\\"}.fa-jack-o-lantern:before{content:\\\"\\\"}.fa-java:before{content:\\\"\\\"}.fa-jedi:before{content:\\\"\\\"}.fa-jedi-order:before{content:\\\"\\\"}.fa-jenkins:before{content:\\\"\\\"}.fa-jira:before{content:\\\"\\\"}.fa-joget:before{content:\\\"\\\"}.fa-joint:before{content:\\\"\\\"}.fa-joomla:before{content:\\\"\\\"}.fa-journal-whills:before{content:\\\"\\\"}.fa-joystick:before{content:\\\"\\\"}.fa-js:before{content:\\\"\\\"}.fa-js-square:before{content:\\\"\\\"}.fa-jsfiddle:before{content:\\\"\\\"}.fa-jug:before{content:\\\"\\\"}.fa-kaaba:before{content:\\\"\\\"}.fa-kaggle:before{content:\\\"\\\"}.fa-kazoo:before{content:\\\"\\\"}.fa-kerning:before{content:\\\"\\\"}.fa-key:before{content:\\\"\\\"}.fa-key-skeleton:before{content:\\\"\\\"}.fa-keybase:before{content:\\\"\\\"}.fa-keyboard:before{content:\\\"\\\"}.fa-keycdn:before{content:\\\"\\\"}.fa-keynote:before{content:\\\"\\\"}.fa-khanda:before{content:\\\"\\\"}.fa-kickstarter:before{content:\\\"\\\"}.fa-kickstarter-k:before{content:\\\"\\\"}.fa-kidneys:before{content:\\\"\\\"}.fa-kiss:before{content:\\\"\\\"}.fa-kiss-beam:before{content:\\\"\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\"}.fa-kite:before{content:\\\"\\\"}.fa-kiwi-bird:before{content:\\\"\\\"}.fa-knife-kitchen:before{content:\\\"\\\"}.fa-korvue:before{content:\\\"\\\"}.fa-lambda:before{content:\\\"\\\"}.fa-lamp:before{content:\\\"\\\"}.fa-lamp-desk:before{content:\\\"樂\\\"}.fa-lamp-floor:before{content:\\\"洛\\\"}.fa-landmark:before{content:\\\"\\\"}.fa-landmark-alt:before{content:\\\"\\\"}.fa-language:before{content:\\\"\\\"}.fa-laptop:before{content:\\\"\\\"}.fa-laptop-code:before{content:\\\"\\\"}.fa-laptop-house:before{content:\\\"復\\\"}.fa-laptop-medical:before{content:\\\"\\\"}.fa-laravel:before{content:\\\"\\\"}.fa-lasso:before{content:\\\"\\\"}.fa-lastfm:before{content:\\\"\\\"}.fa-lastfm-square:before{content:\\\"\\\"}.fa-laugh:before{content:\\\"\\\"}.fa-laugh-beam:before{content:\\\"\\\"}.fa-laugh-squint:before{content:\\\"\\\"}.fa-laugh-wink:before{content:\\\"\\\"}.fa-layer-group:before{content:\\\"\\\"}.fa-layer-minus:before{content:\\\"\\\"}.fa-layer-plus:before{content:\\\"\\\"}.fa-leaf:before{content:\\\"\\\"}.fa-leaf-heart:before{content:\\\"\\\"}.fa-leaf-maple:before{content:\\\"\\\"}.fa-leaf-oak:before{content:\\\"\\\"}.fa-leanpub:before{content:\\\"\\\"}.fa-lemon:before{content:\\\"\\\"}.fa-less:before{content:\\\"\\\"}.fa-less-than:before{content:\\\"\\\"}.fa-less-than-equal:before{content:\\\"\\\"}.fa-level-down:before{content:\\\"\\\"}.fa-level-down-alt:before{content:\\\"\\\"}.fa-level-up:before{content:\\\"\\\"}.fa-level-up-alt:before{content:\\\"\\\"}.fa-life-ring:before{content:\\\"\\\"}.fa-light-ceiling:before{content:\\\"烙\\\"}.fa-light-switch:before{content:\\\"珞\\\"}.fa-light-switch-off:before{content:\\\"落\\\"}.fa-light-switch-on:before{content:\\\"酪\\\"}.fa-lightbulb:before{content:\\\"\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\"}.fa-lightbulb-on:before{content:\\\"\\\"}.fa-lightbulb-slash:before{content:\\\"\\\"}.fa-lights-holiday:before{content:\\\"\\\"}.fa-line:before{content:\\\"\\\"}.fa-line-columns:before{content:\\\"\\\"}.fa-line-height:before{content:\\\"\\\"}.fa-link:before{content:\\\"\\\"}.fa-linkedin:before{content:\\\"\\\"}.fa-linkedin-in:before{content:\\\"\\\"}.fa-linode:before{content:\\\"\\\"}.fa-linux:before{content:\\\"\\\"}.fa-lips:before{content:\\\"\\\"}.fa-lira-sign:before{content:\\\"\\\"}.fa-list:before{content:\\\"\\\"}.fa-list-alt:before{content:\\\"\\\"}.fa-list-music:before{content:\\\"\\\"}.fa-list-ol:before{content:\\\"\\\"}.fa-list-ul:before{content:\\\"\\\"}.fa-location:before{content:\\\"\\\"}.fa-location-arrow:before{content:\\\"\\\"}.fa-location-circle:before{content:\\\"\\\"}.fa-location-slash:before{content:\\\"\\\"}.fa-lock:before{content:\\\"\\\"}.fa-lock-alt:before{content:\\\"\\\"}.fa-lock-open:before{content:\\\"\\\"}.fa-lock-open-alt:before{content:\\\"\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\"}.fa-long-arrow-down:before{content:\\\"\\\"}.fa-long-arrow-left:before{content:\\\"\\\"}.fa-long-arrow-right:before{content:\\\"\\\"}.fa-long-arrow-up:before{content:\\\"\\\"}.fa-loveseat:before{content:\\\"\\\"}.fa-low-vision:before{content:\\\"\\\"}.fa-luchador:before{content:\\\"\\\"}.fa-luggage-cart:before{content:\\\"\\\"}.fa-lungs:before{content:\\\"\\\"}.fa-lungs-virus:before{content:\\\"不\\\"}.fa-lyft:before{content:\\\"\\\"}.fa-mace:before{content:\\\"\\\"}.fa-magento:before{content:\\\"\\\"}.fa-magic:before{content:\\\"\\\"}.fa-magnet:before{content:\\\"\\\"}.fa-mail-bulk:before{content:\\\"\\\"}.fa-mailbox:before{content:\\\"\\\"}.fa-mailchimp:before{content:\\\"\\\"}.fa-male:before{content:\\\"\\\"}.fa-mandalorian:before{content:\\\"\\\"}.fa-mandolin:before{content:\\\"\\\"}.fa-map:before{content:\\\"\\\"}.fa-map-marked:before{content:\\\"\\\"}.fa-map-marked-alt:before{content:\\\"\\\"}.fa-map-marker:before{content:\\\"\\\"}.fa-map-marker-alt:before{content:\\\"\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\"}.fa-map-marker-check:before{content:\\\"\\\"}.fa-map-marker-edit:before{content:\\\"\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\"}.fa-map-marker-minus:before{content:\\\"\\\"}.fa-map-marker-plus:before{content:\\\"\\\"}.fa-map-marker-question:before{content:\\\"\\\"}.fa-map-marker-slash:before{content:\\\"\\\"}.fa-map-marker-smile:before{content:\\\"\\\"}.fa-map-marker-times:before{content:\\\"\\\"}.fa-map-pin:before{content:\\\"\\\"}.fa-map-signs:before{content:\\\"\\\"}.fa-markdown:before{content:\\\"\\\"}.fa-marker:before{content:\\\"\\\"}.fa-mars:before{content:\\\"\\\"}.fa-mars-double:before{content:\\\"\\\"}.fa-mars-stroke:before{content:\\\"\\\"}.fa-mars-stroke-h:before{content:\\\"\\\"}.fa-mars-stroke-v:before{content:\\\"\\\"}.fa-mask:before{content:\\\"\\\"}.fa-mastodon:before{content:\\\"\\\"}.fa-maxcdn:before{content:\\\"\\\"}.fa-mdb:before{content:\\\"\\\"}.fa-meat:before{content:\\\"\\\"}.fa-medal:before{content:\\\"\\\"}.fa-medapps:before{content:\\\"\\\"}.fa-medium:before{content:\\\"\\\"}.fa-medium-m:before{content:\\\"\\\"}.fa-medkit:before{content:\\\"\\\"}.fa-medrt:before{content:\\\"\\\"}.fa-meetup:before{content:\\\"\\\"}.fa-megaphone:before{content:\\\"\\\"}.fa-megaport:before{content:\\\"\\\"}.fa-meh:before{content:\\\"\\\"}.fa-meh-blank:before{content:\\\"\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\"}.fa-memory:before{content:\\\"\\\"}.fa-mendeley:before{content:\\\"\\\"}.fa-menorah:before{content:\\\"\\\"}.fa-mercury:before{content:\\\"\\\"}.fa-meteor:before{content:\\\"\\\"}.fa-microblog:before{content:\\\"駱\\\"}.fa-microchip:before{content:\\\"\\\"}.fa-microphone:before{content:\\\"\\\"}.fa-microphone-alt:before{content:\\\"\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\"}.fa-microphone-slash:before{content:\\\"\\\"}.fa-microphone-stand:before{content:\\\"\\\"}.fa-microscope:before{content:\\\"\\\"}.fa-microsoft:before{content:\\\"\\\"}.fa-microwave:before{content:\\\"亂\\\"}.fa-mind-share:before{content:\\\"\\\"}.fa-minus:before{content:\\\"\\\"}.fa-minus-circle:before{content:\\\"\\\"}.fa-minus-hexagon:before{content:\\\"\\\"}.fa-minus-octagon:before{content:\\\"\\\"}.fa-minus-square:before{content:\\\"\\\"}.fa-mistletoe:before{content:\\\"\\\"}.fa-mitten:before{content:\\\"\\\"}.fa-mix:before{content:\\\"\\\"}.fa-mixcloud:before{content:\\\"\\\"}.fa-mixer:before{content:\\\"稜\\\"}.fa-mizuni:before{content:\\\"\\\"}.fa-mobile:before{content:\\\"\\\"}.fa-mobile-alt:before{content:\\\"\\\"}.fa-mobile-android:before{content:\\\"\\\"}.fa-mobile-android-alt:before{content:\\\"\\\"}.fa-modx:before{content:\\\"\\\"}.fa-monero:before{content:\\\"\\\"}.fa-money-bill:before{content:\\\"\\\"}.fa-money-bill-alt:before{content:\\\"\\\"}.fa-money-bill-wave:before{content:\\\"\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\"}.fa-money-check:before{content:\\\"\\\"}.fa-money-check-alt:before{content:\\\"\\\"}.fa-money-check-edit:before{content:\\\"\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\"}.fa-monkey:before{content:\\\"\\\"}.fa-monument:before{content:\\\"\\\"}.fa-moon:before{content:\\\"\\\"}.fa-moon-cloud:before{content:\\\"\\\"}.fa-moon-stars:before{content:\\\"\\\"}.fa-mortar-pestle:before{content:\\\"\\\"}.fa-mosque:before{content:\\\"\\\"}.fa-motorcycle:before{content:\\\"\\\"}.fa-mountain:before{content:\\\"\\\"}.fa-mountains:before{content:\\\"\\\"}.fa-mouse:before{content:\\\"\\\"}.fa-mouse-alt:before{content:\\\"\\\"}.fa-mouse-pointer:before{content:\\\"\\\"}.fa-mp3-player:before{content:\\\"\\\"}.fa-mug:before{content:\\\"\\\"}.fa-mug-hot:before{content:\\\"\\\"}.fa-mug-marshmallows:before{content:\\\"\\\"}.fa-mug-tea:before{content:\\\"\\\"}.fa-music:before{content:\\\"\\\"}.fa-music-alt:before{content:\\\"\\\"}.fa-music-alt-slash:before{content:\\\"\\\"}.fa-music-slash:before{content:\\\"\\\"}.fa-napster:before{content:\\\"\\\"}.fa-narwhal:before{content:\\\"\\\"}.fa-neos:before{content:\\\"\\\"}.fa-network-wired:before{content:\\\"\\\"}.fa-neuter:before{content:\\\"\\\"}.fa-newspaper:before{content:\\\"\\\"}.fa-nimblr:before{content:\\\"\\\"}.fa-node:before{content:\\\"\\\"}.fa-node-js:before{content:\\\"\\\"}.fa-not-equal:before{content:\\\"\\\"}.fa-notes-medical:before{content:\\\"\\\"}.fa-npm:before{content:\\\"\\\"}.fa-ns8:before{content:\\\"\\\"}.fa-nutritionix:before{content:\\\"\\\"}.fa-object-group:before{content:\\\"\\\"}.fa-object-ungroup:before{content:\\\"\\\"}.fa-octagon:before{content:\\\"\\\"}.fa-odnoklassniki:before{content:\\\"\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\"}.fa-oil-can:before{content:\\\"\\\"}.fa-oil-temp:before{content:\\\"\\\"}.fa-old-republic:before{content:\\\"\\\"}.fa-om:before{content:\\\"\\\"}.fa-omega:before{content:\\\"\\\"}.fa-opencart:before{content:\\\"\\\"}.fa-openid:before{content:\\\"\\\"}.fa-opera:before{content:\\\"\\\"}.fa-optin-monster:before{content:\\\"\\\"}.fa-orcid:before{content:\\\"\\\"}.fa-ornament:before{content:\\\"\\\"}.fa-osi:before{content:\\\"\\\"}.fa-otter:before{content:\\\"\\\"}.fa-outdent:before{content:\\\"\\\"}.fa-outlet:before{content:\\\"卵\\\"}.fa-oven:before{content:\\\"欄\\\"}.fa-overline:before{content:\\\"\\\"}.fa-page-break:before{content:\\\"\\\"}.fa-page4:before{content:\\\"\\\"}.fa-pagelines:before{content:\\\"\\\"}.fa-pager:before{content:\\\"\\\"}.fa-paint-brush:before{content:\\\"\\\"}.fa-paint-brush-alt:before{content:\\\"\\\"}.fa-paint-roller:before{content:\\\"\\\"}.fa-palette:before{content:\\\"\\\"}.fa-palfed:before{content:\\\"\\\"}.fa-pallet:before{content:\\\"\\\"}.fa-pallet-alt:before{content:\\\"\\\"}.fa-paper-plane:before{content:\\\"\\\"}.fa-paperclip:before{content:\\\"\\\"}.fa-parachute-box:before{content:\\\"\\\"}.fa-paragraph:before{content:\\\"\\\"}.fa-paragraph-rtl:before{content:\\\"\\\"}.fa-parking:before{content:\\\"\\\"}.fa-parking-circle:before{content:\\\"\\\"}.fa-parking-circle-slash:before{content:\\\"\\\"}.fa-parking-slash:before{content:\\\"\\\"}.fa-passport:before{content:\\\"\\\"}.fa-pastafarianism:before{content:\\\"\\\"}.fa-paste:before{content:\\\"\\\"}.fa-patreon:before{content:\\\"\\\"}.fa-pause:before{content:\\\"\\\"}.fa-pause-circle:before{content:\\\"\\\"}.fa-paw:before{content:\\\"\\\"}.fa-paw-alt:before{content:\\\"\\\"}.fa-paw-claws:before{content:\\\"\\\"}.fa-paypal:before{content:\\\"\\\"}.fa-peace:before{content:\\\"\\\"}.fa-pegasus:before{content:\\\"\\\"}.fa-pen:before{content:\\\"\\\"}.fa-pen-alt:before{content:\\\"\\\"}.fa-pen-fancy:before{content:\\\"\\\"}.fa-pen-nib:before{content:\\\"\\\"}.fa-pen-square:before{content:\\\"\\\"}.fa-pencil:before{content:\\\"\\\"}.fa-pencil-alt:before{content:\\\"\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\"}.fa-pencil-ruler:before{content:\\\"\\\"}.fa-pennant:before{content:\\\"\\\"}.fa-penny-arcade:before{content:\\\"\\\"}.fa-people-arrows:before{content:\\\"泌\\\"}.fa-people-carry:before{content:\\\"\\\"}.fa-pepper-hot:before{content:\\\"\\\"}.fa-percent:before{content:\\\"\\\"}.fa-percentage:before{content:\\\"\\\"}.fa-periscope:before{content:\\\"\\\"}.fa-person-booth:before{content:\\\"\\\"}.fa-person-carry:before{content:\\\"\\\"}.fa-person-dolly:before{content:\\\"\\\"}.fa-person-dolly-empty:before{content:\\\"\\\"}.fa-person-sign:before{content:\\\"\\\"}.fa-phabricator:before{content:\\\"\\\"}.fa-phoenix-framework:before{content:\\\"\\\"}.fa-phoenix-squadron:before{content:\\\"\\\"}.fa-phone:before{content:\\\"\\\"}.fa-phone-alt:before{content:\\\"\\\"}.fa-phone-laptop:before{content:\\\"\\\"}.fa-phone-office:before{content:\\\"\\\"}.fa-phone-plus:before{content:\\\"\\\"}.fa-phone-rotary:before{content:\\\"\\\"}.fa-phone-slash:before{content:\\\"\\\"}.fa-phone-square:before{content:\\\"\\\"}.fa-phone-square-alt:before{content:\\\"\\\"}.fa-phone-volume:before{content:\\\"\\\"}.fa-photo-video:before{content:\\\"\\\"}.fa-php:before{content:\\\"\\\"}.fa-pi:before{content:\\\"\\\"}.fa-piano:before{content:\\\"\\\"}.fa-piano-keyboard:before{content:\\\"\\\"}.fa-pie:before{content:\\\"\\\"}.fa-pied-piper:before{content:\\\"\\\"}.fa-pied-piper-alt:before{content:\\\"\\\"}.fa-pied-piper-hat:before{content:\\\"\\\"}.fa-pied-piper-pp:before{content:\\\"\\\"}.fa-pied-piper-square:before{content:\\\"爛\\\"}.fa-pig:before{content:\\\"\\\"}.fa-piggy-bank:before{content:\\\"\\\"}.fa-pills:before{content:\\\"\\\"}.fa-pinterest:before{content:\\\"\\\"}.fa-pinterest-p:before{content:\\\"\\\"}.fa-pinterest-square:before{content:\\\"\\\"}.fa-pizza:before{content:\\\"\\\"}.fa-pizza-slice:before{content:\\\"\\\"}.fa-place-of-worship:before{content:\\\"\\\"}.fa-plane:before{content:\\\"\\\"}.fa-plane-alt:before{content:\\\"\\\"}.fa-plane-arrival:before{content:\\\"\\\"}.fa-plane-departure:before{content:\\\"\\\"}.fa-plane-slash:before{content:\\\"數\\\"}.fa-planet-moon:before{content:\\\"蘭\\\"}.fa-planet-ringed:before{content:\\\"鸞\\\"}.fa-play:before{content:\\\"\\\"}.fa-play-circle:before{content:\\\"\\\"}.fa-playstation:before{content:\\\"\\\"}.fa-plug:before{content:\\\"\\\"}.fa-plus:before{content:\\\"\\\"}.fa-plus-circle:before{content:\\\"\\\"}.fa-plus-hexagon:before{content:\\\"\\\"}.fa-plus-octagon:before{content:\\\"\\\"}.fa-plus-square:before{content:\\\"\\\"}.fa-podcast:before{content:\\\"\\\"}.fa-podium:before{content:\\\"\\\"}.fa-podium-star:before{content:\\\"\\\"}.fa-police-box:before{content:\\\"嵐\\\"}.fa-poll:before{content:\\\"\\\"}.fa-poll-h:before{content:\\\"\\\"}.fa-poll-people:before{content:\\\"\\\"}.fa-poo:before{content:\\\"\\\"}.fa-poo-storm:before{content:\\\"\\\"}.fa-poop:before{content:\\\"\\\"}.fa-popcorn:before{content:\\\"\\\"}.fa-portal-enter:before{content:\\\"濫\\\"}.fa-portal-exit:before{content:\\\"藍\\\"}.fa-portrait:before{content:\\\"\\\"}.fa-pound-sign:before{content:\\\"\\\"}.fa-power-off:before{content:\\\"\\\"}.fa-pray:before{content:\\\"\\\"}.fa-praying-hands:before{content:\\\"\\\"}.fa-prescription:before{content:\\\"\\\"}.fa-prescription-bottle:before{content:\\\"\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\"}.fa-presentation:before{content:\\\"\\\"}.fa-print:before{content:\\\"\\\"}.fa-print-search:before{content:\\\"\\\"}.fa-print-slash:before{content:\\\"\\\"}.fa-procedures:before{content:\\\"\\\"}.fa-product-hunt:before{content:\\\"\\\"}.fa-project-diagram:before{content:\\\"\\\"}.fa-projector:before{content:\\\"\\\"}.fa-pump-medical:before{content:\\\"索\\\"}.fa-pump-soap:before{content:\\\"參\\\"}.fa-pumpkin:before{content:\\\"\\\"}.fa-pushed:before{content:\\\"\\\"}.fa-puzzle-piece:before{content:\\\"\\\"}.fa-python:before{content:\\\"\\\"}.fa-qq:before{content:\\\"\\\"}.fa-qrcode:before{content:\\\"\\\"}.fa-question:before{content:\\\"\\\"}.fa-question-circle:before{content:\\\"\\\"}.fa-question-square:before{content:\\\"\\\"}.fa-quidditch:before{content:\\\"\\\"}.fa-quinscape:before{content:\\\"\\\"}.fa-quora:before{content:\\\"\\\"}.fa-quote-left:before{content:\\\"\\\"}.fa-quote-right:before{content:\\\"\\\"}.fa-quran:before{content:\\\"\\\"}.fa-r-project:before{content:\\\"\\\"}.fa-rabbit:before{content:\\\"\\\"}.fa-rabbit-fast:before{content:\\\"\\\"}.fa-racquet:before{content:\\\"\\\"}.fa-radar:before{content:\\\"襤\\\"}.fa-radiation:before{content:\\\"\\\"}.fa-radiation-alt:before{content:\\\"\\\"}.fa-radio:before{content:\\\"\\\"}.fa-radio-alt:before{content:\\\"\\\"}.fa-rainbow:before{content:\\\"\\\"}.fa-raindrops:before{content:\\\"\\\"}.fa-ram:before{content:\\\"\\\"}.fa-ramp-loading:before{content:\\\"\\\"}.fa-random:before{content:\\\"\\\"}.fa-raspberry-pi:before{content:\\\"\\\"}.fa-ravelry:before{content:\\\"\\\"}.fa-raygun:before{content:\\\"拉\\\"}.fa-react:before{content:\\\"\\\"}.fa-reacteurope:before{content:\\\"\\\"}.fa-readme:before{content:\\\"\\\"}.fa-rebel:before{content:\\\"\\\"}.fa-receipt:before{content:\\\"\\\"}.fa-record-vinyl:before{content:\\\"\\\"}.fa-rectangle-landscape:before{content:\\\"\\\"}.fa-rectangle-portrait:before{content:\\\"\\\"}.fa-rectangle-wide:before{content:\\\"\\\"}.fa-recycle:before{content:\\\"\\\"}.fa-red-river:before{content:\\\"\\\"}.fa-reddit:before{content:\\\"\\\"}.fa-reddit-alien:before{content:\\\"\\\"}.fa-reddit-square:before{content:\\\"\\\"}.fa-redhat:before{content:\\\"\\\"}.fa-redo:before{content:\\\"\\\"}.fa-redo-alt:before{content:\\\"\\\"}.fa-refrigerator:before{content:\\\"臘\\\"}.fa-registered:before{content:\\\"\\\"}.fa-remove-format:before{content:\\\"\\\"}.fa-renren:before{content:\\\"\\\"}.fa-repeat:before{content:\\\"\\\"}.fa-repeat-1:before{content:\\\"\\\"}.fa-repeat-1-alt:before{content:\\\"\\\"}.fa-repeat-alt:before{content:\\\"\\\"}.fa-reply:before{content:\\\"\\\"}.fa-reply-all:before{content:\\\"\\\"}.fa-replyd:before{content:\\\"\\\"}.fa-republican:before{content:\\\"\\\"}.fa-researchgate:before{content:\\\"\\\"}.fa-resolving:before{content:\\\"\\\"}.fa-restroom:before{content:\\\"\\\"}.fa-retweet:before{content:\\\"\\\"}.fa-retweet-alt:before{content:\\\"\\\"}.fa-rev:before{content:\\\"\\\"}.fa-ribbon:before{content:\\\"\\\"}.fa-ring:before{content:\\\"\\\"}.fa-rings-wedding:before{content:\\\"\\\"}.fa-road:before{content:\\\"\\\"}.fa-robot:before{content:\\\"\\\"}.fa-rocket:before{content:\\\"\\\"}.fa-rocket-launch:before{content:\\\"蠟\\\"}.fa-rocketchat:before{content:\\\"\\\"}.fa-rockrms:before{content:\\\"\\\"}.fa-route:before{content:\\\"\\\"}.fa-route-highway:before{content:\\\"\\\"}.fa-route-interstate:before{content:\\\"\\\"}.fa-router:before{content:\\\"\\\"}.fa-rss:before{content:\\\"\\\"}.fa-rss-square:before{content:\\\"\\\"}.fa-ruble-sign:before{content:\\\"\\\"}.fa-ruler:before{content:\\\"\\\"}.fa-ruler-combined:before{content:\\\"\\\"}.fa-ruler-horizontal:before{content:\\\"\\\"}.fa-ruler-triangle:before{content:\\\"\\\"}.fa-ruler-vertical:before{content:\\\"\\\"}.fa-running:before{content:\\\"\\\"}.fa-rupee-sign:before{content:\\\"\\\"}.fa-rv:before{content:\\\"\\\"}.fa-sack:before{content:\\\"\\\"}.fa-sack-dollar:before{content:\\\"\\\"}.fa-sad-cry:before{content:\\\"\\\"}.fa-sad-tear:before{content:\\\"\\\"}.fa-safari:before{content:\\\"\\\"}.fa-salad:before{content:\\\"\\\"}.fa-salesforce:before{content:\\\"\\\"}.fa-sandwich:before{content:\\\"\\\"}.fa-sass:before{content:\\\"\\\"}.fa-satellite:before{content:\\\"\\\"}.fa-satellite-dish:before{content:\\\"\\\"}.fa-sausage:before{content:\\\"\\\"}.fa-save:before{content:\\\"\\\"}.fa-sax-hot:before{content:\\\"\\\"}.fa-saxophone:before{content:\\\"\\\"}.fa-scalpel:before{content:\\\"\\\"}.fa-scalpel-path:before{content:\\\"\\\"}.fa-scanner:before{content:\\\"\\\"}.fa-scanner-image:before{content:\\\"\\\"}.fa-scanner-keyboard:before{content:\\\"\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\"}.fa-scarecrow:before{content:\\\"\\\"}.fa-scarf:before{content:\\\"\\\"}.fa-schlix:before{content:\\\"\\\"}.fa-school:before{content:\\\"\\\"}.fa-screwdriver:before{content:\\\"\\\"}.fa-scribd:before{content:\\\"\\\"}.fa-scroll:before{content:\\\"\\\"}.fa-scroll-old:before{content:\\\"\\\"}.fa-scrubber:before{content:\\\"\\\"}.fa-scythe:before{content:\\\"\\\"}.fa-sd-card:before{content:\\\"\\\"}.fa-search:before{content:\\\"\\\"}.fa-search-dollar:before{content:\\\"\\\"}.fa-search-location:before{content:\\\"\\\"}.fa-search-minus:before{content:\\\"\\\"}.fa-search-plus:before{content:\\\"\\\"}.fa-searchengin:before{content:\\\"\\\"}.fa-seedling:before{content:\\\"\\\"}.fa-sellcast:before{content:\\\"\\\"}.fa-sellsy:before{content:\\\"\\\"}.fa-send-back:before{content:\\\"\\\"}.fa-send-backward:before{content:\\\"\\\"}.fa-sensor:before{content:\\\"廊\\\"}.fa-sensor-alert:before{content:\\\"朗\\\"}.fa-sensor-fire:before{content:\\\"浪\\\"}.fa-sensor-on:before{content:\\\"狼\\\"}.fa-sensor-smoke:before{content:\\\"郎\\\"}.fa-server:before{content:\\\"\\\"}.fa-servicestack:before{content:\\\"\\\"}.fa-shapes:before{content:\\\"\\\"}.fa-share:before{content:\\\"\\\"}.fa-share-all:before{content:\\\"\\\"}.fa-share-alt:before{content:\\\"\\\"}.fa-share-alt-square:before{content:\\\"\\\"}.fa-share-square:before{content:\\\"\\\"}.fa-sheep:before{content:\\\"\\\"}.fa-shekel-sign:before{content:\\\"\\\"}.fa-shield:before{content:\\\"\\\"}.fa-shield-alt:before{content:\\\"\\\"}.fa-shield-check:before{content:\\\"\\\"}.fa-shield-cross:before{content:\\\"\\\"}.fa-shield-virus:before{content:\\\"塞\\\"}.fa-ship:before{content:\\\"\\\"}.fa-shipping-fast:before{content:\\\"\\\"}.fa-shipping-timed:before{content:\\\"\\\"}.fa-shirtsinbulk:before{content:\\\"\\\"}.fa-shish-kebab:before{content:\\\"\\\"}.fa-shoe-prints:before{content:\\\"\\\"}.fa-shopify:before{content:\\\"綾\\\"}.fa-shopping-bag:before{content:\\\"\\\"}.fa-shopping-basket:before{content:\\\"\\\"}.fa-shopping-cart:before{content:\\\"\\\"}.fa-shopware:before{content:\\\"\\\"}.fa-shovel:before{content:\\\"\\\"}.fa-shovel-snow:before{content:\\\"\\\"}.fa-shower:before{content:\\\"\\\"}.fa-shredder:before{content:\\\"\\\"}.fa-shuttle-van:before{content:\\\"\\\"}.fa-shuttlecock:before{content:\\\"\\\"}.fa-sickle:before{content:\\\"\\\"}.fa-sigma:before{content:\\\"\\\"}.fa-sign:before{content:\\\"\\\"}.fa-sign-in:before{content:\\\"\\\"}.fa-sign-in-alt:before{content:\\\"\\\"}.fa-sign-language:before{content:\\\"\\\"}.fa-sign-out:before{content:\\\"\\\"}.fa-sign-out-alt:before{content:\\\"\\\"}.fa-signal:before{content:\\\"\\\"}.fa-signal-1:before{content:\\\"\\\"}.fa-signal-2:before{content:\\\"\\\"}.fa-signal-3:before{content:\\\"\\\"}.fa-signal-4:before{content:\\\"\\\"}.fa-signal-alt:before{content:\\\"\\\"}.fa-signal-alt-1:before{content:\\\"\\\"}.fa-signal-alt-2:before{content:\\\"\\\"}.fa-signal-alt-3:before{content:\\\"\\\"}.fa-signal-alt-slash:before{content:\\\"\\\"}.fa-signal-slash:before{content:\\\"\\\"}.fa-signal-stream:before{content:\\\"\\\"}.fa-signature:before{content:\\\"\\\"}.fa-sim-card:before{content:\\\"\\\"}.fa-simplybuilt:before{content:\\\"\\\"}.fa-sink:before{content:\\\"省\\\"}.fa-siren:before{content:\\\"來\\\"}.fa-siren-on:before{content:\\\"冷\\\"}.fa-sistrix:before{content:\\\"\\\"}.fa-sitemap:before{content:\\\"\\\"}.fa-sith:before{content:\\\"\\\"}.fa-skating:before{content:\\\"\\\"}.fa-skeleton:before{content:\\\"\\\"}.fa-sketch:before{content:\\\"\\\"}.fa-ski-jump:before{content:\\\"\\\"}.fa-ski-lift:before{content:\\\"\\\"}.fa-skiing:before{content:\\\"\\\"}.fa-skiing-nordic:before{content:\\\"\\\"}.fa-skull:before{content:\\\"\\\"}.fa-skull-cow:before{content:\\\"\\\"}.fa-skull-crossbones:before{content:\\\"\\\"}.fa-skyatlas:before{content:\\\"\\\"}.fa-skype:before{content:\\\"\\\"}.fa-slack:before{content:\\\"\\\"}.fa-slack-hash:before{content:\\\"\\\"}.fa-slash:before{content:\\\"\\\"}.fa-sledding:before{content:\\\"\\\"}.fa-sleigh:before{content:\\\"\\\"}.fa-sliders-h:before{content:\\\"\\\"}.fa-sliders-h-square:before{content:\\\"\\\"}.fa-sliders-v:before{content:\\\"\\\"}.fa-sliders-v-square:before{content:\\\"\\\"}.fa-slideshare:before{content:\\\"\\\"}.fa-smile:before{content:\\\"\\\"}.fa-smile-beam:before{content:\\\"\\\"}.fa-smile-plus:before{content:\\\"\\\"}.fa-smile-wink:before{content:\\\"\\\"}.fa-smog:before{content:\\\"\\\"}.fa-smoke:before{content:\\\"\\\"}.fa-smoking:before{content:\\\"\\\"}.fa-smoking-ban:before{content:\\\"\\\"}.fa-sms:before{content:\\\"\\\"}.fa-snake:before{content:\\\"\\\"}.fa-snapchat:before{content:\\\"\\\"}.fa-snapchat-ghost:before{content:\\\"\\\"}.fa-snapchat-square:before{content:\\\"\\\"}.fa-snooze:before{content:\\\"\\\"}.fa-snow-blowing:before{content:\\\"\\\"}.fa-snowboarding:before{content:\\\"\\\"}.fa-snowflake:before{content:\\\"\\\"}.fa-snowflakes:before{content:\\\"\\\"}.fa-snowman:before{content:\\\"\\\"}.fa-snowmobile:before{content:\\\"\\\"}.fa-snowplow:before{content:\\\"\\\"}.fa-soap:before{content:\\\"葉\\\"}.fa-socks:before{content:\\\"\\\"}.fa-solar-panel:before{content:\\\"\\\"}.fa-solar-system:before{content:\\\"勞\\\"}.fa-sort:before{content:\\\"\\\"}.fa-sort-alpha-down:before{content:\\\"\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\"}.fa-sort-alpha-up:before{content:\\\"\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\"}.fa-sort-alt:before{content:\\\"\\\"}.fa-sort-amount-down:before{content:\\\"\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\"}.fa-sort-amount-up:before{content:\\\"\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\"}.fa-sort-circle:before{content:\\\"擄\\\"}.fa-sort-circle-down:before{content:\\\"櫓\\\"}.fa-sort-circle-up:before{content:\\\"爐\\\"}.fa-sort-down:before{content:\\\"\\\"}.fa-sort-numeric-down:before{content:\\\"\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\"}.fa-sort-numeric-up:before{content:\\\"\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\"}.fa-sort-shapes-down:before{content:\\\"\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\"}.fa-sort-shapes-up:before{content:\\\"\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\"}.fa-sort-size-down:before{content:\\\"\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\"}.fa-sort-size-up:before{content:\\\"\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\"}.fa-sort-up:before{content:\\\"\\\"}.fa-soundcloud:before{content:\\\"\\\"}.fa-soup:before{content:\\\"\\\"}.fa-sourcetree:before{content:\\\"\\\"}.fa-spa:before{content:\\\"\\\"}.fa-space-shuttle:before{content:\\\"\\\"}.fa-space-station-moon:before{content:\\\"盧\\\"}.fa-space-station-moon-alt:before{content:\\\"老\\\"}.fa-spade:before{content:\\\"\\\"}.fa-sparkles:before{content:\\\"\\\"}.fa-speakap:before{content:\\\"\\\"}.fa-speaker:before{content:\\\"\\\"}.fa-speaker-deck:before{content:\\\"\\\"}.fa-speakers:before{content:\\\"\\\"}.fa-spell-check:before{content:\\\"\\\"}.fa-spider:before{content:\\\"\\\"}.fa-spider-black-widow:before{content:\\\"\\\"}.fa-spider-web:before{content:\\\"\\\"}.fa-spinner:before{content:\\\"\\\"}.fa-spinner-third:before{content:\\\"\\\"}.fa-splotch:before{content:\\\"\\\"}.fa-spotify:before{content:\\\"\\\"}.fa-spray-can:before{content:\\\"\\\"}.fa-sprinkler:before{content:\\\"蘆\\\"}.fa-square:before{content:\\\"\\\"}.fa-square-full:before{content:\\\"\\\"}.fa-square-root:before{content:\\\"\\\"}.fa-square-root-alt:before{content:\\\"\\\"}.fa-squarespace:before{content:\\\"\\\"}.fa-squirrel:before{content:\\\"\\\"}.fa-stack-exchange:before{content:\\\"\\\"}.fa-stack-overflow:before{content:\\\"\\\"}.fa-stackpath:before{content:\\\"\\\"}.fa-staff:before{content:\\\"\\\"}.fa-stamp:before{content:\\\"\\\"}.fa-star:before{content:\\\"\\\"}.fa-star-and-crescent:before{content:\\\"\\\"}.fa-star-christmas:before{content:\\\"\\\"}.fa-star-exclamation:before{content:\\\"\\\"}.fa-star-half:before{content:\\\"\\\"}.fa-star-half-alt:before{content:\\\"\\\"}.fa-star-of-david:before{content:\\\"\\\"}.fa-star-of-life:before{content:\\\"\\\"}.fa-star-shooting:before{content:\\\"虜\\\"}.fa-starfighter:before{content:\\\"路\\\"}.fa-starfighter-alt:before{content:\\\"露\\\"}.fa-stars:before{content:\\\"\\\"}.fa-starship:before{content:\\\"魯\\\"}.fa-starship-freighter:before{content:\\\"鷺\\\"}.fa-staylinked:before{content:\\\"\\\"}.fa-steak:before{content:\\\"\\\"}.fa-steam:before{content:\\\"\\\"}.fa-steam-square:before{content:\\\"\\\"}.fa-steam-symbol:before{content:\\\"\\\"}.fa-steering-wheel:before{content:\\\"\\\"}.fa-step-backward:before{content:\\\"\\\"}.fa-step-forward:before{content:\\\"\\\"}.fa-stethoscope:before{content:\\\"\\\"}.fa-sticker-mule:before{content:\\\"\\\"}.fa-sticky-note:before{content:\\\"\\\"}.fa-stocking:before{content:\\\"\\\"}.fa-stomach:before{content:\\\"\\\"}.fa-stop:before{content:\\\"\\\"}.fa-stop-circle:before{content:\\\"\\\"}.fa-stopwatch:before{content:\\\"\\\"}.fa-stopwatch-20:before{content:\\\"說\\\"}.fa-store:before{content:\\\"\\\"}.fa-store-alt:before{content:\\\"\\\"}.fa-store-alt-slash:before{content:\\\"殺\\\"}.fa-store-slash:before{content:\\\"辰\\\"}.fa-strava:before{content:\\\"\\\"}.fa-stream:before{content:\\\"\\\"}.fa-street-view:before{content:\\\"\\\"}.fa-stretcher:before{content:\\\"\\\"}.fa-strikethrough:before{content:\\\"\\\"}.fa-stripe:before{content:\\\"\\\"}.fa-stripe-s:before{content:\\\"\\\"}.fa-stroopwafel:before{content:\\\"\\\"}.fa-studiovinari:before{content:\\\"\\\"}.fa-stumbleupon:before{content:\\\"\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\"}.fa-subscript:before{content:\\\"\\\"}.fa-subway:before{content:\\\"\\\"}.fa-suitcase:before{content:\\\"\\\"}.fa-suitcase-rolling:before{content:\\\"\\\"}.fa-sun:before{content:\\\"\\\"}.fa-sun-cloud:before{content:\\\"\\\"}.fa-sun-dust:before{content:\\\"\\\"}.fa-sun-haze:before{content:\\\"\\\"}.fa-sunglasses:before{content:\\\"\\\"}.fa-sunrise:before{content:\\\"\\\"}.fa-sunset:before{content:\\\"\\\"}.fa-superpowers:before{content:\\\"\\\"}.fa-superscript:before{content:\\\"\\\"}.fa-supple:before{content:\\\"\\\"}.fa-surprise:before{content:\\\"\\\"}.fa-suse:before{content:\\\"\\\"}.fa-swatchbook:before{content:\\\"\\\"}.fa-swift:before{content:\\\"\\\"}.fa-swimmer:before{content:\\\"\\\"}.fa-swimming-pool:before{content:\\\"\\\"}.fa-sword:before{content:\\\"\\\"}.fa-sword-laser:before{content:\\\"碌\\\"}.fa-sword-laser-alt:before{content:\\\"祿\\\"}.fa-swords:before{content:\\\"\\\"}.fa-swords-laser:before{content:\\\"綠\\\"}.fa-symfony:before{content:\\\"\\\"}.fa-synagogue:before{content:\\\"\\\"}.fa-sync:before{content:\\\"\\\"}.fa-sync-alt:before{content:\\\"\\\"}.fa-syringe:before{content:\\\"\\\"}.fa-table:before{content:\\\"\\\"}.fa-table-tennis:before{content:\\\"\\\"}.fa-tablet:before{content:\\\"\\\"}.fa-tablet-alt:before{content:\\\"\\\"}.fa-tablet-android:before{content:\\\"\\\"}.fa-tablet-android-alt:before{content:\\\"\\\"}.fa-tablet-rugged:before{content:\\\"\\\"}.fa-tablets:before{content:\\\"\\\"}.fa-tachometer:before{content:\\\"\\\"}.fa-tachometer-alt:before{content:\\\"\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\"}.fa-tachometer-average:before{content:\\\"\\\"}.fa-tachometer-fast:before{content:\\\"\\\"}.fa-tachometer-fastest:before{content:\\\"\\\"}.fa-tachometer-slow:before{content:\\\"\\\"}.fa-tachometer-slowest:before{content:\\\"\\\"}.fa-taco:before{content:\\\"\\\"}.fa-tag:before{content:\\\"\\\"}.fa-tags:before{content:\\\"\\\"}.fa-tally:before{content:\\\"\\\"}.fa-tanakh:before{content:\\\"\\\"}.fa-tape:before{content:\\\"\\\"}.fa-tasks:before{content:\\\"\\\"}.fa-tasks-alt:before{content:\\\"\\\"}.fa-taxi:before{content:\\\"\\\"}.fa-teamspeak:before{content:\\\"\\\"}.fa-teeth:before{content:\\\"\\\"}.fa-teeth-open:before{content:\\\"\\\"}.fa-telegram:before{content:\\\"\\\"}.fa-telegram-plane:before{content:\\\"\\\"}.fa-telescope:before{content:\\\"菉\\\"}.fa-temperature-down:before{content:\\\"錄\\\"}.fa-temperature-frigid:before{content:\\\"\\\"}.fa-temperature-high:before{content:\\\"\\\"}.fa-temperature-hot:before{content:\\\"\\\"}.fa-temperature-low:before{content:\\\"\\\"}.fa-temperature-up:before{content:\\\"鹿\\\"}.fa-tencent-weibo:before{content:\\\"\\\"}.fa-tenge:before{content:\\\"\\\"}.fa-tennis-ball:before{content:\\\"\\\"}.fa-terminal:before{content:\\\"\\\"}.fa-text:before{content:\\\"\\\"}.fa-text-height:before{content:\\\"\\\"}.fa-text-size:before{content:\\\"\\\"}.fa-text-width:before{content:\\\"\\\"}.fa-th:before{content:\\\"\\\"}.fa-th-large:before{content:\\\"\\\"}.fa-th-list:before{content:\\\"\\\"}.fa-the-red-yeti:before{content:\\\"\\\"}.fa-theater-masks:before{content:\\\"\\\"}.fa-themeco:before{content:\\\"\\\"}.fa-themeisle:before{content:\\\"\\\"}.fa-thermometer:before{content:\\\"\\\"}.fa-thermometer-empty:before{content:\\\"\\\"}.fa-thermometer-full:before{content:\\\"\\\"}.fa-thermometer-half:before{content:\\\"\\\"}.fa-thermometer-quarter:before{content:\\\"\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\"}.fa-theta:before{content:\\\"\\\"}.fa-think-peaks:before{content:\\\"\\\"}.fa-thumbs-down:before{content:\\\"\\\"}.fa-thumbs-up:before{content:\\\"\\\"}.fa-thumbtack:before{content:\\\"\\\"}.fa-thunderstorm:before{content:\\\"\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\"}.fa-ticket:before{content:\\\"\\\"}.fa-ticket-alt:before{content:\\\"\\\"}.fa-tilde:before{content:\\\"\\\"}.fa-times:before{content:\\\"\\\"}.fa-times-circle:before{content:\\\"\\\"}.fa-times-hexagon:before{content:\\\"\\\"}.fa-times-octagon:before{content:\\\"\\\"}.fa-times-square:before{content:\\\"\\\"}.fa-tint:before{content:\\\"\\\"}.fa-tint-slash:before{content:\\\"\\\"}.fa-tire:before{content:\\\"\\\"}.fa-tire-flat:before{content:\\\"\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\"}.fa-tire-rugged:before{content:\\\"\\\"}.fa-tired:before{content:\\\"\\\"}.fa-toggle-off:before{content:\\\"\\\"}.fa-toggle-on:before{content:\\\"\\\"}.fa-toilet:before{content:\\\"\\\"}.fa-toilet-paper:before{content:\\\"\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\"}.fa-toilet-paper-slash:before{content:\\\"沈\\\"}.fa-tombstone:before{content:\\\"\\\"}.fa-tombstone-alt:before{content:\\\"\\\"}.fa-toolbox:before{content:\\\"\\\"}.fa-tools:before{content:\\\"\\\"}.fa-tooth:before{content:\\\"\\\"}.fa-toothbrush:before{content:\\\"\\\"}.fa-torah:before{content:\\\"\\\"}.fa-torii-gate:before{content:\\\"\\\"}.fa-tornado:before{content:\\\"\\\"}.fa-tractor:before{content:\\\"\\\"}.fa-trade-federation:before{content:\\\"\\\"}.fa-trademark:before{content:\\\"\\\"}.fa-traffic-cone:before{content:\\\"\\\"}.fa-traffic-light:before{content:\\\"\\\"}.fa-traffic-light-go:before{content:\\\"\\\"}.fa-traffic-light-slow:before{content:\\\"\\\"}.fa-traffic-light-stop:before{content:\\\"\\\"}.fa-trailer:before{content:\\\"論\\\"}.fa-train:before{content:\\\"\\\"}.fa-tram:before{content:\\\"\\\"}.fa-transgender:before{content:\\\"\\\"}.fa-transgender-alt:before{content:\\\"\\\"}.fa-transporter:before{content:\\\"壟\\\"}.fa-transporter-1:before{content:\\\"弄\\\"}.fa-transporter-2:before{content:\\\"籠\\\"}.fa-transporter-3:before{content:\\\"聾\\\"}.fa-transporter-empty:before{content:\\\"牢\\\"}.fa-trash:before{content:\\\"\\\"}.fa-trash-alt:before{content:\\\"\\\"}.fa-trash-restore:before{content:\\\"\\\"}.fa-trash-restore-alt:before{content:\\\"\\\"}.fa-trash-undo:before{content:\\\"\\\"}.fa-trash-undo-alt:before{content:\\\"\\\"}.fa-treasure-chest:before{content:\\\"\\\"}.fa-tree:before{content:\\\"\\\"}.fa-tree-alt:before{content:\\\"\\\"}.fa-tree-christmas:before{content:\\\"\\\"}.fa-tree-decorated:before{content:\\\"\\\"}.fa-tree-large:before{content:\\\"\\\"}.fa-tree-palm:before{content:\\\"\\\"}.fa-trees:before{content:\\\"\\\"}.fa-trello:before{content:\\\"\\\"}.fa-triangle:before{content:\\\"\\\"}.fa-triangle-music:before{content:\\\"\\\"}.fa-tripadvisor:before{content:\\\"\\\"}.fa-trophy:before{content:\\\"\\\"}.fa-trophy-alt:before{content:\\\"\\\"}.fa-truck:before{content:\\\"\\\"}.fa-truck-container:before{content:\\\"\\\"}.fa-truck-couch:before{content:\\\"\\\"}.fa-truck-loading:before{content:\\\"\\\"}.fa-truck-monster:before{content:\\\"\\\"}.fa-truck-moving:before{content:\\\"\\\"}.fa-truck-pickup:before{content:\\\"\\\"}.fa-truck-plow:before{content:\\\"\\\"}.fa-truck-ramp:before{content:\\\"\\\"}.fa-trumpet:before{content:\\\"\\\"}.fa-tshirt:before{content:\\\"\\\"}.fa-tty:before{content:\\\"\\\"}.fa-tumblr:before{content:\\\"\\\"}.fa-tumblr-square:before{content:\\\"\\\"}.fa-turkey:before{content:\\\"\\\"}.fa-turntable:before{content:\\\"\\\"}.fa-turtle:before{content:\\\"\\\"}.fa-tv:before{content:\\\"\\\"}.fa-tv-alt:before{content:\\\"\\\"}.fa-tv-music:before{content:\\\"\\\"}.fa-tv-retro:before{content:\\\"\\\"}.fa-twitch:before{content:\\\"\\\"}.fa-twitter:before{content:\\\"\\\"}.fa-twitter-square:before{content:\\\"\\\"}.fa-typewriter:before{content:\\\"\\\"}.fa-typo3:before{content:\\\"\\\"}.fa-uber:before{content:\\\"\\\"}.fa-ubuntu:before{content:\\\"\\\"}.fa-ufo:before{content:\\\"磊\\\"}.fa-ufo-beam:before{content:\\\"賂\\\"}.fa-uikit:before{content:\\\"\\\"}.fa-umbraco:before{content:\\\"\\\"}.fa-umbrella:before{content:\\\"\\\"}.fa-umbrella-beach:before{content:\\\"\\\"}.fa-underline:before{content:\\\"\\\"}.fa-undo:before{content:\\\"\\\"}.fa-undo-alt:before{content:\\\"\\\"}.fa-unicorn:before{content:\\\"\\\"}.fa-union:before{content:\\\"\\\"}.fa-uniregistry:before{content:\\\"\\\"}.fa-unity:before{content:\\\"雷\\\"}.fa-universal-access:before{content:\\\"\\\"}.fa-university:before{content:\\\"\\\"}.fa-unlink:before{content:\\\"\\\"}.fa-unlock:before{content:\\\"\\\"}.fa-unlock-alt:before{content:\\\"\\\"}.fa-untappd:before{content:\\\"\\\"}.fa-upload:before{content:\\\"\\\"}.fa-ups:before{content:\\\"\\\"}.fa-usb:before{content:\\\"\\\"}.fa-usb-drive:before{content:\\\"\\\"}.fa-usd-circle:before{content:\\\"\\\"}.fa-usd-square:before{content:\\\"\\\"}.fa-user:before{content:\\\"\\\"}.fa-user-alien:before{content:\\\"壘\\\"}.fa-user-alt:before{content:\\\"\\\"}.fa-user-alt-slash:before{content:\\\"\\\"}.fa-user-astronaut:before{content:\\\"\\\"}.fa-user-chart:before{content:\\\"\\\"}.fa-user-check:before{content:\\\"\\\"}.fa-user-circle:before{content:\\\"\\\"}.fa-user-clock:before{content:\\\"\\\"}.fa-user-cog:before{content:\\\"\\\"}.fa-user-cowboy:before{content:\\\"\\\"}.fa-user-crown:before{content:\\\"\\\"}.fa-user-edit:before{content:\\\"\\\"}.fa-user-friends:before{content:\\\"\\\"}.fa-user-graduate:before{content:\\\"\\\"}.fa-user-hard-hat:before{content:\\\"\\\"}.fa-user-headset:before{content:\\\"\\\"}.fa-user-injured:before{content:\\\"\\\"}.fa-user-lock:before{content:\\\"\\\"}.fa-user-md:before{content:\\\"\\\"}.fa-user-md-chat:before{content:\\\"\\\"}.fa-user-minus:before{content:\\\"\\\"}.fa-user-music:before{content:\\\"\\\"}.fa-user-ninja:before{content:\\\"\\\"}.fa-user-nurse:before{content:\\\"\\\"}.fa-user-plus:before{content:\\\"\\\"}.fa-user-robot:before{content:\\\"屢\\\"}.fa-user-secret:before{content:\\\"\\\"}.fa-user-shield:before{content:\\\"\\\"}.fa-user-slash:before{content:\\\"\\\"}.fa-user-tag:before{content:\\\"\\\"}.fa-user-tie:before{content:\\\"\\\"}.fa-user-times:before{content:\\\"\\\"}.fa-user-unlock:before{content:\\\"菱\\\"}.fa-user-visor:before{content:\\\"樓\\\"}.fa-users:before{content:\\\"\\\"}.fa-users-class:before{content:\\\"\\\"}.fa-users-cog:before{content:\\\"\\\"}.fa-users-crown:before{content:\\\"\\\"}.fa-users-medical:before{content:\\\"\\\"}.fa-users-slash:before{content:\\\"拾\\\"}.fa-usps:before{content:\\\"\\\"}.fa-ussunnah:before{content:\\\"\\\"}.fa-utensil-fork:before{content:\\\"\\\"}.fa-utensil-knife:before{content:\\\"\\\"}.fa-utensil-spoon:before{content:\\\"\\\"}.fa-utensils:before{content:\\\"\\\"}.fa-utensils-alt:before{content:\\\"\\\"}.fa-vaadin:before{content:\\\"\\\"}.fa-vacuum:before{content:\\\"淚\\\"}.fa-vacuum-robot:before{content:\\\"漏\\\"}.fa-value-absolute:before{content:\\\"\\\"}.fa-vector-square:before{content:\\\"\\\"}.fa-venus:before{content:\\\"\\\"}.fa-venus-double:before{content:\\\"\\\"}.fa-venus-mars:before{content:\\\"\\\"}.fa-vhs:before{content:\\\"\\\"}.fa-viacoin:before{content:\\\"\\\"}.fa-viadeo:before{content:\\\"\\\"}.fa-viadeo-square:before{content:\\\"\\\"}.fa-vial:before{content:\\\"\\\"}.fa-vials:before{content:\\\"\\\"}.fa-viber:before{content:\\\"\\\"}.fa-video:before{content:\\\"\\\"}.fa-video-plus:before{content:\\\"\\\"}.fa-video-slash:before{content:\\\"\\\"}.fa-vihara:before{content:\\\"\\\"}.fa-vimeo:before{content:\\\"\\\"}.fa-vimeo-square:before{content:\\\"\\\"}.fa-vimeo-v:before{content:\\\"\\\"}.fa-vine:before{content:\\\"\\\"}.fa-violin:before{content:\\\"\\\"}.fa-virus:before{content:\\\"若\\\"}.fa-virus-slash:before{content:\\\"掠\\\"}.fa-viruses:before{content:\\\"略\\\"}.fa-vk:before{content:\\\"\\\"}.fa-vnv:before{content:\\\"\\\"}.fa-voicemail:before{content:\\\"\\\"}.fa-volcano:before{content:\\\"\\\"}.fa-volleyball-ball:before{content:\\\"\\\"}.fa-volume:before{content:\\\"\\\"}.fa-volume-down:before{content:\\\"\\\"}.fa-volume-mute:before{content:\\\"\\\"}.fa-volume-off:before{content:\\\"\\\"}.fa-volume-slash:before{content:\\\"\\\"}.fa-volume-up:before{content:\\\"\\\"}.fa-vote-nay:before{content:\\\"\\\"}.fa-vote-yea:before{content:\\\"\\\"}.fa-vr-cardboard:before{content:\\\"\\\"}.fa-vuejs:before{content:\\\"\\\"}.fa-wagon-covered:before{content:\\\"\\\"}.fa-walker:before{content:\\\"\\\"}.fa-walkie-talkie:before{content:\\\"\\\"}.fa-walking:before{content:\\\"\\\"}.fa-wallet:before{content:\\\"\\\"}.fa-wand:before{content:\\\"\\\"}.fa-wand-magic:before{content:\\\"\\\"}.fa-warehouse:before{content:\\\"\\\"}.fa-warehouse-alt:before{content:\\\"\\\"}.fa-washer:before{content:\\\"\\\"}.fa-watch:before{content:\\\"\\\"}.fa-watch-calculator:before{content:\\\"\\\"}.fa-watch-fitness:before{content:\\\"\\\"}.fa-water:before{content:\\\"\\\"}.fa-water-lower:before{content:\\\"\\\"}.fa-water-rise:before{content:\\\"\\\"}.fa-wave-sine:before{content:\\\"\\\"}.fa-wave-square:before{content:\\\"\\\"}.fa-wave-triangle:before{content:\\\"\\\"}.fa-waveform:before{content:\\\"\\\"}.fa-waveform-path:before{content:\\\"\\\"}.fa-waze:before{content:\\\"\\\"}.fa-webcam:before{content:\\\"\\\"}.fa-webcam-slash:before{content:\\\"\\\"}.fa-weebly:before{content:\\\"\\\"}.fa-weibo:before{content:\\\"\\\"}.fa-weight:before{content:\\\"\\\"}.fa-weight-hanging:before{content:\\\"\\\"}.fa-weixin:before{content:\\\"\\\"}.fa-whale:before{content:\\\"\\\"}.fa-whatsapp:before{content:\\\"\\\"}.fa-whatsapp-square:before{content:\\\"\\\"}.fa-wheat:before{content:\\\"\\\"}.fa-wheelchair:before{content:\\\"\\\"}.fa-whistle:before{content:\\\"\\\"}.fa-whmcs:before{content:\\\"\\\"}.fa-wifi:before{content:\\\"\\\"}.fa-wifi-1:before{content:\\\"\\\"}.fa-wifi-2:before{content:\\\"\\\"}.fa-wifi-slash:before{content:\\\"\\\"}.fa-wikipedia-w:before{content:\\\"\\\"}.fa-wind:before{content:\\\"\\\"}.fa-wind-turbine:before{content:\\\"\\\"}.fa-wind-warning:before{content:\\\"\\\"}.fa-window:before{content:\\\"\\\"}.fa-window-alt:before{content:\\\"\\\"}.fa-window-close:before{content:\\\"\\\"}.fa-window-frame:before{content:\\\"累\\\"}.fa-window-frame-open:before{content:\\\"縷\\\"}.fa-window-maximize:before{content:\\\"\\\"}.fa-window-minimize:before{content:\\\"\\\"}.fa-window-restore:before{content:\\\"\\\"}.fa-windows:before{content:\\\"\\\"}.fa-windsock:before{content:\\\"\\\"}.fa-wine-bottle:before{content:\\\"\\\"}.fa-wine-glass:before{content:\\\"\\\"}.fa-wine-glass-alt:before{content:\\\"\\\"}.fa-wix:before{content:\\\"\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\"}.fa-won-sign:before{content:\\\"\\\"}.fa-wordpress:before{content:\\\"\\\"}.fa-wordpress-simple:before{content:\\\"\\\"}.fa-wpbeginner:before{content:\\\"\\\"}.fa-wpexplorer:before{content:\\\"\\\"}.fa-wpforms:before{content:\\\"\\\"}.fa-wpressr:before{content:\\\"\\\"}.fa-wreath:before{content:\\\"\\\"}.fa-wrench:before{content:\\\"\\\"}.fa-x-ray:before{content:\\\"\\\"}.fa-xbox:before{content:\\\"\\\"}.fa-xing:before{content:\\\"\\\"}.fa-xing-square:before{content:\\\"\\\"}.fa-y-combinator:before{content:\\\"\\\"}.fa-yahoo:before{content:\\\"\\\"}.fa-yammer:before{content:\\\"\\\"}.fa-yandex:before{content:\\\"\\\"}.fa-yandex-international:before{content:\\\"\\\"}.fa-yarn:before{content:\\\"\\\"}.fa-yelp:before{content:\\\"\\\"}.fa-yen-sign:before{content:\\\"\\\"}.fa-yin-yang:before{content:\\\"\\\"}.fa-yoast:before{content:\\\"\\\"}.fa-youtube:before{content:\\\"\\\"}.fa-youtube-square:before{content:\\\"\\\"}.fa-zhihu:before{content:\\\"\\\"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color, inherit);opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad:after{color:var(--fa-secondary-color, inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity, 0.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"􏙀\\\"}.fad.fa-acorn:after{content:\\\"􏚮\\\"}.fad.fa-ad:after{content:\\\"􏙁\\\"}.fad.fa-address-book:after{content:\\\"􏊹\\\"}.fad.fa-address-card:after{content:\\\"􏊻\\\"}.fad.fa-adjust:after{content:\\\"􏁂\\\"}.fad.fa-air-conditioner:after{content:\\\"􏣴\\\"}.fad.fa-air-freshener:after{content:\\\"􏗐\\\"}.fad.fa-alarm-clock:after{content:\\\"􏍎\\\"}.fad.fa-alarm-exclamation:after{content:\\\"􏡃\\\"}.fad.fa-alarm-plus:after{content:\\\"􏡄\\\"}.fad.fa-alarm-snooze:after{content:\\\"􏡅\\\"}.fad.fa-album:after{content:\\\"􏢟\\\"}.fad.fa-album-collection:after{content:\\\"􏢠\\\"}.fad.fa-alicorn:after{content:\\\"􏚰\\\"}.fad.fa-alien:after{content:\\\"􏣵\\\"}.fad.fa-alien-monster:after{content:\\\"􏣶\\\"}.fad.fa-align-center:after{content:\\\"􏀷\\\"}.fad.fa-align-justify:after{content:\\\"􏀹\\\"}.fad.fa-align-left:after{content:\\\"􏀶\\\"}.fad.fa-align-right:after{content:\\\"􏀸\\\"}.fad.fa-align-slash:after{content:\\\"􏡆\\\"}.fad.fa-allergies:after{content:\\\"􏑡\\\"}.fad.fa-ambulance:after{content:\\\"􏃹\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"􏊣\\\"}.fad.fa-amp-guitar:after{content:\\\"􏢡\\\"}.fad.fa-analytics:after{content:\\\"􏙃\\\"}.fad.fa-anchor:after{content:\\\"􏄽\\\"}.fad.fa-angel:after{content:\\\"􏝹\\\"}.fad.fa-angle-double-down:after{content:\\\"􏄃\\\"}.fad.fa-angle-double-left:after{content:\\\"􏄀\\\"}.fad.fa-angle-double-right:after{content:\\\"􏄁\\\"}.fad.fa-angle-double-up:after{content:\\\"􏄂\\\"}.fad.fa-angle-down:after{content:\\\"􏄇\\\"}.fad.fa-angle-left:after{content:\\\"􏄄\\\"}.fad.fa-angle-right:after{content:\\\"􏄅\\\"}.fad.fa-angle-up:after{content:\\\"􏄆\\\"}.fad.fa-angry:after{content:\\\"􏕖\\\"}.fad.fa-ankh:after{content:\\\"􏙄\\\"}.fad.fa-apple-alt:after{content:\\\"􏗑\\\"}.fad.fa-apple-crate:after{content:\\\"􏚱\\\"}.fad.fa-archive:after{content:\\\"􏆇\\\"}.fad.fa-archway:after{content:\\\"􏕗\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"􏍘\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"􏍙\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"􏍚\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"􏍛\\\"}.fad.fa-arrow-alt-down:after{content:\\\"􏍔\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"􏍆\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"􏍇\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"􏍈\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"􏍉\\\"}.fad.fa-arrow-alt-left:after{content:\\\"􏍕\\\"}.fad.fa-arrow-alt-right:after{content:\\\"􏍖\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"􏍐\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"􏍑\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"􏍒\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"􏍓\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"􏍊\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"􏍋\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"􏍌\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"􏍍\\\"}.fad.fa-arrow-alt-up:after{content:\\\"􏍗\\\"}.fad.fa-arrow-circle-down:after{content:\\\"􏂫\\\"}.fad.fa-arrow-circle-left:after{content:\\\"􏂨\\\"}.fad.fa-arrow-circle-right:after{content:\\\"􏂩\\\"}.fad.fa-arrow-circle-up:after{content:\\\"􏂪\\\"}.fad.fa-arrow-down:after{content:\\\"􏁣\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"􏍂\\\"}.fad.fa-arrow-from-left:after{content:\\\"􏍃\\\"}.fad.fa-arrow-from-right:after{content:\\\"􏍄\\\"}.fad.fa-arrow-from-top:after{content:\\\"􏍅\\\"}.fad.fa-arrow-left:after{content:\\\"􏁠\\\"}.fad.fa-arrow-right:after{content:\\\"􏁡\\\"}.fad.fa-arrow-square-down:after{content:\\\"􏌹\\\"}.fad.fa-arrow-square-left:after{content:\\\"􏌺\\\"}.fad.fa-arrow-square-right:after{content:\\\"􏌻\\\"}.fad.fa-arrow-square-up:after{content:\\\"􏌼\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"􏌽\\\"}.fad.fa-arrow-to-left:after{content:\\\"􏌾\\\"}.fad.fa-arrow-to-right:after{content:\\\"􏍀\\\"}.fad.fa-arrow-to-top:after{content:\\\"􏍁\\\"}.fad.fa-arrow-up:after{content:\\\"􏁢\\\"}.fad.fa-arrows:after{content:\\\"􏁇\\\"}.fad.fa-arrows-alt:after{content:\\\"􏂲\\\"}.fad.fa-arrows-alt-h:after{content:\\\"􏌷\\\"}.fad.fa-arrows-alt-v:after{content:\\\"􏌸\\\"}.fad.fa-arrows-h:after{content:\\\"􏁾\\\"}.fad.fa-arrows-v:after{content:\\\"􏁽\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"􏊢\\\"}.fad.fa-asterisk:after{content:\\\"􏁩\\\"}.fad.fa-at:after{content:\\\"􏇺\\\"}.fad.fa-atlas:after{content:\\\"􏕘\\\"}.fad.fa-atom:after{content:\\\"􏗒\\\"}.fad.fa-atom-alt:after{content:\\\"􏗓\\\"}.fad.fa-audio-description:after{content:\\\"􏊞\\\"}.fad.fa-award:after{content:\\\"􏕙\\\"}.fad.fa-axe:after{content:\\\"􏚲\\\"}.fad.fa-axe-battle:after{content:\\\"􏚳\\\"}.fad.fa-baby:after{content:\\\"􏝼\\\"}.fad.fa-baby-carriage:after{content:\\\"􏝽\\\"}.fad.fa-backpack:after{content:\\\"􏗔\\\"}.fad.fa-backspace:after{content:\\\"􏕚\\\"}.fad.fa-backward:after{content:\\\"􏁊\\\"}.fad.fa-bacon:after{content:\\\"􏟥\\\"}.fad.fa-bacteria:after{content:\\\"􏥙\\\"}.fad.fa-bacterium:after{content:\\\"􏥚\\\"}.fad.fa-badge:after{content:\\\"􏌵\\\"}.fad.fa-badge-check:after{content:\\\"􏌶\\\"}.fad.fa-badge-dollar:after{content:\\\"􏙅\\\"}.fad.fa-badge-percent:after{content:\\\"􏙆\\\"}.fad.fa-badge-sheriff:after{content:\\\"􏢢\\\"}.fad.fa-badger-honey:after{content:\\\"􏚴\\\"}.fad.fa-bags-shopping:after{content:\\\"􏡇\\\"}.fad.fa-bahai:after{content:\\\"􏙦\\\"}.fad.fa-balance-scale:after{content:\\\"􏉎\\\"}.fad.fa-balance-scale-left:after{content:\\\"􏔕\\\"}.fad.fa-balance-scale-right:after{content:\\\"􏔖\\\"}.fad.fa-ball-pile:after{content:\\\"􏝾\\\"}.fad.fa-ballot:after{content:\\\"􏜲\\\"}.fad.fa-ballot-check:after{content:\\\"􏜳\\\"}.fad.fa-ban:after{content:\\\"􏁞\\\"}.fad.fa-band-aid:after{content:\\\"􏑢\\\"}.fad.fa-banjo:after{content:\\\"􏢣\\\"}.fad.fa-barcode:after{content:\\\"􏀪\\\"}.fad.fa-barcode-alt:after{content:\\\"􏑣\\\"}.fad.fa-barcode-read:after{content:\\\"􏑤\\\"}.fad.fa-barcode-scan:after{content:\\\"􏑥\\\"}.fad.fa-bars:after{content:\\\"􏃉\\\"}.fad.fa-baseball:after{content:\\\"􏐲\\\"}.fad.fa-baseball-ball:after{content:\\\"􏐳\\\"}.fad.fa-basketball-ball:after{content:\\\"􏐴\\\"}.fad.fa-basketball-hoop:after{content:\\\"􏐵\\\"}.fad.fa-bat:after{content:\\\"􏚵\\\"}.fad.fa-bath:after{content:\\\"􏋍\\\"}.fad.fa-battery-bolt:after{content:\\\"􏍶\\\"}.fad.fa-battery-empty:after{content:\\\"􏉄\\\"}.fad.fa-battery-full:after{content:\\\"􏉀\\\"}.fad.fa-battery-half:after{content:\\\"􏉂\\\"}.fad.fa-battery-quarter:after{content:\\\"􏉃\\\"}.fad.fa-battery-slash:after{content:\\\"􏍷\\\"}.fad.fa-battery-three-quarters:after{content:\\\"􏉁\\\"}.fad.fa-bed:after{content:\\\"􏈶\\\"}.fad.fa-bed-alt:after{content:\\\"􏣷\\\"}.fad.fa-bed-bunk:after{content:\\\"􏣸\\\"}.fad.fa-bed-empty:after{content:\\\"􏣹\\\"}.fad.fa-beer:after{content:\\\"􏃼\\\"}.fad.fa-bell:after{content:\\\"􏃳\\\"}.fad.fa-bell-exclamation:after{content:\\\"􏡈\\\"}.fad.fa-bell-on:after{content:\\\"􏣺\\\"}.fad.fa-bell-plus:after{content:\\\"􏡉\\\"}.fad.fa-bell-school:after{content:\\\"􏗕\\\"}.fad.fa-bell-school-slash:after{content:\\\"􏗖\\\"}.fad.fa-bell-slash:after{content:\\\"􏇶\\\"}.fad.fa-bells:after{content:\\\"􏝿\\\"}.fad.fa-betamax:after{content:\\\"􏢤\\\"}.fad.fa-bezier-curve:after{content:\\\"􏕛\\\"}.fad.fa-bible:after{content:\\\"􏙇\\\"}.fad.fa-bicycle:after{content:\\\"􏈆\\\"}.fad.fa-biking:after{content:\\\"􏡊\\\"}.fad.fa-biking-mountain:after{content:\\\"􏡋\\\"}.fad.fa-binoculars:after{content:\\\"􏇥\\\"}.fad.fa-biohazard:after{content:\\\"􏞀\\\"}.fad.fa-birthday-cake:after{content:\\\"􏇽\\\"}.fad.fa-blanket:after{content:\\\"􏒘\\\"}.fad.fa-blender:after{content:\\\"􏔗\\\"}.fad.fa-blender-phone:after{content:\\\"􏚶\\\"}.fad.fa-blind:after{content:\\\"􏊝\\\"}.fad.fa-blinds:after{content:\\\"􏣻\\\"}.fad.fa-blinds-open:after{content:\\\"􏣼\\\"}.fad.fa-blinds-raised:after{content:\\\"􏣽\\\"}.fad.fa-blog:after{content:\\\"􏞁\\\"}.fad.fa-bold:after{content:\\\"􏀲\\\"}.fad.fa-bolt:after{content:\\\"􏃧\\\"}.fad.fa-bomb:after{content:\\\"􏇢\\\"}.fad.fa-bone:after{content:\\\"􏗗\\\"}.fad.fa-bone-break:after{content:\\\"􏗘\\\"}.fad.fa-bong:after{content:\\\"􏕜\\\"}.fad.fa-book:after{content:\\\"􏀭\\\"}.fad.fa-book-alt:after{content:\\\"􏗙\\\"}.fad.fa-book-dead:after{content:\\\"􏚷\\\"}.fad.fa-book-heart:after{content:\\\"􏒙\\\"}.fad.fa-book-medical:after{content:\\\"􏟦\\\"}.fad.fa-book-open:after{content:\\\"􏔘\\\"}.fad.fa-book-reader:after{content:\\\"􏗚\\\"}.fad.fa-book-spells:after{content:\\\"􏚸\\\"}.fad.fa-book-user:after{content:\\\"􏟧\\\"}.fad.fa-bookmark:after{content:\\\"􏀮\\\"}.fad.fa-books:after{content:\\\"􏗛\\\"}.fad.fa-books-medical:after{content:\\\"􏟨\\\"}.fad.fa-boombox:after{content:\\\"􏢥\\\"}.fad.fa-boot:after{content:\\\"􏞂\\\"}.fad.fa-booth-curtain:after{content:\\\"􏜴\\\"}.fad.fa-border-all:after{content:\\\"􏡌\\\"}.fad.fa-border-bottom:after{content:\\\"􏡍\\\"}.fad.fa-border-center-h:after{content:\\\"􏢜\\\"}.fad.fa-border-center-v:after{content:\\\"􏢝\\\"}.fad.fa-border-inner:after{content:\\\"􏡎\\\"}.fad.fa-border-left:after{content:\\\"􏡏\\\"}.fad.fa-border-none:after{content:\\\"􏡐\\\"}.fad.fa-border-outer:after{content:\\\"􏡑\\\"}.fad.fa-border-right:after{content:\\\"􏡒\\\"}.fad.fa-border-style:after{content:\\\"􏡓\\\"}.fad.fa-border-style-alt:after{content:\\\"􏡔\\\"}.fad.fa-border-top:after{content:\\\"􏡕\\\"}.fad.fa-bow-arrow:after{content:\\\"􏚹\\\"}.fad.fa-bowling-ball:after{content:\\\"􏐶\\\"}.fad.fa-bowling-pins:after{content:\\\"􏐷\\\"}.fad.fa-box:after{content:\\\"􏑦\\\"}.fad.fa-box-alt:after{content:\\\"􏒚\\\"}.fad.fa-box-ballot:after{content:\\\"􏜵\\\"}.fad.fa-box-check:after{content:\\\"􏑧\\\"}.fad.fa-box-fragile:after{content:\\\"􏒛\\\"}.fad.fa-box-full:after{content:\\\"􏒜\\\"}.fad.fa-box-heart:after{content:\\\"􏒝\\\"}.fad.fa-box-open:after{content:\\\"􏒞\\\"}.fad.fa-box-tissue:after{content:\\\"􏥛\\\"}.fad.fa-box-up:after{content:\\\"􏒟\\\"}.fad.fa-box-usd:after{content:\\\"􏒠\\\"}.fad.fa-boxes:after{content:\\\"􏑨\\\"}.fad.fa-boxes-alt:after{content:\\\"􏒡\\\"}.fad.fa-boxing-glove:after{content:\\\"􏐸\\\"}.fad.fa-brackets:after{content:\\\"􏟩\\\"}.fad.fa-brackets-curly:after{content:\\\"􏟪\\\"}.fad.fa-braille:after{content:\\\"􏊡\\\"}.fad.fa-brain:after{content:\\\"􏗜\\\"}.fad.fa-bread-loaf:after{content:\\\"􏟫\\\"}.fad.fa-bread-slice:after{content:\\\"􏟬\\\"}.fad.fa-briefcase:after{content:\\\"􏂱\\\"}.fad.fa-briefcase-medical:after{content:\\\"􏑩\\\"}.fad.fa-bring-forward:after{content:\\\"􏡖\\\"}.fad.fa-bring-front:after{content:\\\"􏡗\\\"}.fad.fa-broadcast-tower:after{content:\\\"􏔙\\\"}.fad.fa-broom:after{content:\\\"􏔚\\\"}.fad.fa-browser:after{content:\\\"􏍾\\\"}.fad.fa-brush:after{content:\\\"􏕝\\\"}.fad.fa-bug:after{content:\\\"􏆈\\\"}.fad.fa-building:after{content:\\\"􏆭\\\"}.fad.fa-bullhorn:after{content:\\\"􏂡\\\"}.fad.fa-bullseye:after{content:\\\"􏅀\\\"}.fad.fa-bullseye-arrow:after{content:\\\"􏙈\\\"}.fad.fa-bullseye-pointer:after{content:\\\"􏙉\\\"}.fad.fa-burger-soda:after{content:\\\"􏡘\\\"}.fad.fa-burn:after{content:\\\"􏑪\\\"}.fad.fa-burrito:after{content:\\\"􏟭\\\"}.fad.fa-bus:after{content:\\\"􏈇\\\"}.fad.fa-bus-alt:after{content:\\\"􏕞\\\"}.fad.fa-bus-school:after{content:\\\"􏗝\\\"}.fad.fa-business-time:after{content:\\\"􏙊\\\"}.fad.fa-cabinet-filing:after{content:\\\"􏙋\\\"}.fad.fa-cactus:after{content:\\\"􏢧\\\"}.fad.fa-calculator:after{content:\\\"􏇬\\\"}.fad.fa-calculator-alt:after{content:\\\"􏙌\\\"}.fad.fa-calendar:after{content:\\\"􏄳\\\"}.fad.fa-calendar-alt:after{content:\\\"􏁳\\\"}.fad.fa-calendar-check:after{content:\\\"􏉴\\\"}.fad.fa-calendar-day:after{content:\\\"􏞃\\\"}.fad.fa-calendar-edit:after{content:\\\"􏌳\\\"}.fad.fa-calendar-exclamation:after{content:\\\"􏌴\\\"}.fad.fa-calendar-minus:after{content:\\\"􏉲\\\"}.fad.fa-calendar-plus:after{content:\\\"􏉱\\\"}.fad.fa-calendar-star:after{content:\\\"􏜶\\\"}.fad.fa-calendar-times:after{content:\\\"􏉳\\\"}.fad.fa-calendar-week:after{content:\\\"􏞄\\\"}.fad.fa-camcorder:after{content:\\\"􏢨\\\"}.fad.fa-camera:after{content:\\\"􏀰\\\"}.fad.fa-camera-alt:after{content:\\\"􏌲\\\"}.fad.fa-camera-home:after{content:\\\"􏣾\\\"}.fad.fa-camera-movie:after{content:\\\"􏢩\\\"}.fad.fa-camera-polaroid:after{content:\\\"􏢪\\\"}.fad.fa-camera-retro:after{content:\\\"􏂃\\\"}.fad.fa-campfire:after{content:\\\"􏚺\\\"}.fad.fa-campground:after{content:\\\"􏚻\\\"}.fad.fa-candle-holder:after{content:\\\"􏚼\\\"}.fad.fa-candy-cane:after{content:\\\"􏞆\\\"}.fad.fa-candy-corn:after{content:\\\"􏚽\\\"}.fad.fa-cannabis:after{content:\\\"􏕟\\\"}.fad.fa-capsules:after{content:\\\"􏑫\\\"}.fad.fa-car:after{content:\\\"􏆹\\\"}.fad.fa-car-alt:after{content:\\\"􏗞\\\"}.fad.fa-car-battery:after{content:\\\"􏗟\\\"}.fad.fa-car-building:after{content:\\\"􏡙\\\"}.fad.fa-car-bump:after{content:\\\"􏗠\\\"}.fad.fa-car-bus:after{content:\\\"􏡚\\\"}.fad.fa-car-crash:after{content:\\\"􏗡\\\"}.fad.fa-car-garage:after{content:\\\"􏗢\\\"}.fad.fa-car-mechanic:after{content:\\\"􏗣\\\"}.fad.fa-car-side:after{content:\\\"􏗤\\\"}.fad.fa-car-tilt:after{content:\\\"􏗥\\\"}.fad.fa-car-wash:after{content:\\\"􏗦\\\"}.fad.fa-caravan:after{content:\\\"􏣿\\\"}.fad.fa-caravan-alt:after{content:\\\"􏤀\\\"}.fad.fa-caret-circle-down:after{content:\\\"􏌭\\\"}.fad.fa-caret-circle-left:after{content:\\\"􏌮\\\"}.fad.fa-caret-circle-right:after{content:\\\"􏌰\\\"}.fad.fa-caret-circle-up:after{content:\\\"􏌱\\\"}.fad.fa-caret-down:after{content:\\\"􏃗\\\"}.fad.fa-caret-left:after{content:\\\"􏃙\\\"}.fad.fa-caret-right:after{content:\\\"􏃚\\\"}.fad.fa-caret-square-down:after{content:\\\"􏅐\\\"}.fad.fa-caret-square-left:after{content:\\\"􏆑\\\"}.fad.fa-caret-square-right:after{content:\\\"􏅒\\\"}.fad.fa-caret-square-up:after{content:\\\"􏅑\\\"}.fad.fa-caret-up:after{content:\\\"􏃘\\\"}.fad.fa-carrot:after{content:\\\"􏞇\\\"}.fad.fa-cars:after{content:\\\"􏡛\\\"}.fad.fa-cart-arrow-down:after{content:\\\"􏈘\\\"}.fad.fa-cart-plus:after{content:\\\"􏈗\\\"}.fad.fa-cash-register:after{content:\\\"􏞈\\\"}.fad.fa-cassette-tape:after{content:\\\"􏢫\\\"}.fad.fa-cat:after{content:\\\"􏚾\\\"}.fad.fa-cat-space:after{content:\\\"􏤁\\\"}.fad.fa-cauldron:after{content:\\\"􏚿\\\"}.fad.fa-cctv:after{content:\\\"􏢬\\\"}.fad.fa-certificate:after{content:\\\"􏂣\\\"}.fad.fa-chair:after{content:\\\"􏛀\\\"}.fad.fa-chair-office:after{content:\\\"􏛁\\\"}.fad.fa-chalkboard:after{content:\\\"􏔛\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"􏔜\\\"}.fad.fa-charging-station:after{content:\\\"􏗧\\\"}.fad.fa-chart-area:after{content:\\\"􏇾\\\"}.fad.fa-chart-bar:after{content:\\\"􏂀\\\"}.fad.fa-chart-line:after{content:\\\"􏈁\\\"}.fad.fa-chart-line-down:after{content:\\\"􏙍\\\"}.fad.fa-chart-network:after{content:\\\"􏞊\\\"}.fad.fa-chart-pie:after{content:\\\"􏈀\\\"}.fad.fa-chart-pie-alt:after{content:\\\"􏙎\\\"}.fad.fa-chart-scatter:after{content:\\\"􏟮\\\"}.fad.fa-check:after{content:\\\"􏀌\\\"}.fad.fa-check-circle:after{content:\\\"􏁘\\\"}.fad.fa-check-double:after{content:\\\"􏕠\\\"}.fad.fa-check-square:after{content:\\\"􏅊\\\"}.fad.fa-cheese:after{content:\\\"􏟯\\\"}.fad.fa-cheese-swiss:after{content:\\\"􏟰\\\"}.fad.fa-cheeseburger:after{content:\\\"􏟱\\\"}.fad.fa-chess:after{content:\\\"􏐹\\\"}.fad.fa-chess-bishop:after{content:\\\"􏐺\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"􏐻\\\"}.fad.fa-chess-board:after{content:\\\"􏐼\\\"}.fad.fa-chess-clock:after{content:\\\"􏐽\\\"}.fad.fa-chess-clock-alt:after{content:\\\"􏐾\\\"}.fad.fa-chess-king:after{content:\\\"􏐿\\\"}.fad.fa-chess-king-alt:after{content:\\\"􏑀\\\"}.fad.fa-chess-knight:after{content:\\\"􏑁\\\"}.fad.fa-chess-knight-alt:after{content:\\\"􏑂\\\"}.fad.fa-chess-pawn:after{content:\\\"􏑃\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"􏑄\\\"}.fad.fa-chess-queen:after{content:\\\"􏑅\\\"}.fad.fa-chess-queen-alt:after{content:\\\"􏑆\\\"}.fad.fa-chess-rook:after{content:\\\"􏑇\\\"}.fad.fa-chess-rook-alt:after{content:\\\"􏑈\\\"}.fad.fa-chevron-circle-down:after{content:\\\"􏄺\\\"}.fad.fa-chevron-circle-left:after{content:\\\"􏄷\\\"}.fad.fa-chevron-circle-right:after{content:\\\"􏄸\\\"}.fad.fa-chevron-circle-up:after{content:\\\"􏄹\\\"}.fad.fa-chevron-double-down:after{content:\\\"􏌢\\\"}.fad.fa-chevron-double-left:after{content:\\\"􏌣\\\"}.fad.fa-chevron-double-right:after{content:\\\"􏌤\\\"}.fad.fa-chevron-double-up:after{content:\\\"􏌥\\\"}.fad.fa-chevron-down:after{content:\\\"􏁸\\\"}.fad.fa-chevron-left:after{content:\\\"􏁓\\\"}.fad.fa-chevron-right:after{content:\\\"􏁔\\\"}.fad.fa-chevron-square-down:after{content:\\\"􏌩\\\"}.fad.fa-chevron-square-left:after{content:\\\"􏌪\\\"}.fad.fa-chevron-square-right:after{content:\\\"􏌫\\\"}.fad.fa-chevron-square-up:after{content:\\\"􏌬\\\"}.fad.fa-chevron-up:after{content:\\\"􏁷\\\"}.fad.fa-child:after{content:\\\"􏆮\\\"}.fad.fa-chimney:after{content:\\\"􏞋\\\"}.fad.fa-church:after{content:\\\"􏔝\\\"}.fad.fa-circle:after{content:\\\"􏄑\\\"}.fad.fa-circle-notch:after{content:\\\"􏇎\\\"}.fad.fa-city:after{content:\\\"􏙏\\\"}.fad.fa-clarinet:after{content:\\\"􏢭\\\"}.fad.fa-claw-marks:after{content:\\\"􏛂\\\"}.fad.fa-clinic-medical:after{content:\\\"􏟲\\\"}.fad.fa-clipboard:after{content:\\\"􏌨\\\"}.fad.fa-clipboard-check:after{content:\\\"􏑬\\\"}.fad.fa-clipboard-list:after{content:\\\"􏑭\\\"}.fad.fa-clipboard-list-check:after{content:\\\"􏜷\\\"}.fad.fa-clipboard-prescription:after{content:\\\"􏗨\\\"}.fad.fa-clipboard-user:after{content:\\\"􏟳\\\"}.fad.fa-clock:after{content:\\\"􏀗\\\"}.fad.fa-clone:after{content:\\\"􏉍\\\"}.fad.fa-closed-captioning:after{content:\\\"􏈊\\\"}.fad.fa-cloud:after{content:\\\"􏃂\\\"}.fad.fa-cloud-download:after{content:\\\"􏃭\\\"}.fad.fa-cloud-download-alt:after{content:\\\"􏎁\\\"}.fad.fa-cloud-drizzle:after{content:\\\"􏜸\\\"}.fad.fa-cloud-hail:after{content:\\\"􏜹\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"􏜺\\\"}.fad.fa-cloud-meatball:after{content:\\\"􏜻\\\"}.fad.fa-cloud-moon:after{content:\\\"􏛃\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"􏜼\\\"}.fad.fa-cloud-music:after{content:\\\"􏢮\\\"}.fad.fa-cloud-rain:after{content:\\\"􏜽\\\"}.fad.fa-cloud-rainbow:after{content:\\\"􏜾\\\"}.fad.fa-cloud-showers:after{content:\\\"􏜿\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"􏝀\\\"}.fad.fa-cloud-sleet:after{content:\\\"􏝁\\\"}.fad.fa-cloud-snow:after{content:\\\"􏝂\\\"}.fad.fa-cloud-sun:after{content:\\\"􏛄\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"􏝃\\\"}.fad.fa-cloud-upload:after{content:\\\"􏃮\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"􏎂\\\"}.fad.fa-clouds:after{content:\\\"􏝄\\\"}.fad.fa-clouds-moon:after{content:\\\"􏝅\\\"}.fad.fa-clouds-sun:after{content:\\\"􏝆\\\"}.fad.fa-club:after{content:\\\"􏌧\\\"}.fad.fa-cocktail:after{content:\\\"􏕡\\\"}.fad.fa-code:after{content:\\\"􏄡\\\"}.fad.fa-code-branch:after{content:\\\"􏄦\\\"}.fad.fa-code-commit:after{content:\\\"􏎆\\\"}.fad.fa-code-merge:after{content:\\\"􏎇\\\"}.fad.fa-coffee:after{content:\\\"􏃴\\\"}.fad.fa-coffee-pot:after{content:\\\"􏤂\\\"}.fad.fa-coffee-togo:after{content:\\\"􏛅\\\"}.fad.fa-coffin:after{content:\\\"􏛆\\\"}.fad.fa-coffin-cross:after{content:\\\"􏥑\\\"}.fad.fa-cog:after{content:\\\"􏀓\\\"}.fad.fa-cogs:after{content:\\\"􏂅\\\"}.fad.fa-coin:after{content:\\\"􏡜\\\"}.fad.fa-coins:after{content:\\\"􏔞\\\"}.fad.fa-columns:after{content:\\\"􏃛\\\"}.fad.fa-comet:after{content:\\\"􏤃\\\"}.fad.fa-comment:after{content:\\\"􏁵\\\"}.fad.fa-comment-alt:after{content:\\\"􏉺\\\"}.fad.fa-comment-alt-check:after{content:\\\"􏒢\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"􏙐\\\"}.fad.fa-comment-alt-dots:after{content:\\\"􏒣\\\"}.fad.fa-comment-alt-edit:after{content:\\\"􏒤\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"􏒥\\\"}.fad.fa-comment-alt-lines:after{content:\\\"􏒦\\\"}.fad.fa-comment-alt-medical:after{content:\\\"􏟴\\\"}.fad.fa-comment-alt-minus:after{content:\\\"􏒧\\\"}.fad.fa-comment-alt-music:after{content:\\\"􏢯\\\"}.fad.fa-comment-alt-plus:after{content:\\\"􏒨\\\"}.fad.fa-comment-alt-slash:after{content:\\\"􏒩\\\"}.fad.fa-comment-alt-smile:after{content:\\\"􏒪\\\"}.fad.fa-comment-alt-times:after{content:\\\"􏒫\\\"}.fad.fa-comment-check:after{content:\\\"􏒬\\\"}.fad.fa-comment-dollar:after{content:\\\"􏙑\\\"}.fad.fa-comment-dots:after{content:\\\"􏒭\\\"}.fad.fa-comment-edit:after{content:\\\"􏒮\\\"}.fad.fa-comment-exclamation:after{content:\\\"􏒯\\\"}.fad.fa-comment-lines:after{content:\\\"􏒰\\\"}.fad.fa-comment-medical:after{content:\\\"􏟵\\\"}.fad.fa-comment-minus:after{content:\\\"􏒱\\\"}.fad.fa-comment-music:after{content:\\\"􏢰\\\"}.fad.fa-comment-plus:after{content:\\\"􏒲\\\"}.fad.fa-comment-slash:after{content:\\\"􏒳\\\"}.fad.fa-comment-smile:after{content:\\\"􏒴\\\"}.fad.fa-comment-times:after{content:\\\"􏒵\\\"}.fad.fa-comments:after{content:\\\"􏂆\\\"}.fad.fa-comments-alt:after{content:\\\"􏒶\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"􏙒\\\"}.fad.fa-comments-dollar:after{content:\\\"􏙓\\\"}.fad.fa-compact-disc:after{content:\\\"􏔟\\\"}.fad.fa-compass:after{content:\\\"􏅎\\\"}.fad.fa-compass-slash:after{content:\\\"􏗩\\\"}.fad.fa-compress:after{content:\\\"􏁦\\\"}.fad.fa-compress-alt:after{content:\\\"􏐢\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"􏞌\\\"}.fad.fa-compress-wide:after{content:\\\"􏌦\\\"}.fad.fa-computer-classic:after{content:\\\"􏢱\\\"}.fad.fa-computer-speaker:after{content:\\\"􏢲\\\"}.fad.fa-concierge-bell:after{content:\\\"􏕢\\\"}.fad.fa-construction:after{content:\\\"􏡝\\\"}.fad.fa-container-storage:after{content:\\\"􏒷\\\"}.fad.fa-conveyor-belt:after{content:\\\"􏑮\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"􏑯\\\"}.fad.fa-cookie:after{content:\\\"􏕣\\\"}.fad.fa-cookie-bite:after{content:\\\"􏕤\\\"}.fad.fa-copy:after{content:\\\"􏃅\\\"}.fad.fa-copyright:after{content:\\\"􏇹\\\"}.fad.fa-corn:after{content:\\\"􏛇\\\"}.fad.fa-couch:after{content:\\\"􏒸\\\"}.fad.fa-cow:after{content:\\\"􏛈\\\"}.fad.fa-cowbell:after{content:\\\"􏢳\\\"}.fad.fa-cowbell-more:after{content:\\\"􏢴\\\"}.fad.fa-credit-card:after{content:\\\"􏂝\\\"}.fad.fa-credit-card-blank:after{content:\\\"􏎉\\\"}.fad.fa-credit-card-front:after{content:\\\"􏎊\\\"}.fad.fa-cricket:after{content:\\\"􏑉\\\"}.fad.fa-croissant:after{content:\\\"􏟶\\\"}.fad.fa-crop:after{content:\\\"􏄥\\\"}.fad.fa-crop-alt:after{content:\\\"􏕥\\\"}.fad.fa-cross:after{content:\\\"􏙔\\\"}.fad.fa-crosshairs:after{content:\\\"􏁛\\\"}.fad.fa-crow:after{content:\\\"􏔠\\\"}.fad.fa-crown:after{content:\\\"􏔡\\\"}.fad.fa-crutch:after{content:\\\"􏟷\\\"}.fad.fa-crutches:after{content:\\\"􏟸\\\"}.fad.fa-cube:after{content:\\\"􏆲\\\"}.fad.fa-cubes:after{content:\\\"􏆳\\\"}.fad.fa-curling:after{content:\\\"􏑊\\\"}.fad.fa-cut:after{content:\\\"􏃄\\\"}.fad.fa-dagger:after{content:\\\"􏛋\\\"}.fad.fa-database:after{content:\\\"􏇀\\\"}.fad.fa-deaf:after{content:\\\"􏊤\\\"}.fad.fa-debug:after{content:\\\"􏟹\\\"}.fad.fa-deer:after{content:\\\"􏞎\\\"}.fad.fa-deer-rudolph:after{content:\\\"􏞏\\\"}.fad.fa-democrat:after{content:\\\"􏝇\\\"}.fad.fa-desktop:after{content:\\\"􏄈\\\"}.fad.fa-desktop-alt:after{content:\\\"􏎐\\\"}.fad.fa-dewpoint:after{content:\\\"􏝈\\\"}.fad.fa-dharmachakra:after{content:\\\"􏙕\\\"}.fad.fa-diagnoses:after{content:\\\"􏑰\\\"}.fad.fa-diamond:after{content:\\\"􏈙\\\"}.fad.fa-dice:after{content:\\\"􏔢\\\"}.fad.fa-dice-d10:after{content:\\\"􏛍\\\"}.fad.fa-dice-d12:after{content:\\\"􏛎\\\"}.fad.fa-dice-d20:after{content:\\\"􏛏\\\"}.fad.fa-dice-d4:after{content:\\\"􏛐\\\"}.fad.fa-dice-d6:after{content:\\\"􏛑\\\"}.fad.fa-dice-d8:after{content:\\\"􏛒\\\"}.fad.fa-dice-five:after{content:\\\"􏔣\\\"}.fad.fa-dice-four:after{content:\\\"􏔤\\\"}.fad.fa-dice-one:after{content:\\\"􏔥\\\"}.fad.fa-dice-six:after{content:\\\"􏔦\\\"}.fad.fa-dice-three:after{content:\\\"􏔧\\\"}.fad.fa-dice-two:after{content:\\\"􏔨\\\"}.fad.fa-digging:after{content:\\\"􏡞\\\"}.fad.fa-digital-tachograph:after{content:\\\"􏕦\\\"}.fad.fa-diploma:after{content:\\\"􏗪\\\"}.fad.fa-directions:after{content:\\\"􏗫\\\"}.fad.fa-disc-drive:after{content:\\\"􏢵\\\"}.fad.fa-disease:after{content:\\\"􏟺\\\"}.fad.fa-divide:after{content:\\\"􏔩\\\"}.fad.fa-dizzy:after{content:\\\"􏕧\\\"}.fad.fa-dna:after{content:\\\"􏑱\\\"}.fad.fa-do-not-enter:after{content:\\\"􏗬\\\"}.fad.fa-dog:after{content:\\\"􏛓\\\"}.fad.fa-dog-leashed:after{content:\\\"􏛔\\\"}.fad.fa-dollar-sign:after{content:\\\"􏅕\\\"}.fad.fa-dolly:after{content:\\\"􏑲\\\"}.fad.fa-dolly-empty:after{content:\\\"􏑳\\\"}.fad.fa-dolly-flatbed:after{content:\\\"􏑴\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"􏑵\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"􏑶\\\"}.fad.fa-donate:after{content:\\\"􏒹\\\"}.fad.fa-door-closed:after{content:\\\"􏔪\\\"}.fad.fa-door-open:after{content:\\\"􏔫\\\"}.fad.fa-dot-circle:after{content:\\\"􏆒\\\"}.fad.fa-dove:after{content:\\\"􏒺\\\"}.fad.fa-download:after{content:\\\"􏀙\\\"}.fad.fa-drafting-compass:after{content:\\\"􏕨\\\"}.fad.fa-dragon:after{content:\\\"􏛕\\\"}.fad.fa-draw-circle:after{content:\\\"􏗭\\\"}.fad.fa-draw-polygon:after{content:\\\"􏗮\\\"}.fad.fa-draw-square:after{content:\\\"􏗯\\\"}.fad.fa-dreidel:after{content:\\\"􏞒\\\"}.fad.fa-drone:after{content:\\\"􏡟\\\"}.fad.fa-drone-alt:after{content:\\\"􏡠\\\"}.fad.fa-drum:after{content:\\\"􏕩\\\"}.fad.fa-drum-steelpan:after{content:\\\"􏕪\\\"}.fad.fa-drumstick:after{content:\\\"􏛖\\\"}.fad.fa-drumstick-bite:after{content:\\\"􏛗\\\"}.fad.fa-dryer:after{content:\\\"􏡡\\\"}.fad.fa-dryer-alt:after{content:\\\"􏡢\\\"}.fad.fa-duck:after{content:\\\"􏛘\\\"}.fad.fa-dumbbell:after{content:\\\"􏑋\\\"}.fad.fa-dumpster:after{content:\\\"􏞓\\\"}.fad.fa-dumpster-fire:after{content:\\\"􏞔\\\"}.fad.fa-dungeon:after{content:\\\"􏛙\\\"}.fad.fa-ear:after{content:\\\"􏗰\\\"}.fad.fa-ear-muffs:after{content:\\\"􏞕\\\"}.fad.fa-eclipse:after{content:\\\"􏝉\\\"}.fad.fa-eclipse-alt:after{content:\\\"􏝊\\\"}.fad.fa-edit:after{content:\\\"􏁄\\\"}.fad.fa-egg:after{content:\\\"􏟻\\\"}.fad.fa-egg-fried:after{content:\\\"􏟼\\\"}.fad.fa-eject:after{content:\\\"􏁒\\\"}.fad.fa-elephant:after{content:\\\"􏛚\\\"}.fad.fa-ellipsis-h:after{content:\\\"􏅁\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"􏎛\\\"}.fad.fa-ellipsis-v:after{content:\\\"􏅂\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"􏎜\\\"}.fad.fa-empty-set:after{content:\\\"􏙖\\\"}.fad.fa-engine-warning:after{content:\\\"􏗲\\\"}.fad.fa-envelope:after{content:\\\"􏃠\\\"}.fad.fa-envelope-open:after{content:\\\"􏊶\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"􏙗\\\"}.fad.fa-envelope-open-text:after{content:\\\"􏙘\\\"}.fad.fa-envelope-square:after{content:\\\"􏆙\\\"}.fad.fa-equals:after{content:\\\"􏔬\\\"}.fad.fa-eraser:after{content:\\\"􏄭\\\"}.fad.fa-ethernet:after{content:\\\"􏞖\\\"}.fad.fa-euro-sign:after{content:\\\"􏅓\\\"}.fad.fa-exchange:after{content:\\\"􏃬\\\"}.fad.fa-exchange-alt:after{content:\\\"􏍢\\\"}.fad.fa-exclamation:after{content:\\\"􏄪\\\"}.fad.fa-exclamation-circle:after{content:\\\"􏁪\\\"}.fad.fa-exclamation-square:after{content:\\\"􏌡\\\"}.fad.fa-exclamation-triangle:after{content:\\\"􏁱\\\"}.fad.fa-expand:after{content:\\\"􏁥\\\"}.fad.fa-expand-alt:after{content:\\\"􏐤\\\"}.fad.fa-expand-arrows:after{content:\\\"􏌝\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"􏌞\\\"}.fad.fa-expand-wide:after{content:\\\"􏌠\\\"}.fad.fa-external-link:after{content:\\\"􏂎\\\"}.fad.fa-external-link-alt:after{content:\\\"􏍝\\\"}.fad.fa-external-link-square:after{content:\\\"􏅌\\\"}.fad.fa-external-link-square-alt:after{content:\\\"􏍠\\\"}.fad.fa-eye:after{content:\\\"􏁮\\\"}.fad.fa-eye-dropper:after{content:\\\"􏇻\\\"}.fad.fa-eye-evil:after{content:\\\"􏛛\\\"}.fad.fa-eye-slash:after{content:\\\"􏁰\\\"}.fad.fa-fan:after{content:\\\"􏡣\\\"}.fad.fa-fan-table:after{content:\\\"􏤄\\\"}.fad.fa-farm:after{content:\\\"􏡤\\\"}.fad.fa-fast-backward:after{content:\\\"􏁉\\\"}.fad.fa-fast-forward:after{content:\\\"􏁐\\\"}.fad.fa-faucet:after{content:\\\"􏤅\\\"}.fad.fa-faucet-drip:after{content:\\\"􏤆\\\"}.fad.fa-fax:after{content:\\\"􏆬\\\"}.fad.fa-feather:after{content:\\\"􏔭\\\"}.fad.fa-feather-alt:after{content:\\\"􏕫\\\"}.fad.fa-female:after{content:\\\"􏆂\\\"}.fad.fa-field-hockey:after{content:\\\"􏑌\\\"}.fad.fa-fighter-jet:after{content:\\\"􏃻\\\"}.fad.fa-file:after{content:\\\"􏅛\\\"}.fad.fa-file-alt:after{content:\\\"􏅜\\\"}.fad.fa-file-archive:after{content:\\\"􏇆\\\"}.fad.fa-file-audio:after{content:\\\"􏇇\\\"}.fad.fa-file-certificate:after{content:\\\"􏗳\\\"}.fad.fa-file-chart-line:after{content:\\\"􏙙\\\"}.fad.fa-file-chart-pie:after{content:\\\"􏙚\\\"}.fad.fa-file-check:after{content:\\\"􏌖\\\"}.fad.fa-file-code:after{content:\\\"􏇉\\\"}.fad.fa-file-contract:after{content:\\\"􏕬\\\"}.fad.fa-file-csv:after{content:\\\"􏛝\\\"}.fad.fa-file-download:after{content:\\\"􏕭\\\"}.fad.fa-file-edit:after{content:\\\"􏌜\\\"}.fad.fa-file-excel:after{content:\\\"􏇃\\\"}.fad.fa-file-exclamation:after{content:\\\"􏌚\\\"}.fad.fa-file-export:after{content:\\\"􏕮\\\"}.fad.fa-file-image:after{content:\\\"􏇅\\\"}.fad.fa-file-import:after{content:\\\"􏕯\\\"}.fad.fa-file-invoice:after{content:\\\"􏕰\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"􏕱\\\"}.fad.fa-file-medical:after{content:\\\"􏑷\\\"}.fad.fa-file-medical-alt:after{content:\\\"􏑸\\\"}.fad.fa-file-minus:after{content:\\\"􏌘\\\"}.fad.fa-file-music:after{content:\\\"􏢶\\\"}.fad.fa-file-pdf:after{content:\\\"􏇁\\\"}.fad.fa-file-plus:after{content:\\\"􏌙\\\"}.fad.fa-file-powerpoint:after{content:\\\"􏇄\\\"}.fad.fa-file-prescription:after{content:\\\"􏕲\\\"}.fad.fa-file-search:after{content:\\\"􏡥\\\"}.fad.fa-file-signature:after{content:\\\"􏕳\\\"}.fad.fa-file-spreadsheet:after{content:\\\"􏙛\\\"}.fad.fa-file-times:after{content:\\\"􏌗\\\"}.fad.fa-file-upload:after{content:\\\"􏕴\\\"}.fad.fa-file-user:after{content:\\\"􏙜\\\"}.fad.fa-file-video:after{content:\\\"􏇈\\\"}.fad.fa-file-word:after{content:\\\"􏇂\\\"}.fad.fa-files-medical:after{content:\\\"􏟽\\\"}.fad.fa-fill:after{content:\\\"􏕵\\\"}.fad.fa-fill-drip:after{content:\\\"􏕶\\\"}.fad.fa-film:after{content:\\\"􏀈\\\"}.fad.fa-film-alt:after{content:\\\"􏎠\\\"}.fad.fa-film-canister:after{content:\\\"􏢷\\\"}.fad.fa-filter:after{content:\\\"􏂰\\\"}.fad.fa-fingerprint:after{content:\\\"􏕷\\\"}.fad.fa-fire:after{content:\\\"􏁭\\\"}.fad.fa-fire-alt:after{content:\\\"􏟤\\\"}.fad.fa-fire-extinguisher:after{content:\\\"􏄴\\\"}.fad.fa-fire-smoke:after{content:\\\"􏝋\\\"}.fad.fa-fireplace:after{content:\\\"􏞚\\\"}.fad.fa-first-aid:after{content:\\\"􏑹\\\"}.fad.fa-fish:after{content:\\\"􏕸\\\"}.fad.fa-fish-cooked:after{content:\\\"􏟾\\\"}.fad.fa-fist-raised:after{content:\\\"􏛞\\\"}.fad.fa-flag:after{content:\\\"􏀤\\\"}.fad.fa-flag-alt:after{content:\\\"􏝌\\\"}.fad.fa-flag-checkered:after{content:\\\"􏄞\\\"}.fad.fa-flag-usa:after{content:\\\"􏝍\\\"}.fad.fa-flame:after{content:\\\"􏛟\\\"}.fad.fa-flashlight:after{content:\\\"􏢸\\\"}.fad.fa-flask:after{content:\\\"􏃃\\\"}.fad.fa-flask-poison:after{content:\\\"􏛠\\\"}.fad.fa-flask-potion:after{content:\\\"􏛡\\\"}.fad.fa-flower:after{content:\\\"􏟿\\\"}.fad.fa-flower-daffodil:after{content:\\\"􏠀\\\"}.fad.fa-flower-tulip:after{content:\\\"􏠁\\\"}.fad.fa-flushed:after{content:\\\"􏕹\\\"}.fad.fa-flute:after{content:\\\"􏢹\\\"}.fad.fa-flux-capacitor:after{content:\\\"􏢺\\\"}.fad.fa-fog:after{content:\\\"􏝎\\\"}.fad.fa-folder:after{content:\\\"􏁻\\\"}.fad.fa-folder-download:after{content:\\\"􏥓\\\"}.fad.fa-folder-minus:after{content:\\\"􏙝\\\"}.fad.fa-folder-open:after{content:\\\"􏁼\\\"}.fad.fa-folder-plus:after{content:\\\"􏙞\\\"}.fad.fa-folder-times:after{content:\\\"􏙟\\\"}.fad.fa-folder-tree:after{content:\\\"􏠂\\\"}.fad.fa-folder-upload:after{content:\\\"􏥔\\\"}.fad.fa-folders:after{content:\\\"􏙠\\\"}.fad.fa-font:after{content:\\\"􏀱\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"􏓦\\\"}.fad.fa-font-case:after{content:\\\"􏡦\\\"}.fad.fa-football-ball:after{content:\\\"􏑎\\\"}.fad.fa-football-helmet:after{content:\\\"􏑏\\\"}.fad.fa-forklift:after{content:\\\"􏑺\\\"}.fad.fa-forward:after{content:\\\"􏁎\\\"}.fad.fa-fragile:after{content:\\\"􏒻\\\"}.fad.fa-french-fries:after{content:\\\"􏠃\\\"}.fad.fa-frog:after{content:\\\"􏔮\\\"}.fad.fa-frosty-head:after{content:\\\"􏞛\\\"}.fad.fa-frown:after{content:\\\"􏄙\\\"}.fad.fa-frown-open:after{content:\\\"􏕺\\\"}.fad.fa-function:after{content:\\\"􏙡\\\"}.fad.fa-funnel-dollar:after{content:\\\"􏙢\\\"}.fad.fa-futbol:after{content:\\\"􏇣\\\"}.fad.fa-galaxy:after{content:\\\"􏤈\\\"}.fad.fa-game-board:after{content:\\\"􏡧\\\"}.fad.fa-game-board-alt:after{content:\\\"􏡨\\\"}.fad.fa-game-console-handheld:after{content:\\\"􏢻\\\"}.fad.fa-gamepad:after{content:\\\"􏄛\\\"}.fad.fa-gamepad-alt:after{content:\\\"􏢼\\\"}.fad.fa-garage:after{content:\\\"􏤉\\\"}.fad.fa-garage-car:after{content:\\\"􏤊\\\"}.fad.fa-garage-open:after{content:\\\"􏤋\\\"}.fad.fa-gas-pump:after{content:\\\"􏔯\\\"}.fad.fa-gas-pump-slash:after{content:\\\"􏗴\\\"}.fad.fa-gavel:after{content:\\\"􏃣\\\"}.fad.fa-gem:after{content:\\\"􏎥\\\"}.fad.fa-genderless:after{content:\\\"􏈭\\\"}.fad.fa-ghost:after{content:\\\"􏛢\\\"}.fad.fa-gift:after{content:\\\"􏁫\\\"}.fad.fa-gift-card:after{content:\\\"􏙣\\\"}.fad.fa-gifts:after{content:\\\"􏞜\\\"}.fad.fa-gingerbread-man:after{content:\\\"􏞝\\\"}.fad.fa-glass:after{content:\\\"􏠄\\\"}.fad.fa-glass-champagne:after{content:\\\"􏞞\\\"}.fad.fa-glass-cheers:after{content:\\\"􏞟\\\"}.fad.fa-glass-citrus:after{content:\\\"􏡩\\\"}.fad.fa-glass-martini:after{content:\\\"􏀀\\\"}.fad.fa-glass-martini-alt:after{content:\\\"􏕻\\\"}.fad.fa-glass-whiskey:after{content:\\\"􏞠\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"􏞡\\\"}.fad.fa-glasses:after{content:\\\"􏔰\\\"}.fad.fa-glasses-alt:after{content:\\\"􏗵\\\"}.fad.fa-globe:after{content:\\\"􏂬\\\"}.fad.fa-globe-africa:after{content:\\\"􏕼\\\"}.fad.fa-globe-americas:after{content:\\\"􏕽\\\"}.fad.fa-globe-asia:after{content:\\\"􏕾\\\"}.fad.fa-globe-europe:after{content:\\\"􏞢\\\"}.fad.fa-globe-snow:after{content:\\\"􏞣\\\"}.fad.fa-globe-stand:after{content:\\\"􏗶\\\"}.fad.fa-golf-ball:after{content:\\\"􏑐\\\"}.fad.fa-golf-club:after{content:\\\"􏑑\\\"}.fad.fa-gopuram:after{content:\\\"􏙤\\\"}.fad.fa-graduation-cap:after{content:\\\"􏆝\\\"}.fad.fa-gramophone:after{content:\\\"􏢽\\\"}.fad.fa-greater-than:after{content:\\\"􏔱\\\"}.fad.fa-greater-than-equal:after{content:\\\"􏔲\\\"}.fad.fa-grimace:after{content:\\\"􏕿\\\"}.fad.fa-grin:after{content:\\\"􏖀\\\"}.fad.fa-grin-alt:after{content:\\\"􏖁\\\"}.fad.fa-grin-beam:after{content:\\\"􏖂\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"􏖃\\\"}.fad.fa-grin-hearts:after{content:\\\"􏖄\\\"}.fad.fa-grin-squint:after{content:\\\"􏖅\\\"}.fad.fa-grin-squint-tears:after{content:\\\"􏖆\\\"}.fad.fa-grin-stars:after{content:\\\"􏖇\\\"}.fad.fa-grin-tears:after{content:\\\"􏖈\\\"}.fad.fa-grin-tongue:after{content:\\\"􏖉\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"􏖊\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"􏖋\\\"}.fad.fa-grin-wink:after{content:\\\"􏖌\\\"}.fad.fa-grip-horizontal:after{content:\\\"􏖍\\\"}.fad.fa-grip-lines:after{content:\\\"􏞤\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"􏞥\\\"}.fad.fa-grip-vertical:after{content:\\\"􏖎\\\"}.fad.fa-guitar:after{content:\\\"􏞦\\\"}.fad.fa-guitar-electric:after{content:\\\"􏢾\\\"}.fad.fa-guitars:after{content:\\\"􏢿\\\"}.fad.fa-h-square:after{content:\\\"􏃽\\\"}.fad.fa-h1:after{content:\\\"􏌓\\\"}.fad.fa-h2:after{content:\\\"􏌔\\\"}.fad.fa-h3:after{content:\\\"􏌕\\\"}.fad.fa-h4:after{content:\\\"􏡪\\\"}.fad.fa-hamburger:after{content:\\\"􏠅\\\"}.fad.fa-hammer:after{content:\\\"􏛣\\\"}.fad.fa-hammer-war:after{content:\\\"􏛤\\\"}.fad.fa-hamsa:after{content:\\\"􏙥\\\"}.fad.fa-hand-heart:after{content:\\\"􏒼\\\"}.fad.fa-hand-holding:after{content:\\\"􏒽\\\"}.fad.fa-hand-holding-box:after{content:\\\"􏑻\\\"}.fad.fa-hand-holding-heart:after{content:\\\"􏒾\\\"}.fad.fa-hand-holding-magic:after{content:\\\"􏛥\\\"}.fad.fa-hand-holding-medical:after{content:\\\"􏥜\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"􏒿\\\"}.fad.fa-hand-holding-usd:after{content:\\\"􏓀\\\"}.fad.fa-hand-holding-water:after{content:\\\"􏓁\\\"}.fad.fa-hand-lizard:after{content:\\\"􏉘\\\"}.fad.fa-hand-middle-finger:after{content:\\\"􏠆\\\"}.fad.fa-hand-paper:after{content:\\\"􏉖\\\"}.fad.fa-hand-peace:after{content:\\\"􏉛\\\"}.fad.fa-hand-point-down:after{content:\\\"􏂧\\\"}.fad.fa-hand-point-left:after{content:\\\"􏂥\\\"}.fad.fa-hand-point-right:after{content:\\\"􏂤\\\"}.fad.fa-hand-point-up:after{content:\\\"􏂦\\\"}.fad.fa-hand-pointer:after{content:\\\"􏉚\\\"}.fad.fa-hand-receiving:after{content:\\\"􏑼\\\"}.fad.fa-hand-rock:after{content:\\\"􏉕\\\"}.fad.fa-hand-scissors:after{content:\\\"􏉗\\\"}.fad.fa-hand-sparkles:after{content:\\\"􏥝\\\"}.fad.fa-hand-spock:after{content:\\\"􏉙\\\"}.fad.fa-hands:after{content:\\\"􏓂\\\"}.fad.fa-hands-heart:after{content:\\\"􏓃\\\"}.fad.fa-hands-helping:after{content:\\\"􏓄\\\"}.fad.fa-hands-usd:after{content:\\\"􏓅\\\"}.fad.fa-hands-wash:after{content:\\\"􏥞\\\"}.fad.fa-handshake:after{content:\\\"􏊵\\\"}.fad.fa-handshake-alt:after{content:\\\"􏓆\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"􏥟\\\"}.fad.fa-handshake-slash:after{content:\\\"􏥠\\\"}.fad.fa-hanukiah:after{content:\\\"􏛦\\\"}.fad.fa-hard-hat:after{content:\\\"􏠇\\\"}.fad.fa-hashtag:after{content:\\\"􏊒\\\"}.fad.fa-hat-chef:after{content:\\\"􏡫\\\"}.fad.fa-hat-cowboy:after{content:\\\"􏣀\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"􏣁\\\"}.fad.fa-hat-santa:after{content:\\\"􏞧\\\"}.fad.fa-hat-winter:after{content:\\\"􏞨\\\"}.fad.fa-hat-witch:after{content:\\\"􏛧\\\"}.fad.fa-hat-wizard:after{content:\\\"􏛨\\\"}.fad.fa-hdd:after{content:\\\"􏂠\\\"}.fad.fa-head-side:after{content:\\\"􏛩\\\"}.fad.fa-head-side-brain:after{content:\\\"􏠈\\\"}.fad.fa-head-side-cough:after{content:\\\"􏥡\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"􏥢\\\"}.fad.fa-head-side-headphones:after{content:\\\"􏣂\\\"}.fad.fa-head-side-mask:after{content:\\\"􏥣\\\"}.fad.fa-head-side-medical:after{content:\\\"􏠉\\\"}.fad.fa-head-side-virus:after{content:\\\"􏥤\\\"}.fad.fa-head-vr:after{content:\\\"􏛪\\\"}.fad.fa-heading:after{content:\\\"􏇜\\\"}.fad.fa-headphones:after{content:\\\"􏀥\\\"}.fad.fa-headphones-alt:after{content:\\\"􏖏\\\"}.fad.fa-headset:after{content:\\\"􏖐\\\"}.fad.fa-heart:after{content:\\\"􏀄\\\"}.fad.fa-heart-broken:after{content:\\\"􏞩\\\"}.fad.fa-heart-circle:after{content:\\\"􏓇\\\"}.fad.fa-heart-rate:after{content:\\\"􏗸\\\"}.fad.fa-heart-square:after{content:\\\"􏓈\\\"}.fad.fa-heartbeat:after{content:\\\"􏈞\\\"}.fad.fa-heat:after{content:\\\"􏤌\\\"}.fad.fa-helicopter:after{content:\\\"􏔳\\\"}.fad.fa-helmet-battle:after{content:\\\"􏛫\\\"}.fad.fa-hexagon:after{content:\\\"􏌒\\\"}.fad.fa-highlighter:after{content:\\\"􏖑\\\"}.fad.fa-hiking:after{content:\\\"􏛬\\\"}.fad.fa-hippo:after{content:\\\"􏛭\\\"}.fad.fa-history:after{content:\\\"􏇚\\\"}.fad.fa-hockey-mask:after{content:\\\"􏛮\\\"}.fad.fa-hockey-puck:after{content:\\\"􏑓\\\"}.fad.fa-hockey-sticks:after{content:\\\"􏑔\\\"}.fad.fa-holly-berry:after{content:\\\"􏞪\\\"}.fad.fa-home:after{content:\\\"􏀕\\\"}.fad.fa-home-alt:after{content:\\\"􏠊\\\"}.fad.fa-home-heart:after{content:\\\"􏓉\\\"}.fad.fa-home-lg:after{content:\\\"􏠋\\\"}.fad.fa-home-lg-alt:after{content:\\\"􏠌\\\"}.fad.fa-hood-cloak:after{content:\\\"􏛯\\\"}.fad.fa-horizontal-rule:after{content:\\\"􏡬\\\"}.fad.fa-horse:after{content:\\\"􏛰\\\"}.fad.fa-horse-head:after{content:\\\"􏞫\\\"}.fad.fa-horse-saddle:after{content:\\\"􏣃\\\"}.fad.fa-hospital:after{content:\\\"􏃸\\\"}.fad.fa-hospital-alt:after{content:\\\"􏑽\\\"}.fad.fa-hospital-symbol:after{content:\\\"􏑾\\\"}.fad.fa-hospital-user:after{content:\\\"􏠍\\\"}.fad.fa-hospitals:after{content:\\\"􏠎\\\"}.fad.fa-hot-tub:after{content:\\\"􏖓\\\"}.fad.fa-hotdog:after{content:\\\"􏠏\\\"}.fad.fa-hotel:after{content:\\\"􏖔\\\"}.fad.fa-hourglass:after{content:\\\"􏉔\\\"}.fad.fa-hourglass-end:after{content:\\\"􏉓\\\"}.fad.fa-hourglass-half:after{content:\\\"􏉒\\\"}.fad.fa-hourglass-start:after{content:\\\"􏉑\\\"}.fad.fa-house:after{content:\\\"􏤍\\\"}.fad.fa-house-damage:after{content:\\\"􏛱\\\"}.fad.fa-house-day:after{content:\\\"􏤎\\\"}.fad.fa-house-flood:after{content:\\\"􏝏\\\"}.fad.fa-house-leave:after{content:\\\"􏤏\\\"}.fad.fa-house-night:after{content:\\\"􏤐\\\"}.fad.fa-house-return:after{content:\\\"􏤑\\\"}.fad.fa-house-signal:after{content:\\\"􏤒\\\"}.fad.fa-house-user:after{content:\\\"􏥥\\\"}.fad.fa-hryvnia:after{content:\\\"􏛲\\\"}.fad.fa-humidity:after{content:\\\"􏝐\\\"}.fad.fa-hurricane:after{content:\\\"􏝑\\\"}.fad.fa-i-cursor:after{content:\\\"􏉆\\\"}.fad.fa-ice-cream:after{content:\\\"􏠐\\\"}.fad.fa-ice-skate:after{content:\\\"􏞬\\\"}.fad.fa-icicles:after{content:\\\"􏞭\\\"}.fad.fa-icons:after{content:\\\"􏡭\\\"}.fad.fa-icons-alt:after{content:\\\"􏡮\\\"}.fad.fa-id-badge:after{content:\\\"􏋁\\\"}.fad.fa-id-card:after{content:\\\"􏋂\\\"}.fad.fa-id-card-alt:after{content:\\\"􏑿\\\"}.fad.fa-igloo:after{content:\\\"􏞮\\\"}.fad.fa-image:after{content:\\\"􏀾\\\"}.fad.fa-image-polaroid:after{content:\\\"􏣄\\\"}.fad.fa-images:after{content:\\\"􏌂\\\"}.fad.fa-inbox:after{content:\\\"􏀜\\\"}.fad.fa-inbox-in:after{content:\\\"􏌐\\\"}.fad.fa-inbox-out:after{content:\\\"􏌑\\\"}.fad.fa-indent:after{content:\\\"􏀼\\\"}.fad.fa-industry:after{content:\\\"􏉵\\\"}.fad.fa-industry-alt:after{content:\\\"􏎳\\\"}.fad.fa-infinity:after{content:\\\"􏔴\\\"}.fad.fa-info:after{content:\\\"􏄩\\\"}.fad.fa-info-circle:after{content:\\\"􏁚\\\"}.fad.fa-info-square:after{content:\\\"􏌏\\\"}.fad.fa-inhaler:after{content:\\\"􏗹\\\"}.fad.fa-integral:after{content:\\\"􏙧\\\"}.fad.fa-intersection:after{content:\\\"􏙨\\\"}.fad.fa-inventory:after{content:\\\"􏒀\\\"}.fad.fa-island-tropical:after{content:\\\"􏠑\\\"}.fad.fa-italic:after{content:\\\"􏀳\\\"}.fad.fa-jack-o-lantern:after{content:\\\"􏌎\\\"}.fad.fa-jedi:after{content:\\\"􏙩\\\"}.fad.fa-joint:after{content:\\\"􏖕\\\"}.fad.fa-journal-whills:after{content:\\\"􏙪\\\"}.fad.fa-joystick:after{content:\\\"􏣅\\\"}.fad.fa-jug:after{content:\\\"􏣆\\\"}.fad.fa-kaaba:after{content:\\\"􏙫\\\"}.fad.fa-kazoo:after{content:\\\"􏣇\\\"}.fad.fa-kerning:after{content:\\\"􏡯\\\"}.fad.fa-key:after{content:\\\"􏂄\\\"}.fad.fa-key-skeleton:after{content:\\\"􏛳\\\"}.fad.fa-keyboard:after{content:\\\"􏄜\\\"}.fad.fa-keynote:after{content:\\\"􏙬\\\"}.fad.fa-khanda:after{content:\\\"􏙭\\\"}.fad.fa-kidneys:after{content:\\\"􏗻\\\"}.fad.fa-kiss:after{content:\\\"􏖖\\\"}.fad.fa-kiss-beam:after{content:\\\"􏖗\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"􏖘\\\"}.fad.fa-kite:after{content:\\\"􏛴\\\"}.fad.fa-kiwi-bird:after{content:\\\"􏔵\\\"}.fad.fa-knife-kitchen:after{content:\\\"􏛵\\\"}.fad.fa-lambda:after{content:\\\"􏙮\\\"}.fad.fa-lamp:after{content:\\\"􏓊\\\"}.fad.fa-lamp-desk:after{content:\\\"􏤔\\\"}.fad.fa-lamp-floor:after{content:\\\"􏤕\\\"}.fad.fa-landmark:after{content:\\\"􏙯\\\"}.fad.fa-landmark-alt:after{content:\\\"􏝒\\\"}.fad.fa-language:after{content:\\\"􏆫\\\"}.fad.fa-laptop:after{content:\\\"􏄉\\\"}.fad.fa-laptop-code:after{content:\\\"􏗼\\\"}.fad.fa-laptop-house:after{content:\\\"􏥦\\\"}.fad.fa-laptop-medical:after{content:\\\"􏠒\\\"}.fad.fa-lasso:after{content:\\\"􏣈\\\"}.fad.fa-laugh:after{content:\\\"􏖙\\\"}.fad.fa-laugh-beam:after{content:\\\"􏖚\\\"}.fad.fa-laugh-squint:after{content:\\\"􏖛\\\"}.fad.fa-laugh-wink:after{content:\\\"􏖜\\\"}.fad.fa-layer-group:after{content:\\\"􏗽\\\"}.fad.fa-layer-minus:after{content:\\\"􏗾\\\"}.fad.fa-layer-plus:after{content:\\\"􏗿\\\"}.fad.fa-leaf:after{content:\\\"􏁬\\\"}.fad.fa-leaf-heart:after{content:\\\"􏓋\\\"}.fad.fa-leaf-maple:after{content:\\\"􏛶\\\"}.fad.fa-leaf-oak:after{content:\\\"􏛷\\\"}.fad.fa-lemon:after{content:\\\"􏂔\\\"}.fad.fa-less-than:after{content:\\\"􏔶\\\"}.fad.fa-less-than-equal:after{content:\\\"􏔷\\\"}.fad.fa-level-down:after{content:\\\"􏅉\\\"}.fad.fa-level-down-alt:after{content:\\\"􏎾\\\"}.fad.fa-level-up:after{content:\\\"􏅈\\\"}.fad.fa-level-up-alt:after{content:\\\"􏎿\\\"}.fad.fa-life-ring:after{content:\\\"􏇍\\\"}.fad.fa-light-ceiling:after{content:\\\"􏤖\\\"}.fad.fa-light-switch:after{content:\\\"􏤗\\\"}.fad.fa-light-switch-off:after{content:\\\"􏤘\\\"}.fad.fa-light-switch-on:after{content:\\\"􏤙\\\"}.fad.fa-lightbulb:after{content:\\\"􏃫\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"􏙰\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"􏙱\\\"}.fad.fa-lightbulb-on:after{content:\\\"􏙲\\\"}.fad.fa-lightbulb-slash:after{content:\\\"􏙳\\\"}.fad.fa-lights-holiday:after{content:\\\"􏞲\\\"}.fad.fa-line-columns:after{content:\\\"􏡰\\\"}.fad.fa-line-height:after{content:\\\"􏡱\\\"}.fad.fa-link:after{content:\\\"􏃁\\\"}.fad.fa-lips:after{content:\\\"􏘀\\\"}.fad.fa-lira-sign:after{content:\\\"􏆕\\\"}.fad.fa-list:after{content:\\\"􏀺\\\"}.fad.fa-list-alt:after{content:\\\"􏀢\\\"}.fad.fa-list-music:after{content:\\\"􏣉\\\"}.fad.fa-list-ol:after{content:\\\"􏃋\\\"}.fad.fa-list-ul:after{content:\\\"􏃊\\\"}.fad.fa-location:after{content:\\\"􏘁\\\"}.fad.fa-location-arrow:after{content:\\\"􏄤\\\"}.fad.fa-location-circle:after{content:\\\"􏘂\\\"}.fad.fa-location-slash:after{content:\\\"􏘃\\\"}.fad.fa-lock:after{content:\\\"􏀣\\\"}.fad.fa-lock-alt:after{content:\\\"􏌍\\\"}.fad.fa-lock-open:after{content:\\\"􏏁\\\"}.fad.fa-lock-open-alt:after{content:\\\"􏏂\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"􏌉\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"􏌊\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"􏌋\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"􏌌\\\"}.fad.fa-long-arrow-down:after{content:\\\"􏅵\\\"}.fad.fa-long-arrow-left:after{content:\\\"􏅷\\\"}.fad.fa-long-arrow-right:after{content:\\\"􏅸\\\"}.fad.fa-long-arrow-up:after{content:\\\"􏅶\\\"}.fad.fa-loveseat:after{content:\\\"􏓌\\\"}.fad.fa-low-vision:after{content:\\\"􏊨\\\"}.fad.fa-luchador:after{content:\\\"􏑕\\\"}.fad.fa-luggage-cart:after{content:\\\"􏖝\\\"}.fad.fa-lungs:after{content:\\\"􏘄\\\"}.fad.fa-lungs-virus:after{content:\\\"􏥧\\\"}.fad.fa-mace:after{content:\\\"􏛸\\\"}.fad.fa-magic:after{content:\\\"􏃐\\\"}.fad.fa-magnet:after{content:\\\"􏁶\\\"}.fad.fa-mail-bulk:after{content:\\\"􏙴\\\"}.fad.fa-mailbox:after{content:\\\"􏠓\\\"}.fad.fa-male:after{content:\\\"􏆃\\\"}.fad.fa-mandolin:after{content:\\\"􏛹\\\"}.fad.fa-map:after{content:\\\"􏉹\\\"}.fad.fa-map-marked:after{content:\\\"􏖟\\\"}.fad.fa-map-marked-alt:after{content:\\\"􏖠\\\"}.fad.fa-map-marker:after{content:\\\"􏁁\\\"}.fad.fa-map-marker-alt:after{content:\\\"􏏅\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"􏘅\\\"}.fad.fa-map-marker-check:after{content:\\\"􏘆\\\"}.fad.fa-map-marker-edit:after{content:\\\"􏘇\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"􏘈\\\"}.fad.fa-map-marker-minus:after{content:\\\"􏘉\\\"}.fad.fa-map-marker-plus:after{content:\\\"􏘊\\\"}.fad.fa-map-marker-question:after{content:\\\"􏘋\\\"}.fad.fa-map-marker-slash:after{content:\\\"􏘌\\\"}.fad.fa-map-marker-smile:after{content:\\\"􏘍\\\"}.fad.fa-map-marker-times:after{content:\\\"􏘎\\\"}.fad.fa-map-pin:after{content:\\\"􏉶\\\"}.fad.fa-map-signs:after{content:\\\"􏉷\\\"}.fad.fa-marker:after{content:\\\"􏖡\\\"}.fad.fa-mars:after{content:\\\"􏈢\\\"}.fad.fa-mars-double:after{content:\\\"􏈧\\\"}.fad.fa-mars-stroke:after{content:\\\"􏈩\\\"}.fad.fa-mars-stroke-h:after{content:\\\"􏈫\\\"}.fad.fa-mars-stroke-v:after{content:\\\"􏈪\\\"}.fad.fa-mask:after{content:\\\"􏛺\\\"}.fad.fa-meat:after{content:\\\"􏠔\\\"}.fad.fa-medal:after{content:\\\"􏖢\\\"}.fad.fa-medkit:after{content:\\\"􏃺\\\"}.fad.fa-megaphone:after{content:\\\"􏙵\\\"}.fad.fa-meh:after{content:\\\"􏄚\\\"}.fad.fa-meh-blank:after{content:\\\"􏖤\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"􏖥\\\"}.fad.fa-memory:after{content:\\\"􏔸\\\"}.fad.fa-menorah:after{content:\\\"􏙶\\\"}.fad.fa-mercury:after{content:\\\"􏈣\\\"}.fad.fa-meteor:after{content:\\\"􏝓\\\"}.fad.fa-microchip:after{content:\\\"􏋛\\\"}.fad.fa-microphone:after{content:\\\"􏄰\\\"}.fad.fa-microphone-alt:after{content:\\\"􏏉\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"􏔹\\\"}.fad.fa-microphone-slash:after{content:\\\"􏄱\\\"}.fad.fa-microphone-stand:after{content:\\\"􏣋\\\"}.fad.fa-microscope:after{content:\\\"􏘐\\\"}.fad.fa-microwave:after{content:\\\"􏤛\\\"}.fad.fa-mind-share:after{content:\\\"􏙷\\\"}.fad.fa-minus:after{content:\\\"􏁨\\\"}.fad.fa-minus-circle:after{content:\\\"􏁖\\\"}.fad.fa-minus-hexagon:after{content:\\\"􏌇\\\"}.fad.fa-minus-octagon:after{content:\\\"􏌈\\\"}.fad.fa-minus-square:after{content:\\\"􏅆\\\"}.fad.fa-mistletoe:after{content:\\\"􏞴\\\"}.fad.fa-mitten:after{content:\\\"􏞵\\\"}.fad.fa-mobile:after{content:\\\"􏄋\\\"}.fad.fa-mobile-alt:after{content:\\\"􏏍\\\"}.fad.fa-mobile-android:after{content:\\\"􏏎\\\"}.fad.fa-mobile-android-alt:after{content:\\\"􏏏\\\"}.fad.fa-money-bill:after{content:\\\"􏃖\\\"}.fad.fa-money-bill-alt:after{content:\\\"􏏑\\\"}.fad.fa-money-bill-wave:after{content:\\\"􏔺\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"􏔻\\\"}.fad.fa-money-check:after{content:\\\"􏔼\\\"}.fad.fa-money-check-alt:after{content:\\\"􏔽\\\"}.fad.fa-money-check-edit:after{content:\\\"􏡲\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"􏡳\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"􏘑\\\"}.fad.fa-monkey:after{content:\\\"􏛻\\\"}.fad.fa-monument:after{content:\\\"􏖦\\\"}.fad.fa-moon:after{content:\\\"􏆆\\\"}.fad.fa-moon-cloud:after{content:\\\"􏝔\\\"}.fad.fa-moon-stars:after{content:\\\"􏝕\\\"}.fad.fa-mortar-pestle:after{content:\\\"􏖧\\\"}.fad.fa-mosque:after{content:\\\"􏙸\\\"}.fad.fa-motorcycle:after{content:\\\"􏈜\\\"}.fad.fa-mountain:after{content:\\\"􏛼\\\"}.fad.fa-mountains:after{content:\\\"􏛽\\\"}.fad.fa-mouse:after{content:\\\"􏣌\\\"}.fad.fa-mouse-alt:after{content:\\\"􏣍\\\"}.fad.fa-mouse-pointer:after{content:\\\"􏉅\\\"}.fad.fa-mp3-player:after{content:\\\"􏣎\\\"}.fad.fa-mug:after{content:\\\"􏡴\\\"}.fad.fa-mug-hot:after{content:\\\"􏞶\\\"}.fad.fa-mug-marshmallows:after{content:\\\"􏞷\\\"}.fad.fa-mug-tea:after{content:\\\"􏡵\\\"}.fad.fa-music:after{content:\\\"􏀁\\\"}.fad.fa-music-alt:after{content:\\\"􏣏\\\"}.fad.fa-music-alt-slash:after{content:\\\"􏣐\\\"}.fad.fa-music-slash:after{content:\\\"􏣑\\\"}.fad.fa-narwhal:after{content:\\\"􏛾\\\"}.fad.fa-network-wired:after{content:\\\"􏛿\\\"}.fad.fa-neuter:after{content:\\\"􏈬\\\"}.fad.fa-newspaper:after{content:\\\"􏇪\\\"}.fad.fa-not-equal:after{content:\\\"􏔾\\\"}.fad.fa-notes-medical:after{content:\\\"􏒁\\\"}.fad.fa-object-group:after{content:\\\"􏉇\\\"}.fad.fa-object-ungroup:after{content:\\\"􏉈\\\"}.fad.fa-octagon:after{content:\\\"􏌆\\\"}.fad.fa-oil-can:after{content:\\\"􏘓\\\"}.fad.fa-oil-temp:after{content:\\\"􏘔\\\"}.fad.fa-om:after{content:\\\"􏙹\\\"}.fad.fa-omega:after{content:\\\"􏙺\\\"}.fad.fa-ornament:after{content:\\\"􏞸\\\"}.fad.fa-otter:after{content:\\\"􏜀\\\"}.fad.fa-outdent:after{content:\\\"􏀻\\\"}.fad.fa-outlet:after{content:\\\"􏤜\\\"}.fad.fa-oven:after{content:\\\"􏤝\\\"}.fad.fa-overline:after{content:\\\"􏡶\\\"}.fad.fa-page-break:after{content:\\\"􏡷\\\"}.fad.fa-pager:after{content:\\\"􏠕\\\"}.fad.fa-paint-brush:after{content:\\\"􏇼\\\"}.fad.fa-paint-brush-alt:after{content:\\\"􏖩\\\"}.fad.fa-paint-roller:after{content:\\\"􏖪\\\"}.fad.fa-palette:after{content:\\\"􏔿\\\"}.fad.fa-pallet:after{content:\\\"􏒂\\\"}.fad.fa-pallet-alt:after{content:\\\"􏒃\\\"}.fad.fa-paper-plane:after{content:\\\"􏇘\\\"}.fad.fa-paperclip:after{content:\\\"􏃆\\\"}.fad.fa-parachute-box:after{content:\\\"􏓍\\\"}.fad.fa-paragraph:after{content:\\\"􏇝\\\"}.fad.fa-paragraph-rtl:after{content:\\\"􏡸\\\"}.fad.fa-parking:after{content:\\\"􏕀\\\"}.fad.fa-parking-circle:after{content:\\\"􏘕\\\"}.fad.fa-parking-circle-slash:after{content:\\\"􏘖\\\"}.fad.fa-parking-slash:after{content:\\\"􏘗\\\"}.fad.fa-passport:after{content:\\\"􏖫\\\"}.fad.fa-pastafarianism:after{content:\\\"􏙻\\\"}.fad.fa-paste:after{content:\\\"􏃪\\\"}.fad.fa-pause:after{content:\\\"􏁌\\\"}.fad.fa-pause-circle:after{content:\\\"􏊋\\\"}.fad.fa-paw:after{content:\\\"􏆰\\\"}.fad.fa-paw-alt:after{content:\\\"􏜁\\\"}.fad.fa-paw-claws:after{content:\\\"􏜂\\\"}.fad.fa-peace:after{content:\\\"􏙼\\\"}.fad.fa-pegasus:after{content:\\\"􏜃\\\"}.fad.fa-pen:after{content:\\\"􏌄\\\"}.fad.fa-pen-alt:after{content:\\\"􏌅\\\"}.fad.fa-pen-fancy:after{content:\\\"􏖬\\\"}.fad.fa-pen-nib:after{content:\\\"􏖭\\\"}.fad.fa-pen-square:after{content:\\\"􏅋\\\"}.fad.fa-pencil:after{content:\\\"􏁀\\\"}.fad.fa-pencil-alt:after{content:\\\"􏌃\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"􏘘\\\"}.fad.fa-pencil-ruler:after{content:\\\"􏖮\\\"}.fad.fa-pennant:after{content:\\\"􏑖\\\"}.fad.fa-people-arrows:after{content:\\\"􏥨\\\"}.fad.fa-people-carry:after{content:\\\"􏓎\\\"}.fad.fa-pepper-hot:after{content:\\\"􏠖\\\"}.fad.fa-percent:after{content:\\\"􏊕\\\"}.fad.fa-percentage:after{content:\\\"􏕁\\\"}.fad.fa-person-booth:after{content:\\\"􏝖\\\"}.fad.fa-person-carry:after{content:\\\"􏓏\\\"}.fad.fa-person-dolly:after{content:\\\"􏓐\\\"}.fad.fa-person-dolly-empty:after{content:\\\"􏓑\\\"}.fad.fa-person-sign:after{content:\\\"􏝗\\\"}.fad.fa-phone:after{content:\\\"􏂕\\\"}.fad.fa-phone-alt:after{content:\\\"􏡹\\\"}.fad.fa-phone-laptop:after{content:\\\"􏡺\\\"}.fad.fa-phone-office:after{content:\\\"􏙽\\\"}.fad.fa-phone-plus:after{content:\\\"􏓒\\\"}.fad.fa-phone-rotary:after{content:\\\"􏣓\\\"}.fad.fa-phone-slash:after{content:\\\"􏏝\\\"}.fad.fa-phone-square:after{content:\\\"􏂘\\\"}.fad.fa-phone-square-alt:after{content:\\\"􏡻\\\"}.fad.fa-phone-volume:after{content:\\\"􏊠\\\"}.fad.fa-photo-video:after{content:\\\"􏡼\\\"}.fad.fa-pi:after{content:\\\"􏙾\\\"}.fad.fa-piano:after{content:\\\"􏣔\\\"}.fad.fa-piano-keyboard:after{content:\\\"􏣕\\\"}.fad.fa-pie:after{content:\\\"􏜅\\\"}.fad.fa-pig:after{content:\\\"􏜆\\\"}.fad.fa-piggy-bank:after{content:\\\"􏓓\\\"}.fad.fa-pills:after{content:\\\"􏒄\\\"}.fad.fa-pizza:after{content:\\\"􏠗\\\"}.fad.fa-pizza-slice:after{content:\\\"􏠘\\\"}.fad.fa-place-of-worship:after{content:\\\"􏙿\\\"}.fad.fa-plane:after{content:\\\"􏁲\\\"}.fad.fa-plane-alt:after{content:\\\"􏏞\\\"}.fad.fa-plane-arrival:after{content:\\\"􏖯\\\"}.fad.fa-plane-departure:after{content:\\\"􏖰\\\"}.fad.fa-plane-slash:after{content:\\\"􏥩\\\"}.fad.fa-planet-moon:after{content:\\\"􏤟\\\"}.fad.fa-planet-ringed:after{content:\\\"􏤠\\\"}.fad.fa-play:after{content:\\\"􏁋\\\"}.fad.fa-play-circle:after{content:\\\"􏅄\\\"}.fad.fa-plug:after{content:\\\"􏇦\\\"}.fad.fa-plus:after{content:\\\"􏁧\\\"}.fad.fa-plus-circle:after{content:\\\"􏁕\\\"}.fad.fa-plus-hexagon:after{content:\\\"􏌀\\\"}.fad.fa-plus-octagon:after{content:\\\"􏌁\\\"}.fad.fa-plus-square:after{content:\\\"􏃾\\\"}.fad.fa-podcast:after{content:\\\"􏋎\\\"}.fad.fa-podium:after{content:\\\"􏚀\\\"}.fad.fa-podium-star:after{content:\\\"􏝘\\\"}.fad.fa-police-box:after{content:\\\"􏤡\\\"}.fad.fa-poll:after{content:\\\"􏚁\\\"}.fad.fa-poll-h:after{content:\\\"􏚂\\\"}.fad.fa-poll-people:after{content:\\\"􏝙\\\"}.fad.fa-poo:after{content:\\\"􏋾\\\"}.fad.fa-poo-storm:after{content:\\\"􏝚\\\"}.fad.fa-poop:after{content:\\\"􏘙\\\"}.fad.fa-popcorn:after{content:\\\"􏠙\\\"}.fad.fa-portal-enter:after{content:\\\"􏤢\\\"}.fad.fa-portal-exit:after{content:\\\"􏤣\\\"}.fad.fa-portrait:after{content:\\\"􏏠\\\"}.fad.fa-pound-sign:after{content:\\\"􏅔\\\"}.fad.fa-power-off:after{content:\\\"􏀑\\\"}.fad.fa-pray:after{content:\\\"􏚃\\\"}.fad.fa-praying-hands:after{content:\\\"􏚄\\\"}.fad.fa-prescription:after{content:\\\"􏖱\\\"}.fad.fa-prescription-bottle:after{content:\\\"􏒅\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"􏒆\\\"}.fad.fa-presentation:after{content:\\\"􏚅\\\"}.fad.fa-print:after{content:\\\"􏀯\\\"}.fad.fa-print-search:after{content:\\\"􏠚\\\"}.fad.fa-print-slash:after{content:\\\"􏚆\\\"}.fad.fa-procedures:after{content:\\\"􏒇\\\"}.fad.fa-project-diagram:after{content:\\\"􏕂\\\"}.fad.fa-projector:after{content:\\\"􏣖\\\"}.fad.fa-pump-medical:after{content:\\\"􏥪\\\"}.fad.fa-pump-soap:after{content:\\\"􏥫\\\"}.fad.fa-pumpkin:after{content:\\\"􏜇\\\"}.fad.fa-puzzle-piece:after{content:\\\"􏄮\\\"}.fad.fa-qrcode:after{content:\\\"􏀩\\\"}.fad.fa-question:after{content:\\\"􏄨\\\"}.fad.fa-question-circle:after{content:\\\"􏁙\\\"}.fad.fa-question-square:after{content:\\\"􏋽\\\"}.fad.fa-quidditch:after{content:\\\"􏑘\\\"}.fad.fa-quote-left:after{content:\\\"􏄍\\\"}.fad.fa-quote-right:after{content:\\\"􏄎\\\"}.fad.fa-quran:after{content:\\\"􏚇\\\"}.fad.fa-rabbit:after{content:\\\"􏜈\\\"}.fad.fa-rabbit-fast:after{content:\\\"􏜉\\\"}.fad.fa-racquet:after{content:\\\"􏑚\\\"}.fad.fa-radar:after{content:\\\"􏤤\\\"}.fad.fa-radiation:after{content:\\\"􏞹\\\"}.fad.fa-radiation-alt:after{content:\\\"􏞺\\\"}.fad.fa-radio:after{content:\\\"􏣗\\\"}.fad.fa-radio-alt:after{content:\\\"􏣘\\\"}.fad.fa-rainbow:after{content:\\\"􏝛\\\"}.fad.fa-raindrops:after{content:\\\"􏝜\\\"}.fad.fa-ram:after{content:\\\"􏜊\\\"}.fad.fa-ramp-loading:after{content:\\\"􏓔\\\"}.fad.fa-random:after{content:\\\"􏁴\\\"}.fad.fa-raygun:after{content:\\\"􏤥\\\"}.fad.fa-receipt:after{content:\\\"􏕃\\\"}.fad.fa-record-vinyl:after{content:\\\"􏣙\\\"}.fad.fa-rectangle-landscape:after{content:\\\"􏋺\\\"}.fad.fa-rectangle-portrait:after{content:\\\"􏋻\\\"}.fad.fa-rectangle-wide:after{content:\\\"􏋼\\\"}.fad.fa-recycle:after{content:\\\"􏆸\\\"}.fad.fa-redo:after{content:\\\"􏀞\\\"}.fad.fa-redo-alt:after{content:\\\"􏋹\\\"}.fad.fa-refrigerator:after{content:\\\"􏤦\\\"}.fad.fa-registered:after{content:\\\"􏉝\\\"}.fad.fa-remove-format:after{content:\\\"􏡽\\\"}.fad.fa-repeat:after{content:\\\"􏍣\\\"}.fad.fa-repeat-1:after{content:\\\"􏍥\\\"}.fad.fa-repeat-1-alt:after{content:\\\"􏍦\\\"}.fad.fa-repeat-alt:after{content:\\\"􏍤\\\"}.fad.fa-reply:after{content:\\\"􏏥\\\"}.fad.fa-reply-all:after{content:\\\"􏄢\\\"}.fad.fa-republican:after{content:\\\"􏝞\\\"}.fad.fa-restroom:after{content:\\\"􏞽\\\"}.fad.fa-retweet:after{content:\\\"􏁹\\\"}.fad.fa-retweet-alt:after{content:\\\"􏍡\\\"}.fad.fa-ribbon:after{content:\\\"􏓖\\\"}.fad.fa-ring:after{content:\\\"􏜋\\\"}.fad.fa-rings-wedding:after{content:\\\"􏠛\\\"}.fad.fa-road:after{content:\\\"􏀘\\\"}.fad.fa-robot:after{content:\\\"􏕄\\\"}.fad.fa-rocket:after{content:\\\"􏄵\\\"}.fad.fa-rocket-launch:after{content:\\\"􏤧\\\"}.fad.fa-route:after{content:\\\"􏓗\\\"}.fad.fa-route-highway:after{content:\\\"􏘚\\\"}.fad.fa-route-interstate:after{content:\\\"􏘛\\\"}.fad.fa-router:after{content:\\\"􏣚\\\"}.fad.fa-rss:after{content:\\\"􏂞\\\"}.fad.fa-rss-square:after{content:\\\"􏅃\\\"}.fad.fa-ruble-sign:after{content:\\\"􏅘\\\"}.fad.fa-ruler:after{content:\\\"􏕅\\\"}.fad.fa-ruler-combined:after{content:\\\"􏕆\\\"}.fad.fa-ruler-horizontal:after{content:\\\"􏕇\\\"}.fad.fa-ruler-triangle:after{content:\\\"􏘜\\\"}.fad.fa-ruler-vertical:after{content:\\\"􏕈\\\"}.fad.fa-running:after{content:\\\"􏜌\\\"}.fad.fa-rupee-sign:after{content:\\\"􏅖\\\"}.fad.fa-rv:after{content:\\\"􏞾\\\"}.fad.fa-sack:after{content:\\\"􏠜\\\"}.fad.fa-sack-dollar:after{content:\\\"􏠝\\\"}.fad.fa-sad-cry:after{content:\\\"􏖳\\\"}.fad.fa-sad-tear:after{content:\\\"􏖴\\\"}.fad.fa-salad:after{content:\\\"􏠞\\\"}.fad.fa-sandwich:after{content:\\\"􏠟\\\"}.fad.fa-satellite:after{content:\\\"􏞿\\\"}.fad.fa-satellite-dish:after{content:\\\"􏟀\\\"}.fad.fa-sausage:after{content:\\\"􏠠\\\"}.fad.fa-save:after{content:\\\"􏃇\\\"}.fad.fa-sax-hot:after{content:\\\"􏣛\\\"}.fad.fa-saxophone:after{content:\\\"􏣜\\\"}.fad.fa-scalpel:after{content:\\\"􏘝\\\"}.fad.fa-scalpel-path:after{content:\\\"􏘞\\\"}.fad.fa-scanner:after{content:\\\"􏒈\\\"}.fad.fa-scanner-image:after{content:\\\"􏣳\\\"}.fad.fa-scanner-keyboard:after{content:\\\"􏒉\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"􏒊\\\"}.fad.fa-scarecrow:after{content:\\\"􏜍\\\"}.fad.fa-scarf:after{content:\\\"􏟁\\\"}.fad.fa-school:after{content:\\\"􏕉\\\"}.fad.fa-screwdriver:after{content:\\\"􏕊\\\"}.fad.fa-scroll:after{content:\\\"􏜎\\\"}.fad.fa-scroll-old:after{content:\\\"􏜏\\\"}.fad.fa-scrubber:after{content:\\\"􏋸\\\"}.fad.fa-scythe:after{content:\\\"􏜐\\\"}.fad.fa-sd-card:after{content:\\\"􏟂\\\"}.fad.fa-search:after{content:\\\"􏀂\\\"}.fad.fa-search-dollar:after{content:\\\"􏚈\\\"}.fad.fa-search-location:after{content:\\\"􏚉\\\"}.fad.fa-search-minus:after{content:\\\"􏀐\\\"}.fad.fa-search-plus:after{content:\\\"􏀎\\\"}.fad.fa-seedling:after{content:\\\"􏓘\\\"}.fad.fa-send-back:after{content:\\\"􏡾\\\"}.fad.fa-send-backward:after{content:\\\"􏡿\\\"}.fad.fa-sensor:after{content:\\\"􏤨\\\"}.fad.fa-sensor-alert:after{content:\\\"􏤩\\\"}.fad.fa-sensor-fire:after{content:\\\"􏤪\\\"}.fad.fa-sensor-on:after{content:\\\"􏤫\\\"}.fad.fa-sensor-smoke:after{content:\\\"􏤬\\\"}.fad.fa-server:after{content:\\\"􏈳\\\"}.fad.fa-shapes:after{content:\\\"􏘟\\\"}.fad.fa-share:after{content:\\\"􏁤\\\"}.fad.fa-share-all:after{content:\\\"􏍧\\\"}.fad.fa-share-alt:after{content:\\\"􏇠\\\"}.fad.fa-share-alt-square:after{content:\\\"􏇡\\\"}.fad.fa-share-square:after{content:\\\"􏅍\\\"}.fad.fa-sheep:after{content:\\\"􏜑\\\"}.fad.fa-shekel-sign:after{content:\\\"􏈋\\\"}.fad.fa-shield:after{content:\\\"􏄲\\\"}.fad.fa-shield-alt:after{content:\\\"􏏭\\\"}.fad.fa-shield-check:after{content:\\\"􏋷\\\"}.fad.fa-shield-cross:after{content:\\\"􏜒\\\"}.fad.fa-shield-virus:after{content:\\\"􏥬\\\"}.fad.fa-ship:after{content:\\\"􏈚\\\"}.fad.fa-shipping-fast:after{content:\\\"􏒋\\\"}.fad.fa-shipping-timed:after{content:\\\"􏒌\\\"}.fad.fa-shish-kebab:after{content:\\\"􏠡\\\"}.fad.fa-shoe-prints:after{content:\\\"􏕋\\\"}.fad.fa-shopping-bag:after{content:\\\"􏊐\\\"}.fad.fa-shopping-basket:after{content:\\\"􏊑\\\"}.fad.fa-shopping-cart:after{content:\\\"􏁺\\\"}.fad.fa-shovel:after{content:\\\"􏜓\\\"}.fad.fa-shovel-snow:after{content:\\\"􏟃\\\"}.fad.fa-shower:after{content:\\\"􏋌\\\"}.fad.fa-shredder:after{content:\\\"􏚊\\\"}.fad.fa-shuttle-van:after{content:\\\"􏖶\\\"}.fad.fa-shuttlecock:after{content:\\\"􏑛\\\"}.fad.fa-sickle:after{content:\\\"􏠢\\\"}.fad.fa-sigma:after{content:\\\"􏚋\\\"}.fad.fa-sign:after{content:\\\"􏓙\\\"}.fad.fa-sign-in:after{content:\\\"􏂐\\\"}.fad.fa-sign-in-alt:after{content:\\\"􏋶\\\"}.fad.fa-sign-language:after{content:\\\"􏊧\\\"}.fad.fa-sign-out:after{content:\\\"􏂋\\\"}.fad.fa-sign-out-alt:after{content:\\\"􏋵\\\"}.fad.fa-signal:after{content:\\\"􏀒\\\"}.fad.fa-signal-1:after{content:\\\"􏚌\\\"}.fad.fa-signal-2:after{content:\\\"􏚍\\\"}.fad.fa-signal-3:after{content:\\\"􏚎\\\"}.fad.fa-signal-4:after{content:\\\"􏚏\\\"}.fad.fa-signal-alt:after{content:\\\"􏚐\\\"}.fad.fa-signal-alt-1:after{content:\\\"􏚑\\\"}.fad.fa-signal-alt-2:after{content:\\\"􏚒\\\"}.fad.fa-signal-alt-3:after{content:\\\"􏚓\\\"}.fad.fa-signal-alt-slash:after{content:\\\"􏚔\\\"}.fad.fa-signal-slash:after{content:\\\"􏚕\\\"}.fad.fa-signal-stream:after{content:\\\"􏣝\\\"}.fad.fa-signature:after{content:\\\"􏖷\\\"}.fad.fa-sim-card:after{content:\\\"􏟄\\\"}.fad.fa-sink:after{content:\\\"􏥭\\\"}.fad.fa-siren:after{content:\\\"􏤭\\\"}.fad.fa-siren-on:after{content:\\\"􏤮\\\"}.fad.fa-sitemap:after{content:\\\"􏃨\\\"}.fad.fa-skating:after{content:\\\"􏟅\\\"}.fad.fa-skeleton:after{content:\\\"􏘠\\\"}.fad.fa-ski-jump:after{content:\\\"􏟇\\\"}.fad.fa-ski-lift:after{content:\\\"􏟈\\\"}.fad.fa-skiing:after{content:\\\"􏟉\\\"}.fad.fa-skiing-nordic:after{content:\\\"􏟊\\\"}.fad.fa-skull:after{content:\\\"􏕌\\\"}.fad.fa-skull-cow:after{content:\\\"􏣞\\\"}.fad.fa-skull-crossbones:after{content:\\\"􏜔\\\"}.fad.fa-slash:after{content:\\\"􏜕\\\"}.fad.fa-sledding:after{content:\\\"􏟋\\\"}.fad.fa-sleigh:after{content:\\\"􏟌\\\"}.fad.fa-sliders-h:after{content:\\\"􏇞\\\"}.fad.fa-sliders-h-square:after{content:\\\"􏏰\\\"}.fad.fa-sliders-v:after{content:\\\"􏏱\\\"}.fad.fa-sliders-v-square:after{content:\\\"􏏲\\\"}.fad.fa-smile:after{content:\\\"􏄘\\\"}.fad.fa-smile-beam:after{content:\\\"􏖸\\\"}.fad.fa-smile-plus:after{content:\\\"􏖹\\\"}.fad.fa-smile-wink:after{content:\\\"􏓚\\\"}.fad.fa-smog:after{content:\\\"􏝟\\\"}.fad.fa-smoke:after{content:\\\"􏝠\\\"}.fad.fa-smoking:after{content:\\\"􏒍\\\"}.fad.fa-smoking-ban:after{content:\\\"􏕍\\\"}.fad.fa-sms:after{content:\\\"􏟍\\\"}.fad.fa-snake:after{content:\\\"􏜖\\\"}.fad.fa-snooze:after{content:\\\"􏢀\\\"}.fad.fa-snow-blowing:after{content:\\\"􏝡\\\"}.fad.fa-snowboarding:after{content:\\\"􏟎\\\"}.fad.fa-snowflake:after{content:\\\"􏋜\\\"}.fad.fa-snowflakes:after{content:\\\"􏟏\\\"}.fad.fa-snowman:after{content:\\\"􏟐\\\"}.fad.fa-snowmobile:after{content:\\\"􏟑\\\"}.fad.fa-snowplow:after{content:\\\"􏟒\\\"}.fad.fa-soap:after{content:\\\"􏥮\\\"}.fad.fa-socks:after{content:\\\"􏚖\\\"}.fad.fa-solar-panel:after{content:\\\"􏖺\\\"}.fad.fa-solar-system:after{content:\\\"􏤯\\\"}.fad.fa-sort:after{content:\\\"􏃜\\\"}.fad.fa-sort-alpha-down:after{content:\\\"􏅝\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"􏢁\\\"}.fad.fa-sort-alpha-up:after{content:\\\"􏅞\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"􏢂\\\"}.fad.fa-sort-alt:after{content:\\\"􏢃\\\"}.fad.fa-sort-amount-down:after{content:\\\"􏅠\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"􏢄\\\"}.fad.fa-sort-amount-up:after{content:\\\"􏅡\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"􏢅\\\"}.fad.fa-sort-circle:after{content:\\\"􏤰\\\"}.fad.fa-sort-circle-down:after{content:\\\"􏤱\\\"}.fad.fa-sort-circle-up:after{content:\\\"􏤲\\\"}.fad.fa-sort-down:after{content:\\\"􏃝\\\"}.fad.fa-sort-numeric-down:after{content:\\\"􏅢\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"􏢆\\\"}.fad.fa-sort-numeric-up:after{content:\\\"􏅣\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"􏢇\\\"}.fad.fa-sort-shapes-down:after{content:\\\"􏢈\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"􏢉\\\"}.fad.fa-sort-shapes-up:after{content:\\\"􏢊\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"􏢋\\\"}.fad.fa-sort-size-down:after{content:\\\"􏢌\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"􏢍\\\"}.fad.fa-sort-size-up:after{content:\\\"􏢎\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"􏢏\\\"}.fad.fa-sort-up:after{content:\\\"􏃞\\\"}.fad.fa-soup:after{content:\\\"􏠣\\\"}.fad.fa-spa:after{content:\\\"􏖻\\\"}.fad.fa-space-shuttle:after{content:\\\"􏆗\\\"}.fad.fa-space-station-moon:after{content:\\\"􏤳\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"􏤴\\\"}.fad.fa-spade:after{content:\\\"􏋴\\\"}.fad.fa-sparkles:after{content:\\\"􏢐\\\"}.fad.fa-speaker:after{content:\\\"􏣟\\\"}.fad.fa-speakers:after{content:\\\"􏣠\\\"}.fad.fa-spell-check:after{content:\\\"􏢑\\\"}.fad.fa-spider:after{content:\\\"􏜗\\\"}.fad.fa-spider-black-widow:after{content:\\\"􏜘\\\"}.fad.fa-spider-web:after{content:\\\"􏜙\\\"}.fad.fa-spinner:after{content:\\\"􏄐\\\"}.fad.fa-spinner-third:after{content:\\\"􏏴\\\"}.fad.fa-splotch:after{content:\\\"􏖼\\\"}.fad.fa-spray-can:after{content:\\\"􏖽\\\"}.fad.fa-sprinkler:after{content:\\\"􏤵\\\"}.fad.fa-square:after{content:\\\"􏃈\\\"}.fad.fa-square-full:after{content:\\\"􏑜\\\"}.fad.fa-square-root:after{content:\\\"􏚗\\\"}.fad.fa-square-root-alt:after{content:\\\"􏚘\\\"}.fad.fa-squirrel:after{content:\\\"􏜚\\\"}.fad.fa-staff:after{content:\\\"􏜛\\\"}.fad.fa-stamp:after{content:\\\"􏖿\\\"}.fad.fa-star:after{content:\\\"􏀅\\\"}.fad.fa-star-and-crescent:after{content:\\\"􏚙\\\"}.fad.fa-star-christmas:after{content:\\\"􏟔\\\"}.fad.fa-star-exclamation:after{content:\\\"􏋳\\\"}.fad.fa-star-half:after{content:\\\"􏂉\\\"}.fad.fa-star-half-alt:after{content:\\\"􏗀\\\"}.fad.fa-star-of-david:after{content:\\\"􏚚\\\"}.fad.fa-star-of-life:after{content:\\\"􏘡\\\"}.fad.fa-star-shooting:after{content:\\\"􏤶\\\"}.fad.fa-starfighter:after{content:\\\"􏤷\\\"}.fad.fa-starfighter-alt:after{content:\\\"􏤸\\\"}.fad.fa-stars:after{content:\\\"􏝢\\\"}.fad.fa-starship:after{content:\\\"􏤹\\\"}.fad.fa-starship-freighter:after{content:\\\"􏤺\\\"}.fad.fa-steak:after{content:\\\"􏠤\\\"}.fad.fa-steering-wheel:after{content:\\\"􏘢\\\"}.fad.fa-step-backward:after{content:\\\"􏁈\\\"}.fad.fa-step-forward:after{content:\\\"􏁑\\\"}.fad.fa-stethoscope:after{content:\\\"􏃱\\\"}.fad.fa-sticky-note:after{content:\\\"􏉉\\\"}.fad.fa-stocking:after{content:\\\"􏟕\\\"}.fad.fa-stomach:after{content:\\\"􏘣\\\"}.fad.fa-stop:after{content:\\\"􏁍\\\"}.fad.fa-stop-circle:after{content:\\\"􏊍\\\"}.fad.fa-stopwatch:after{content:\\\"􏋲\\\"}.fad.fa-stopwatch-20:after{content:\\\"􏥯\\\"}.fad.fa-store:after{content:\\\"􏕎\\\"}.fad.fa-store-alt:after{content:\\\"􏕏\\\"}.fad.fa-store-alt-slash:after{content:\\\"􏥰\\\"}.fad.fa-store-slash:after{content:\\\"􏥱\\\"}.fad.fa-stream:after{content:\\\"􏕐\\\"}.fad.fa-street-view:after{content:\\\"􏈝\\\"}.fad.fa-stretcher:after{content:\\\"􏠥\\\"}.fad.fa-strikethrough:after{content:\\\"􏃌\\\"}.fad.fa-stroopwafel:after{content:\\\"􏕑\\\"}.fad.fa-subscript:after{content:\\\"􏄬\\\"}.fad.fa-subway:after{content:\\\"􏈹\\\"}.fad.fa-suitcase:after{content:\\\"􏃲\\\"}.fad.fa-suitcase-rolling:after{content:\\\"􏗁\\\"}.fad.fa-sun:after{content:\\\"􏆅\\\"}.fad.fa-sun-cloud:after{content:\\\"􏝣\\\"}.fad.fa-sun-dust:after{content:\\\"􏝤\\\"}.fad.fa-sun-haze:after{content:\\\"􏝥\\\"}.fad.fa-sunglasses:after{content:\\\"􏢒\\\"}.fad.fa-sunrise:after{content:\\\"􏝦\\\"}.fad.fa-sunset:after{content:\\\"􏝧\\\"}.fad.fa-superscript:after{content:\\\"􏄫\\\"}.fad.fa-surprise:after{content:\\\"􏗂\\\"}.fad.fa-swatchbook:after{content:\\\"􏗃\\\"}.fad.fa-swimmer:after{content:\\\"􏗄\\\"}.fad.fa-swimming-pool:after{content:\\\"􏗅\\\"}.fad.fa-sword:after{content:\\\"􏜜\\\"}.fad.fa-sword-laser:after{content:\\\"􏤻\\\"}.fad.fa-sword-laser-alt:after{content:\\\"􏤼\\\"}.fad.fa-swords:after{content:\\\"􏜝\\\"}.fad.fa-swords-laser:after{content:\\\"􏤽\\\"}.fad.fa-synagogue:after{content:\\\"􏚛\\\"}.fad.fa-sync:after{content:\\\"􏀡\\\"}.fad.fa-sync-alt:after{content:\\\"􏋱\\\"}.fad.fa-syringe:after{content:\\\"􏒎\\\"}.fad.fa-table:after{content:\\\"􏃎\\\"}.fad.fa-table-tennis:after{content:\\\"􏑝\\\"}.fad.fa-tablet:after{content:\\\"􏄊\\\"}.fad.fa-tablet-alt:after{content:\\\"􏏺\\\"}.fad.fa-tablet-android:after{content:\\\"􏏻\\\"}.fad.fa-tablet-android-alt:after{content:\\\"􏏼\\\"}.fad.fa-tablet-rugged:after{content:\\\"􏒏\\\"}.fad.fa-tablets:after{content:\\\"􏒐\\\"}.fad.fa-tachometer:after{content:\\\"􏃤\\\"}.fad.fa-tachometer-alt:after{content:\\\"􏏽\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"􏘤\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"􏘥\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"􏘦\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"􏘧\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"􏘨\\\"}.fad.fa-tachometer-average:after{content:\\\"􏘩\\\"}.fad.fa-tachometer-fast:after{content:\\\"􏘪\\\"}.fad.fa-tachometer-fastest:after{content:\\\"􏘫\\\"}.fad.fa-tachometer-slow:after{content:\\\"􏘬\\\"}.fad.fa-tachometer-slowest:after{content:\\\"􏘭\\\"}.fad.fa-taco:after{content:\\\"􏠦\\\"}.fad.fa-tag:after{content:\\\"􏀫\\\"}.fad.fa-tags:after{content:\\\"􏀬\\\"}.fad.fa-tally:after{content:\\\"􏚜\\\"}.fad.fa-tanakh:after{content:\\\"􏠧\\\"}.fad.fa-tape:after{content:\\\"􏓛\\\"}.fad.fa-tasks:after{content:\\\"􏂮\\\"}.fad.fa-tasks-alt:after{content:\\\"􏠨\\\"}.fad.fa-taxi:after{content:\\\"􏆺\\\"}.fad.fa-teeth:after{content:\\\"􏘮\\\"}.fad.fa-teeth-open:after{content:\\\"􏘯\\\"}.fad.fa-telescope:after{content:\\\"􏤾\\\"}.fad.fa-temperature-down:after{content:\\\"􏤿\\\"}.fad.fa-temperature-frigid:after{content:\\\"􏝨\\\"}.fad.fa-temperature-high:after{content:\\\"􏝩\\\"}.fad.fa-temperature-hot:after{content:\\\"􏝪\\\"}.fad.fa-temperature-low:after{content:\\\"􏝫\\\"}.fad.fa-temperature-up:after{content:\\\"􏥀\\\"}.fad.fa-tenge:after{content:\\\"􏟗\\\"}.fad.fa-tennis-ball:after{content:\\\"􏑞\\\"}.fad.fa-terminal:after{content:\\\"􏄠\\\"}.fad.fa-text:after{content:\\\"􏢓\\\"}.fad.fa-text-height:after{content:\\\"􏀴\\\"}.fad.fa-text-size:after{content:\\\"􏢔\\\"}.fad.fa-text-width:after{content:\\\"􏀵\\\"}.fad.fa-th:after{content:\\\"􏀊\\\"}.fad.fa-th-large:after{content:\\\"􏀉\\\"}.fad.fa-th-list:after{content:\\\"􏀋\\\"}.fad.fa-theater-masks:after{content:\\\"􏘰\\\"}.fad.fa-thermometer:after{content:\\\"􏒑\\\"}.fad.fa-thermometer-empty:after{content:\\\"􏋋\\\"}.fad.fa-thermometer-full:after{content:\\\"􏋇\\\"}.fad.fa-thermometer-half:after{content:\\\"􏋉\\\"}.fad.fa-thermometer-quarter:after{content:\\\"􏋊\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"􏋈\\\"}.fad.fa-theta:after{content:\\\"􏚞\\\"}.fad.fa-thumbs-down:after{content:\\\"􏅥\\\"}.fad.fa-thumbs-up:after{content:\\\"􏅤\\\"}.fad.fa-thumbtack:after{content:\\\"􏂍\\\"}.fad.fa-thunderstorm:after{content:\\\"􏝬\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"􏝭\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"􏝮\\\"}.fad.fa-ticket:after{content:\\\"􏅅\\\"}.fad.fa-ticket-alt:after{content:\\\"􏏿\\\"}.fad.fa-tilde:after{content:\\\"􏚟\\\"}.fad.fa-times:after{content:\\\"􏀍\\\"}.fad.fa-times-circle:after{content:\\\"􏁗\\\"}.fad.fa-times-hexagon:after{content:\\\"􏋮\\\"}.fad.fa-times-octagon:after{content:\\\"􏋰\\\"}.fad.fa-times-square:after{content:\\\"􏋓\\\"}.fad.fa-tint:after{content:\\\"􏁃\\\"}.fad.fa-tint-slash:after{content:\\\"􏗇\\\"}.fad.fa-tire:after{content:\\\"􏘱\\\"}.fad.fa-tire-flat:after{content:\\\"􏘲\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"􏘳\\\"}.fad.fa-tire-rugged:after{content:\\\"􏘴\\\"}.fad.fa-tired:after{content:\\\"􏗈\\\"}.fad.fa-toggle-off:after{content:\\\"􏈄\\\"}.fad.fa-toggle-on:after{content:\\\"􏈅\\\"}.fad.fa-toilet:after{content:\\\"􏟘\\\"}.fad.fa-toilet-paper:after{content:\\\"􏜞\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"􏜟\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"􏥲\\\"}.fad.fa-tombstone:after{content:\\\"􏜠\\\"}.fad.fa-tombstone-alt:after{content:\\\"􏜡\\\"}.fad.fa-toolbox:after{content:\\\"􏕒\\\"}.fad.fa-tools:after{content:\\\"􏟙\\\"}.fad.fa-tooth:after{content:\\\"􏗉\\\"}.fad.fa-toothbrush:after{content:\\\"􏘵\\\"}.fad.fa-torah:after{content:\\\"􏚠\\\"}.fad.fa-torii-gate:after{content:\\\"􏚡\\\"}.fad.fa-tornado:after{content:\\\"􏝯\\\"}.fad.fa-tractor:after{content:\\\"􏜢\\\"}.fad.fa-trademark:after{content:\\\"􏉜\\\"}.fad.fa-traffic-cone:after{content:\\\"􏘶\\\"}.fad.fa-traffic-light:after{content:\\\"􏘷\\\"}.fad.fa-traffic-light-go:after{content:\\\"􏘸\\\"}.fad.fa-traffic-light-slow:after{content:\\\"􏘹\\\"}.fad.fa-traffic-light-stop:after{content:\\\"􏘺\\\"}.fad.fa-trailer:after{content:\\\"􏥁\\\"}.fad.fa-train:after{content:\\\"􏈸\\\"}.fad.fa-tram:after{content:\\\"􏟚\\\"}.fad.fa-transgender:after{content:\\\"􏈤\\\"}.fad.fa-transgender-alt:after{content:\\\"􏈥\\\"}.fad.fa-transporter:after{content:\\\"􏥂\\\"}.fad.fa-transporter-1:after{content:\\\"􏥃\\\"}.fad.fa-transporter-2:after{content:\\\"􏥄\\\"}.fad.fa-transporter-3:after{content:\\\"􏥅\\\"}.fad.fa-transporter-empty:after{content:\\\"􏥆\\\"}.fad.fa-trash:after{content:\\\"􏇸\\\"}.fad.fa-trash-alt:after{content:\\\"􏋭\\\"}.fad.fa-trash-restore:after{content:\\\"􏠩\\\"}.fad.fa-trash-restore-alt:after{content:\\\"􏠪\\\"}.fad.fa-trash-undo:after{content:\\\"􏢕\\\"}.fad.fa-trash-undo-alt:after{content:\\\"􏢖\\\"}.fad.fa-treasure-chest:after{content:\\\"􏜣\\\"}.fad.fa-tree:after{content:\\\"􏆻\\\"}.fad.fa-tree-alt:after{content:\\\"􏐀\\\"}.fad.fa-tree-christmas:after{content:\\\"􏟛\\\"}.fad.fa-tree-decorated:after{content:\\\"􏟜\\\"}.fad.fa-tree-large:after{content:\\\"􏟝\\\"}.fad.fa-tree-palm:after{content:\\\"􏠫\\\"}.fad.fa-trees:after{content:\\\"􏜤\\\"}.fad.fa-triangle:after{content:\\\"􏋬\\\"}.fad.fa-triangle-music:after{content:\\\"􏣢\\\"}.fad.fa-trophy:after{content:\\\"􏂑\\\"}.fad.fa-trophy-alt:after{content:\\\"􏋫\\\"}.fad.fa-truck:after{content:\\\"􏃑\\\"}.fad.fa-truck-container:after{content:\\\"􏓜\\\"}.fad.fa-truck-couch:after{content:\\\"􏓝\\\"}.fad.fa-truck-loading:after{content:\\\"􏓞\\\"}.fad.fa-truck-monster:after{content:\\\"􏘻\\\"}.fad.fa-truck-moving:after{content:\\\"􏓟\\\"}.fad.fa-truck-pickup:after{content:\\\"􏘼\\\"}.fad.fa-truck-plow:after{content:\\\"􏟞\\\"}.fad.fa-truck-ramp:after{content:\\\"􏓠\\\"}.fad.fa-trumpet:after{content:\\\"􏣣\\\"}.fad.fa-tshirt:after{content:\\\"􏕓\\\"}.fad.fa-tty:after{content:\\\"􏇤\\\"}.fad.fa-turkey:after{content:\\\"􏜥\\\"}.fad.fa-turntable:after{content:\\\"􏣤\\\"}.fad.fa-turtle:after{content:\\\"􏜦\\\"}.fad.fa-tv:after{content:\\\"􏉬\\\"}.fad.fa-tv-alt:after{content:\\\"􏣥\\\"}.fad.fa-tv-music:after{content:\\\"􏣦\\\"}.fad.fa-tv-retro:after{content:\\\"􏐁\\\"}.fad.fa-typewriter:after{content:\\\"􏣧\\\"}.fad.fa-ufo:after{content:\\\"􏥇\\\"}.fad.fa-ufo-beam:after{content:\\\"􏥈\\\"}.fad.fa-umbrella:after{content:\\\"􏃩\\\"}.fad.fa-umbrella-beach:after{content:\\\"􏗊\\\"}.fad.fa-underline:after{content:\\\"􏃍\\\"}.fad.fa-undo:after{content:\\\"􏃢\\\"}.fad.fa-undo-alt:after{content:\\\"􏋪\\\"}.fad.fa-unicorn:after{content:\\\"􏜧\\\"}.fad.fa-union:after{content:\\\"􏚢\\\"}.fad.fa-universal-access:after{content:\\\"􏊚\\\"}.fad.fa-university:after{content:\\\"􏆜\\\"}.fad.fa-unlink:after{content:\\\"􏄧\\\"}.fad.fa-unlock:after{content:\\\"􏂜\\\"}.fad.fa-unlock-alt:after{content:\\\"􏄾\\\"}.fad.fa-upload:after{content:\\\"􏂓\\\"}.fad.fa-usb-drive:after{content:\\\"􏣩\\\"}.fad.fa-usd-circle:after{content:\\\"􏋨\\\"}.fad.fa-usd-square:after{content:\\\"􏋩\\\"}.fad.fa-user:after{content:\\\"􏀇\\\"}.fad.fa-user-alien:after{content:\\\"􏥊\\\"}.fad.fa-user-alt:after{content:\\\"􏐆\\\"}.fad.fa-user-alt-slash:after{content:\\\"􏓺\\\"}.fad.fa-user-astronaut:after{content:\\\"􏓻\\\"}.fad.fa-user-chart:after{content:\\\"􏚣\\\"}.fad.fa-user-check:after{content:\\\"􏓼\\\"}.fad.fa-user-circle:after{content:\\\"􏊽\\\"}.fad.fa-user-clock:after{content:\\\"􏓽\\\"}.fad.fa-user-cog:after{content:\\\"􏓾\\\"}.fad.fa-user-cowboy:after{content:\\\"􏣪\\\"}.fad.fa-user-crown:after{content:\\\"􏚤\\\"}.fad.fa-user-edit:after{content:\\\"􏓿\\\"}.fad.fa-user-friends:after{content:\\\"􏔀\\\"}.fad.fa-user-graduate:after{content:\\\"􏔁\\\"}.fad.fa-user-hard-hat:after{content:\\\"􏠬\\\"}.fad.fa-user-headset:after{content:\\\"􏠭\\\"}.fad.fa-user-injured:after{content:\\\"􏜨\\\"}.fad.fa-user-lock:after{content:\\\"􏔂\\\"}.fad.fa-user-md:after{content:\\\"􏃰\\\"}.fad.fa-user-md-chat:after{content:\\\"􏠮\\\"}.fad.fa-user-minus:after{content:\\\"􏔃\\\"}.fad.fa-user-music:after{content:\\\"􏣫\\\"}.fad.fa-user-ninja:after{content:\\\"􏔄\\\"}.fad.fa-user-nurse:after{content:\\\"􏠯\\\"}.fad.fa-user-plus:after{content:\\\"􏈴\\\"}.fad.fa-user-robot:after{content:\\\"􏥋\\\"}.fad.fa-user-secret:after{content:\\\"􏈛\\\"}.fad.fa-user-shield:after{content:\\\"􏔅\\\"}.fad.fa-user-slash:after{content:\\\"􏔆\\\"}.fad.fa-user-tag:after{content:\\\"􏔇\\\"}.fad.fa-user-tie:after{content:\\\"􏔈\\\"}.fad.fa-user-times:after{content:\\\"􏈵\\\"}.fad.fa-user-unlock:after{content:\\\"􏥘\\\"}.fad.fa-user-visor:after{content:\\\"􏥌\\\"}.fad.fa-users:after{content:\\\"􏃀\\\"}.fad.fa-users-class:after{content:\\\"􏘽\\\"}.fad.fa-users-cog:after{content:\\\"􏔉\\\"}.fad.fa-users-crown:after{content:\\\"􏚥\\\"}.fad.fa-users-medical:after{content:\\\"􏠰\\\"}.fad.fa-users-slash:after{content:\\\"􏥳\\\"}.fad.fa-utensil-fork:after{content:\\\"􏋣\\\"}.fad.fa-utensil-knife:after{content:\\\"􏋤\\\"}.fad.fa-utensil-spoon:after{content:\\\"􏋥\\\"}.fad.fa-utensils:after{content:\\\"􏋧\\\"}.fad.fa-utensils-alt:after{content:\\\"􏋦\\\"}.fad.fa-vacuum:after{content:\\\"􏥍\\\"}.fad.fa-vacuum-robot:after{content:\\\"􏥎\\\"}.fad.fa-value-absolute:after{content:\\\"􏚦\\\"}.fad.fa-vector-square:after{content:\\\"􏗋\\\"}.fad.fa-venus:after{content:\\\"􏈡\\\"}.fad.fa-venus-double:after{content:\\\"􏈦\\\"}.fad.fa-venus-mars:after{content:\\\"􏈨\\\"}.fad.fa-vhs:after{content:\\\"􏣬\\\"}.fad.fa-vial:after{content:\\\"􏒒\\\"}.fad.fa-vials:after{content:\\\"􏒓\\\"}.fad.fa-video:after{content:\\\"􏀽\\\"}.fad.fa-video-plus:after{content:\\\"􏓡\\\"}.fad.fa-video-slash:after{content:\\\"􏓢\\\"}.fad.fa-vihara:after{content:\\\"􏚧\\\"}.fad.fa-violin:after{content:\\\"􏣭\\\"}.fad.fa-virus:after{content:\\\"􏥴\\\"}.fad.fa-virus-slash:after{content:\\\"􏥵\\\"}.fad.fa-viruses:after{content:\\\"􏥶\\\"}.fad.fa-voicemail:after{content:\\\"􏢗\\\"}.fad.fa-volcano:after{content:\\\"􏝰\\\"}.fad.fa-volleyball-ball:after{content:\\\"􏑟\\\"}.fad.fa-volume:after{content:\\\"􏚨\\\"}.fad.fa-volume-down:after{content:\\\"􏀧\\\"}.fad.fa-volume-mute:after{content:\\\"􏚩\\\"}.fad.fa-volume-off:after{content:\\\"􏀦\\\"}.fad.fa-volume-slash:after{content:\\\"􏋢\\\"}.fad.fa-volume-up:after{content:\\\"􏀨\\\"}.fad.fa-vote-nay:after{content:\\\"􏝱\\\"}.fad.fa-vote-yea:after{content:\\\"􏝲\\\"}.fad.fa-vr-cardboard:after{content:\\\"􏜩\\\"}.fad.fa-wagon-covered:after{content:\\\"􏣮\\\"}.fad.fa-walker:after{content:\\\"􏠱\\\"}.fad.fa-walkie-talkie:after{content:\\\"􏣯\\\"}.fad.fa-walking:after{content:\\\"􏕔\\\"}.fad.fa-wallet:after{content:\\\"􏕕\\\"}.fad.fa-wand:after{content:\\\"􏜪\\\"}.fad.fa-wand-magic:after{content:\\\"􏜫\\\"}.fad.fa-warehouse:after{content:\\\"􏒔\\\"}.fad.fa-warehouse-alt:after{content:\\\"􏒕\\\"}.fad.fa-washer:after{content:\\\"􏢘\\\"}.fad.fa-watch:after{content:\\\"􏋡\\\"}.fad.fa-watch-calculator:after{content:\\\"􏣰\\\"}.fad.fa-watch-fitness:after{content:\\\"􏘾\\\"}.fad.fa-water:after{content:\\\"􏝳\\\"}.fad.fa-water-lower:after{content:\\\"􏝴\\\"}.fad.fa-water-rise:after{content:\\\"􏝵\\\"}.fad.fa-wave-sine:after{content:\\\"􏢙\\\"}.fad.fa-wave-square:after{content:\\\"􏠾\\\"}.fad.fa-wave-triangle:after{content:\\\"􏢚\\\"}.fad.fa-waveform:after{content:\\\"􏣱\\\"}.fad.fa-waveform-path:after{content:\\\"􏣲\\\"}.fad.fa-webcam:after{content:\\\"􏠲\\\"}.fad.fa-webcam-slash:after{content:\\\"􏠳\\\"}.fad.fa-weight:after{content:\\\"􏒖\\\"}.fad.fa-weight-hanging:after{content:\\\"􏗍\\\"}.fad.fa-whale:after{content:\\\"􏜬\\\"}.fad.fa-wheat:after{content:\\\"􏜭\\\"}.fad.fa-wheelchair:after{content:\\\"􏆓\\\"}.fad.fa-whistle:after{content:\\\"􏑠\\\"}.fad.fa-wifi:after{content:\\\"􏇫\\\"}.fad.fa-wifi-1:after{content:\\\"􏚪\\\"}.fad.fa-wifi-2:after{content:\\\"􏚫\\\"}.fad.fa-wifi-slash:after{content:\\\"􏚬\\\"}.fad.fa-wind:after{content:\\\"􏜮\\\"}.fad.fa-wind-turbine:after{content:\\\"􏢛\\\"}.fad.fa-wind-warning:after{content:\\\"􏝶\\\"}.fad.fa-window:after{content:\\\"􏐎\\\"}.fad.fa-window-alt:after{content:\\\"􏐏\\\"}.fad.fa-window-close:after{content:\\\"􏐐\\\"}.fad.fa-window-frame:after{content:\\\"􏥏\\\"}.fad.fa-window-frame-open:after{content:\\\"􏥐\\\"}.fad.fa-window-maximize:after{content:\\\"􏋐\\\"}.fad.fa-window-minimize:after{content:\\\"􏋑\\\"}.fad.fa-window-restore:after{content:\\\"􏋒\\\"}.fad.fa-windsock:after{content:\\\"􏝷\\\"}.fad.fa-wine-bottle:after{content:\\\"􏜯\\\"}.fad.fa-wine-glass:after{content:\\\"􏓣\\\"}.fad.fa-wine-glass-alt:after{content:\\\"􏗎\\\"}.fad.fa-won-sign:after{content:\\\"􏅙\\\"}.fad.fa-wreath:after{content:\\\"􏟢\\\"}.fad.fa-wrench:after{content:\\\"􏂭\\\"}.fad.fa-x-ray:after{content:\\\"􏒗\\\"}.fad.fa-yen-sign:after{content:\\\"􏅗\\\"}.fad.fa-yin-yang:after{content:\\\"􏚭\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \") format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}ka-flex-row,ka-flex-col{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:1rem;padding-right:1rem}ka-flex-row{-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}ka-flex-col{-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-content:flex-start;-moz-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start}[ka-flex],ka-flex-row>ka-flex-col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}ka-flex-row>ka-flex-col,ka-flex-col>ka-flex-row{padding:0}ka-flex-row>ka-flex-col>ka-flex-row{width:100%}ka-flex-row>[ka-flex],ka-flex-row>ka-flex-col{margin-left:.5rem;margin-right:.5rem}ka-flex-row>[ka-flex]:first-of-type,ka-flex-row>ka-flex-col:first-of-type{margin-left:0}ka-flex-row>[ka-flex]:last-of-type,ka-flex-row>ka-flex-col:last-of-type{margin-right:0}ka-flex-row.no-padding>[ka-flex],ka-flex-row.no-padding>ka-flex-col{margin-left:0;margin-right:0}ka-flex-row.no-padding,ka-flex-col.no-padding{padding:0}ka-flex-row>ka-tabs[ka-flex]{margin-left:0;margin-right:0}ka-flex-row>ka-control:first-of-type{margin-left:0}ka-flex-row>ka-control:last-of-type{margin-right:0}ka-flex-col>ka-control{margin-left:0;margin-right:0}@media(min-width: 0){[ka-flex*=\\\"10\\\"],[ka-flex*=\\\"10-xs\\\"],ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"],ka-flex-row>[ka-flex*=\\\"10\\\"],ka-flex-row>[ka-flex*=\\\"10-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"10-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10-xs\\\"]{width:10%}ka-flex-row.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"15-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xs\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15\\\"],[ka-flex*=\\\"15-xs\\\"],ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"],ka-flex-row>[ka-flex*=\\\"15\\\"],ka-flex-row>[ka-flex*=\\\"15-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"20-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xs\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20\\\"],[ka-flex*=\\\"20-xs\\\"],ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"],ka-flex-row>[ka-flex*=\\\"20\\\"],ka-flex-row>[ka-flex*=\\\"20-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"25-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xs\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25\\\"],[ka-flex*=\\\"25-xs\\\"],ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"],ka-flex-row>[ka-flex*=\\\"25\\\"],ka-flex-row>[ka-flex*=\\\"25-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"30-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xs\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30\\\"],[ka-flex*=\\\"30-xs\\\"],ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"],ka-flex-row>[ka-flex*=\\\"30\\\"],ka-flex-row>[ka-flex*=\\\"30-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"33-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xs\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33\\\"],[ka-flex*=\\\"33-xs\\\"],ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"],ka-flex-row>[ka-flex*=\\\"33\\\"],ka-flex-row>[ka-flex*=\\\"33-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"35-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xs\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35\\\"],[ka-flex*=\\\"35-xs\\\"],ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"],ka-flex-row>[ka-flex*=\\\"35\\\"],ka-flex-row>[ka-flex*=\\\"35-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"40-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xs\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40\\\"],[ka-flex*=\\\"40-xs\\\"],ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"],ka-flex-row>[ka-flex*=\\\"40\\\"],ka-flex-row>[ka-flex*=\\\"40-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"45-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xs\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45\\\"],[ka-flex*=\\\"45-xs\\\"],ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"],ka-flex-row>[ka-flex*=\\\"45\\\"],ka-flex-row>[ka-flex*=\\\"45-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"50-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xs\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50\\\"],[ka-flex*=\\\"50-xs\\\"],ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"],ka-flex-row>[ka-flex*=\\\"50\\\"],ka-flex-row>[ka-flex*=\\\"50-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"55-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xs\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55\\\"],[ka-flex*=\\\"55-xs\\\"],ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"],ka-flex-row>[ka-flex*=\\\"55\\\"],ka-flex-row>[ka-flex*=\\\"55-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"60-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xs\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60\\\"],[ka-flex*=\\\"60-xs\\\"],ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"],ka-flex-row>[ka-flex*=\\\"60\\\"],ka-flex-row>[ka-flex*=\\\"60-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"65-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xs\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65\\\"],[ka-flex*=\\\"65-xs\\\"],ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"],ka-flex-row>[ka-flex*=\\\"65\\\"],ka-flex-row>[ka-flex*=\\\"65-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"66-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xs\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66\\\"],[ka-flex*=\\\"66-xs\\\"],ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"],ka-flex-row>[ka-flex*=\\\"66\\\"],ka-flex-row>[ka-flex*=\\\"66-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"70-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xs\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70\\\"],[ka-flex*=\\\"70-xs\\\"],ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"],ka-flex-row>[ka-flex*=\\\"70\\\"],ka-flex-row>[ka-flex*=\\\"70-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"75-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xs\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75\\\"],[ka-flex*=\\\"75-xs\\\"],ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"],ka-flex-row>[ka-flex*=\\\"75\\\"],ka-flex-row>[ka-flex*=\\\"75-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"80-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xs\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80\\\"],[ka-flex*=\\\"80-xs\\\"],ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"],ka-flex-row>[ka-flex*=\\\"80\\\"],ka-flex-row>[ka-flex*=\\\"80-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"85-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xs\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85\\\"],[ka-flex*=\\\"85-xs\\\"],ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"],ka-flex-row>[ka-flex*=\\\"85\\\"],ka-flex-row>[ka-flex*=\\\"85-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"90-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xs\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90\\\"],[ka-flex*=\\\"90-xs\\\"],ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"],ka-flex-row>[ka-flex*=\\\"90\\\"],ka-flex-row>[ka-flex*=\\\"90-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"95-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xs\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95\\\"],[ka-flex*=\\\"95-xs\\\"],ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"],ka-flex-row>[ka-flex*=\\\"95\\\"],ka-flex-row>[ka-flex*=\\\"95-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"100-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xs\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100\\\"],[ka-flex*=\\\"100-xs\\\"],ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"],ka-flex-row>[ka-flex*=\\\"100\\\"],ka-flex-row>[ka-flex*=\\\"100-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 34em){[ka-flex*=\\\"10-sm\\\"],ka-flex-col>[ka-flex*=\\\"10-sm\\\"],ka-flex-row>[ka-flex*=\\\"10-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-sm\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-sm\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-sm\\\"],ka-flex-col>[ka-flex*=\\\"15-sm\\\"],ka-flex-row>[ka-flex*=\\\"15-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-sm\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-sm\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-sm\\\"],ka-flex-col>[ka-flex*=\\\"20-sm\\\"],ka-flex-row>[ka-flex*=\\\"20-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-sm\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-sm\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-sm\\\"],ka-flex-col>[ka-flex*=\\\"25-sm\\\"],ka-flex-row>[ka-flex*=\\\"25-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-sm\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-sm\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-sm\\\"],ka-flex-col>[ka-flex*=\\\"30-sm\\\"],ka-flex-row>[ka-flex*=\\\"30-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-sm\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-sm\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-sm\\\"],ka-flex-col>[ka-flex*=\\\"33-sm\\\"],ka-flex-row>[ka-flex*=\\\"33-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-sm\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-sm\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-sm\\\"],ka-flex-col>[ka-flex*=\\\"35-sm\\\"],ka-flex-row>[ka-flex*=\\\"35-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-sm\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-sm\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-sm\\\"],ka-flex-col>[ka-flex*=\\\"40-sm\\\"],ka-flex-row>[ka-flex*=\\\"40-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-sm\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-sm\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-sm\\\"],ka-flex-col>[ka-flex*=\\\"45-sm\\\"],ka-flex-row>[ka-flex*=\\\"45-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-sm\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-sm\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-sm\\\"],ka-flex-col>[ka-flex*=\\\"50-sm\\\"],ka-flex-row>[ka-flex*=\\\"50-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-sm\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-sm\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-sm\\\"],ka-flex-col>[ka-flex*=\\\"55-sm\\\"],ka-flex-row>[ka-flex*=\\\"55-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-sm\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-sm\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-sm\\\"],ka-flex-col>[ka-flex*=\\\"60-sm\\\"],ka-flex-row>[ka-flex*=\\\"60-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-sm\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-sm\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-sm\\\"],ka-flex-col>[ka-flex*=\\\"65-sm\\\"],ka-flex-row>[ka-flex*=\\\"65-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-sm\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-sm\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-sm\\\"],ka-flex-col>[ka-flex*=\\\"66-sm\\\"],ka-flex-row>[ka-flex*=\\\"66-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-sm\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-sm\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-sm\\\"],ka-flex-col>[ka-flex*=\\\"70-sm\\\"],ka-flex-row>[ka-flex*=\\\"70-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-sm\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-sm\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-sm\\\"],ka-flex-col>[ka-flex*=\\\"75-sm\\\"],ka-flex-row>[ka-flex*=\\\"75-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-sm\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-sm\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-sm\\\"],ka-flex-col>[ka-flex*=\\\"80-sm\\\"],ka-flex-row>[ka-flex*=\\\"80-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-sm\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-sm\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-sm\\\"],ka-flex-col>[ka-flex*=\\\"85-sm\\\"],ka-flex-row>[ka-flex*=\\\"85-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-sm\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-sm\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-sm\\\"],ka-flex-col>[ka-flex*=\\\"90-sm\\\"],ka-flex-row>[ka-flex*=\\\"90-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-sm\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-sm\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-sm\\\"],ka-flex-col>[ka-flex*=\\\"95-sm\\\"],ka-flex-row>[ka-flex*=\\\"95-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-sm\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-sm\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-sm\\\"],ka-flex-col>[ka-flex*=\\\"100-sm\\\"],ka-flex-row>[ka-flex*=\\\"100-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-sm\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 48em){[ka-flex*=\\\"10-md\\\"],ka-flex-col>[ka-flex*=\\\"10-md\\\"],ka-flex-row>[ka-flex*=\\\"10-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-md\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-md\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-md\\\"],ka-flex-col>[ka-flex*=\\\"15-md\\\"],ka-flex-row>[ka-flex*=\\\"15-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-md\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-md\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-md\\\"],ka-flex-col>[ka-flex*=\\\"20-md\\\"],ka-flex-row>[ka-flex*=\\\"20-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-md\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-md\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-md\\\"],ka-flex-col>[ka-flex*=\\\"25-md\\\"],ka-flex-row>[ka-flex*=\\\"25-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-md\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-md\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-md\\\"],ka-flex-col>[ka-flex*=\\\"30-md\\\"],ka-flex-row>[ka-flex*=\\\"30-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-md\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-md\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-md\\\"],ka-flex-col>[ka-flex*=\\\"33-md\\\"],ka-flex-row>[ka-flex*=\\\"33-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-md\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-md\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-md\\\"],ka-flex-col>[ka-flex*=\\\"35-md\\\"],ka-flex-row>[ka-flex*=\\\"35-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-md\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-md\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-md\\\"],ka-flex-col>[ka-flex*=\\\"40-md\\\"],ka-flex-row>[ka-flex*=\\\"40-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-md\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-md\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-md\\\"],ka-flex-col>[ka-flex*=\\\"45-md\\\"],ka-flex-row>[ka-flex*=\\\"45-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-md\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-md\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-md\\\"],ka-flex-col>[ka-flex*=\\\"50-md\\\"],ka-flex-row>[ka-flex*=\\\"50-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-md\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-md\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-md\\\"],ka-flex-col>[ka-flex*=\\\"55-md\\\"],ka-flex-row>[ka-flex*=\\\"55-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-md\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-md\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-md\\\"],ka-flex-col>[ka-flex*=\\\"60-md\\\"],ka-flex-row>[ka-flex*=\\\"60-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-md\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-md\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-md\\\"],ka-flex-col>[ka-flex*=\\\"65-md\\\"],ka-flex-row>[ka-flex*=\\\"65-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-md\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-md\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-md\\\"],ka-flex-col>[ka-flex*=\\\"66-md\\\"],ka-flex-row>[ka-flex*=\\\"66-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-md\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-md\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-md\\\"],ka-flex-col>[ka-flex*=\\\"70-md\\\"],ka-flex-row>[ka-flex*=\\\"70-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-md\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-md\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-md\\\"],ka-flex-col>[ka-flex*=\\\"75-md\\\"],ka-flex-row>[ka-flex*=\\\"75-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-md\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-md\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-md\\\"],ka-flex-col>[ka-flex*=\\\"80-md\\\"],ka-flex-row>[ka-flex*=\\\"80-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-md\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-md\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-md\\\"],ka-flex-col>[ka-flex*=\\\"85-md\\\"],ka-flex-row>[ka-flex*=\\\"85-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-md\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-md\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-md\\\"],ka-flex-col>[ka-flex*=\\\"90-md\\\"],ka-flex-row>[ka-flex*=\\\"90-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-md\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-md\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-md\\\"],ka-flex-col>[ka-flex*=\\\"95-md\\\"],ka-flex-row>[ka-flex*=\\\"95-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-md\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-md\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-md\\\"],ka-flex-col>[ka-flex*=\\\"100-md\\\"],ka-flex-row>[ka-flex*=\\\"100-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-md\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 62em){[ka-flex*=\\\"10-lg\\\"],ka-flex-col>[ka-flex*=\\\"10-lg\\\"],ka-flex-row>[ka-flex*=\\\"10-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-lg\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-lg\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-lg\\\"],ka-flex-col>[ka-flex*=\\\"15-lg\\\"],ka-flex-row>[ka-flex*=\\\"15-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-lg\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-lg\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-lg\\\"],ka-flex-col>[ka-flex*=\\\"20-lg\\\"],ka-flex-row>[ka-flex*=\\\"20-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-lg\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-lg\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-lg\\\"],ka-flex-col>[ka-flex*=\\\"25-lg\\\"],ka-flex-row>[ka-flex*=\\\"25-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-lg\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-lg\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-lg\\\"],ka-flex-col>[ka-flex*=\\\"30-lg\\\"],ka-flex-row>[ka-flex*=\\\"30-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-lg\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-lg\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-lg\\\"],ka-flex-col>[ka-flex*=\\\"33-lg\\\"],ka-flex-row>[ka-flex*=\\\"33-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-lg\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-lg\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-lg\\\"],ka-flex-col>[ka-flex*=\\\"35-lg\\\"],ka-flex-row>[ka-flex*=\\\"35-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-lg\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-lg\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-lg\\\"],ka-flex-col>[ka-flex*=\\\"40-lg\\\"],ka-flex-row>[ka-flex*=\\\"40-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-lg\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-lg\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-lg\\\"],ka-flex-col>[ka-flex*=\\\"45-lg\\\"],ka-flex-row>[ka-flex*=\\\"45-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-lg\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-lg\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-lg\\\"],ka-flex-col>[ka-flex*=\\\"50-lg\\\"],ka-flex-row>[ka-flex*=\\\"50-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-lg\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-lg\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-lg\\\"],ka-flex-col>[ka-flex*=\\\"55-lg\\\"],ka-flex-row>[ka-flex*=\\\"55-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-lg\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-lg\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-lg\\\"],ka-flex-col>[ka-flex*=\\\"60-lg\\\"],ka-flex-row>[ka-flex*=\\\"60-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-lg\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-lg\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-lg\\\"],ka-flex-col>[ka-flex*=\\\"65-lg\\\"],ka-flex-row>[ka-flex*=\\\"65-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-lg\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-lg\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-lg\\\"],ka-flex-col>[ka-flex*=\\\"66-lg\\\"],ka-flex-row>[ka-flex*=\\\"66-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-lg\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-lg\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-lg\\\"],ka-flex-col>[ka-flex*=\\\"70-lg\\\"],ka-flex-row>[ka-flex*=\\\"70-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-lg\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-lg\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-lg\\\"],ka-flex-col>[ka-flex*=\\\"75-lg\\\"],ka-flex-row>[ka-flex*=\\\"75-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-lg\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-lg\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-lg\\\"],ka-flex-col>[ka-flex*=\\\"80-lg\\\"],ka-flex-row>[ka-flex*=\\\"80-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-lg\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-lg\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-lg\\\"],ka-flex-col>[ka-flex*=\\\"85-lg\\\"],ka-flex-row>[ka-flex*=\\\"85-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-lg\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-lg\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-lg\\\"],ka-flex-col>[ka-flex*=\\\"90-lg\\\"],ka-flex-row>[ka-flex*=\\\"90-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-lg\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-lg\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-lg\\\"],ka-flex-col>[ka-flex*=\\\"95-lg\\\"],ka-flex-row>[ka-flex*=\\\"95-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-lg\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-lg\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-lg\\\"],ka-flex-col>[ka-flex*=\\\"100-lg\\\"],ka-flex-row>[ka-flex*=\\\"100-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-lg\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 75em){[ka-flex*=\\\"10-xl\\\"],ka-flex-col>[ka-flex*=\\\"10-xl\\\"],ka-flex-row>[ka-flex*=\\\"10-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-xl\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xl\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-xl\\\"],ka-flex-col>[ka-flex*=\\\"15-xl\\\"],ka-flex-row>[ka-flex*=\\\"15-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-xl\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xl\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-xl\\\"],ka-flex-col>[ka-flex*=\\\"20-xl\\\"],ka-flex-row>[ka-flex*=\\\"20-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-xl\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xl\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-xl\\\"],ka-flex-col>[ka-flex*=\\\"25-xl\\\"],ka-flex-row>[ka-flex*=\\\"25-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-xl\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xl\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-xl\\\"],ka-flex-col>[ka-flex*=\\\"30-xl\\\"],ka-flex-row>[ka-flex*=\\\"30-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-xl\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xl\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-xl\\\"],ka-flex-col>[ka-flex*=\\\"33-xl\\\"],ka-flex-row>[ka-flex*=\\\"33-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-xl\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xl\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-xl\\\"],ka-flex-col>[ka-flex*=\\\"35-xl\\\"],ka-flex-row>[ka-flex*=\\\"35-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-xl\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xl\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-xl\\\"],ka-flex-col>[ka-flex*=\\\"40-xl\\\"],ka-flex-row>[ka-flex*=\\\"40-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-xl\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xl\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-xl\\\"],ka-flex-col>[ka-flex*=\\\"45-xl\\\"],ka-flex-row>[ka-flex*=\\\"45-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-xl\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xl\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-xl\\\"],ka-flex-col>[ka-flex*=\\\"50-xl\\\"],ka-flex-row>[ka-flex*=\\\"50-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-xl\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xl\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-xl\\\"],ka-flex-col>[ka-flex*=\\\"55-xl\\\"],ka-flex-row>[ka-flex*=\\\"55-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-xl\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xl\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-xl\\\"],ka-flex-col>[ka-flex*=\\\"60-xl\\\"],ka-flex-row>[ka-flex*=\\\"60-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-xl\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xl\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-xl\\\"],ka-flex-col>[ka-flex*=\\\"65-xl\\\"],ka-flex-row>[ka-flex*=\\\"65-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-xl\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xl\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-xl\\\"],ka-flex-col>[ka-flex*=\\\"66-xl\\\"],ka-flex-row>[ka-flex*=\\\"66-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-xl\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xl\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-xl\\\"],ka-flex-col>[ka-flex*=\\\"70-xl\\\"],ka-flex-row>[ka-flex*=\\\"70-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-xl\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xl\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-xl\\\"],ka-flex-col>[ka-flex*=\\\"75-xl\\\"],ka-flex-row>[ka-flex*=\\\"75-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-xl\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xl\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-xl\\\"],ka-flex-col>[ka-flex*=\\\"80-xl\\\"],ka-flex-row>[ka-flex*=\\\"80-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-xl\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xl\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-xl\\\"],ka-flex-col>[ka-flex*=\\\"85-xl\\\"],ka-flex-row>[ka-flex*=\\\"85-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-xl\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xl\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-xl\\\"],ka-flex-col>[ka-flex*=\\\"90-xl\\\"],ka-flex-row>[ka-flex*=\\\"90-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-xl\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xl\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-xl\\\"],ka-flex-col>[ka-flex*=\\\"95-xl\\\"],ka-flex-row>[ka-flex*=\\\"95-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-xl\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xl\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-xl\\\"],ka-flex-col>[ka-flex*=\\\"100-xl\\\"],ka-flex-row>[ka-flex*=\\\"100-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-xl\\\"]{height:calc(100% - 2rem);width:auto}}ka-navbar{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;height:5rem;color:#fff;background-color:#ed5a23}ka-navbar .ka-navbar-menu-button{position:relative;display:block;width:5rem;height:5rem;text-align:center;cursor:pointer}ka-navbar .ka-navbar-menu-button::after{content:\\\" \\\";display:block;position:absolute;right:0;top:1rem;bottom:1rem;width:1px;background-color:rgba(255,255,255,.6)}ka-navbar .ka-navbar-menu-button .material-icons,ka-navbar .ka-navbar-menu-button i[class*=fa]{font-size:5rem/2;line-height:5rem}ka-navbar .ka-navbar-menu{display:block;position:absolute;top:5rem/10;left:0;z-index:50;min-width:20rem;background:#f9f9f9;transform:translateX(-110%);transition:all .5s cubic-bezier(0.215, 0.61, 0.355, 1);box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ka-navbar .ka-navbar-menu.visible{transform:translateX(0%)}ka-navbar .ka-navbar-menu .ka-navbar-menu-label{padding:0 1rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:4rem;text-transform:uppercase;color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item{display:block;border-bottom:1px solid #e0e0e0;padding:0 1rem;line-height:4rem;font-size:1.4rem;color:rgba(64,64,64,.7);text-decoration:none;transition:all .5s ease-out}ka-navbar .ka-navbar-menu .ka-navbar-menu-item:hover{color:#ed5a23;background-color:#f0f0f0}ka-navbar .ka-navbar-menu .ka-navbar-menu-item.emphasis{color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item .material-icons,ka-navbar .ka-navbar-menu .ka-navbar-menu-item i[class*=fa]{width:4.5rem;font-size:2rem;line-height:4.5rem;text-align:center;vertical-align:middle}ka-navbar h1{display:block;margin:0;padding:0 1rem;font-size:1.8rem;font-weight:300;line-height:5rem;color:#fff}ka-input,md-input{display:block;box-sizing:border-box;position:relative;margin:1.5rem 0;width:100%;height:3rem;color:#404040;background-color:#fff;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-input.type-editor,md-input.type-editor{height:auto}ka-input.type-textarea,md-input.type-textarea{height:9rem}ka-input.type-textarea>textarea,md-input.type-textarea>textarea{padding:7px auto 7px 7px;height:9rem;resize:none}ka-input.type-checklist,md-input.type-checklist{height:auto;background-color:rgba(0,0,0,0);box-shadow:none !important}ka-input.error,md-input.error{background-color:#fff;box-shadow:inset 0 -1px 0 0 red}ka-input.error>label,md-input.error>label{color:red}ka-input.focus,ka-input.focus:hover,md-input.focus,md-input.focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-input:hover,md-input:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-input.readonly,ka-input.readonly.focus,ka-input.readonly:hover,md-input.readonly,md-input.readonly.focus,md-input.readonly:hover{background-color:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-input.type-checkbox,ka-input.type-checkbox.error,ka-input.type-checkbox.focus,ka-input.type-checkbox.focus:hover,ka-input.type-checkbox:hover,ka-input.type-checkbox.readonly,ka-input.type-checkbox.readonly.focus,ka-input.type-checkbox.readonly:hover,md-input.type-checkbox,md-input.type-checkbox.error,md-input.type-checkbox.focus,md-input.type-checkbox.focus:hover,md-input.type-checkbox:hover,md-input.type-checkbox.readonly,md-input.type-checkbox.readonly.focus,md-input.type-checkbox.readonly:hover{box-shadow:none;background-color:rgba(0,0,0,0)}ka-input.type-checkbox>.ka-input-checkbox-description,md-input.type-checkbox>.ka-input-checkbox-description{display:inline-block;position:absolute;left:0;overflow:hidden;padding-left:21px;max-width:100%;line-height:3rem;font-size:14px;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-input.type-checkbox.readonly>input,ka-input.type-checkbox.readonly>.ka-input-checkbox-description,md-input.type-checkbox.readonly>input,md-input.type-checkbox.readonly>.ka-input-checkbox-description{opacity:.7}ka-input.type-checkbox.expand,md-input.type-checkbox.expand{height:fit-content}ka-input.type-checkbox.expand>.ka-input-checkbox-description,md-input.type-checkbox.expand>.ka-input-checkbox-description{position:static;white-space:normal;line-height:2rem;margin-top:6px}ka-input>label,md-input>label{display:block;position:absolute;width:100%;height:1.5rem;overflow:hidden;line-height:1.5rem;font-size:12px;color:rgba(237,90,35,.7);white-space:nowrap;text-overflow:ellipsis;transform:translateY(-1.5rem)}ka-input.show-label-overflow>label,md-input.show-label-overflow>label{overflow:visible}ka-input.no-label>label,md-input.no-label>label{display:none}ka-input>.ka-input-error,md-input>.ka-input-error{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(255,0,0,.7);transform:translateY(1.5rem)}ka-input>.ka-input-error span::after,md-input>.ka-input-error span::after{content:\\\" - \\\"}ka-input>.ka-input-error span:last-of-type::after,md-input>.ka-input-error span:last-of-type::after{content:\\\"\\\"}ka-input>.ka-input-description,md-input>.ka-input-description{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(64,64,64,.5);text-align:right;transform:translateY(1.5rem);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input-description span::after,md-input>.ka-input-description span::after{content:\\\" - \\\"}ka-input>.ka-input-description span:last-of-type::after,md-input>.ka-input-description span:last-of-type::after{content:\\\"\\\"}ka-input.readonly>.ka-input-description,md-input.readonly>.ka-input-description{opacity:0}ka-input>.ka-input-error+.ka-input-description,md-input>.ka-input-error+.ka-input-description{opacity:0}ka-input.required label::after,md-input.required label::after{content:\\\" *\\\"}ka-input>.ka-input[type],ka-input>.ka-input-combo .ka-input,ka-input>textarea,md-input>.ka-input[type],md-input>.ka-input-combo .ka-input,md-input>textarea{display:block;-webkit-appearance:none;-moz-appearance:none;position:absolute;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0;padding-left:7px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input[type]:focus,ka-input>.ka-input-combo .ka-input:focus,ka-input>textarea:focus,md-input>.ka-input[type]:focus,md-input>.ka-input-combo .ka-input:focus,md-input>textarea:focus{border:0 !important}ka-input>.ka-input[type].pad1,ka-input>.ka-input-combo .ka-input.pad1,ka-input>textarea.pad1,md-input>.ka-input[type].pad1,md-input>.ka-input-combo .ka-input.pad1,md-input>textarea.pad1{padding-right:3rem}ka-input>.ka-input[type].pad2,ka-input>.ka-input-combo .ka-input.pad2,ka-input>textarea.pad2,md-input>.ka-input[type].pad2,md-input>.ka-input-combo .ka-input.pad2,md-input>textarea.pad2{padding-right:6rem}ka-input>.ka-input[type].pad3,ka-input>.ka-input-combo .ka-input.pad3,ka-input>textarea.pad3,md-input>.ka-input[type].pad3,md-input>.ka-input-combo .ka-input.pad3,md-input>textarea.pad3{padding-right:9rem}ka-input>.ka-input[type][type=checkbox],ka-input>.ka-input-combo .ka-input[type=checkbox],md-input>.ka-input[type][type=checkbox],md-input>.ka-input-combo .ka-input[type=checkbox]{display:block;margin-top:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-input>.ka-input[type][type=checkbox]:checked,ka-input>.ka-input-combo .ka-input[type=checkbox]:checked,md-input>.ka-input[type][type=checkbox]:checked,md-input>.ka-input-combo .ka-input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-input>.ka-input[type][type=file],ka-input>.ka-input-combo .ka-input[type=file],md-input>.ka-input[type][type=file],md-input>.ka-input-combo .ka-input[type=file]{opacity:0;z-index:2}ka-input>.ka-input[type][type=file][readonly],ka-input>.ka-input-combo .ka-input[type=file][readonly],md-input>.ka-input[type][type=file][readonly],md-input>.ka-input-combo .ka-input[type=file][readonly]{display:none}ka-input.error>.ka-input[type=checkbox],md-input.error>.ka-input[type=checkbox]{box-shadow:inset 0 0 0 1px red}ka-input.error>.ka-input[type=checkbox]:checked,md-input.error>.ka-input[type=checkbox]:checked{box-shadow:inset 0 0 0 1px red,inset 0 0 0 3px #fff}ka-input.readonly>.ka-input[type],ka-input.readonly>.ka-input-combo .ka-input,ka-input.readonly>textarea,md-input.readonly>.ka-input[type],md-input.readonly>.ka-input-combo .ka-input,md-input.readonly>textarea{padding-left:0}ka-input.readonly>.ka-input[type].pad1,ka-input.readonly>.ka-input[type].pad2,ka-input.readonly>.ka-input[type].pad3,ka-input.readonly>.ka-input-combo .ka-input.pad1,ka-input.readonly>.ka-input-combo .ka-input.pad2,ka-input.readonly>.ka-input-combo .ka-input.pad3,ka-input.readonly>textarea.pad1,ka-input.readonly>textarea.pad2,ka-input.readonly>textarea.pad3,md-input.readonly>.ka-input[type].pad1,md-input.readonly>.ka-input[type].pad2,md-input.readonly>.ka-input[type].pad3,md-input.readonly>.ka-input-combo .ka-input.pad1,md-input.readonly>.ka-input-combo .ka-input.pad2,md-input.readonly>.ka-input-combo .ka-input.pad3,md-input.readonly>textarea.pad1,md-input.readonly>textarea.pad2,md-input.readonly>textarea.pad3{padding-right:0}ka-input.readonly button,md-input.readonly button{display:none}ka-input.type-file.readonly>.ka-input[type=text],ka-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text],md-input.type-file.readonly>.ka-input[type=text],md-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text]{padding-right:3rem}ka-input.readonly button.download,ka-input.readonly button.download:focus,ka-input.readonly button.open,ka-input.readonly button.open:focus,md-input.readonly button.download,md-input.readonly button.download:focus,md-input.readonly button.open,md-input.readonly button.open:focus{display:inline-block;right:0}ka-input .ka-input-combo,md-input .ka-input-combo{display:block;position:absolute;top:0;width:100%}ka-input .ka-input-combo>.ka-input,md-input .ka-input-combo>.ka-input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ka-input .ka-input-editor,md-input .ka-input-editor{height:200px}ka-input .ka-input-button,ka-input .ka-input-button:focus,md-input .ka-input-button,md-input .ka-input-button:focus{-webkit-appearance:none;-moz-appearance:none;position:absolute;display:inline-block;top:0;right:0;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;z-index:2;font-size:14px;line-height:3rem;text-align:center;background:rgba(0,0,0,0)}ka-input .ka-input-button .material-icons,ka-input .ka-input-button i[class*=fa],ka-input .ka-input-button:focus .material-icons,ka-input .ka-input-button:focus i[class*=fa],md-input .ka-input-button .material-icons,md-input .ka-input-button i[class*=fa],md-input .ka-input-button:focus .material-icons,md-input .ka-input-button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-input .ka-input-button:hover,ka-input .ka-input-button:focus:hover,md-input .ka-input-button:hover,md-input .ka-input-button:focus:hover{color:#ed5a23}ka-input .ka-input-button.hide,ka-input .ka-input-button:focus.hide,md-input .ka-input-button.hide,md-input .ka-input-button:focus.hide{display:block !important}ka-input .ka-input-button.open,ka-input .ka-input-button.add,ka-input .ka-input-button.show,ka-input .ka-input-button.hide,ka-input .ka-input-button.download,ka-input .ka-input-button.dropdown,ka-input .ka-input-button:focus.open,ka-input .ka-input-button:focus.add,ka-input .ka-input-button:focus.show,ka-input .ka-input-button:focus.hide,ka-input .ka-input-button:focus.download,ka-input .ka-input-button:focus.dropdown,md-input .ka-input-button.open,md-input .ka-input-button.add,md-input .ka-input-button.show,md-input .ka-input-button.hide,md-input .ka-input-button.download,md-input .ka-input-button.dropdown,md-input .ka-input-button:focus.open,md-input .ka-input-button:focus.add,md-input .ka-input-button:focus.show,md-input .ka-input-button:focus.hide,md-input .ka-input-button:focus.download,md-input .ka-input-button:focus.dropdown{right:3rem}ka-input.no-clear button.open,ka-input.no-clear button.open:focus,ka-input.no-clear button.add,ka-input.no-clear button.add:focus,ka-input.no-clear button.show,ka-input.no-clear button.show:focus,ka-input.no-clear button.hide,ka-input.no-clear button.hide:focus,ka-input.no-clear button.download,ka-input.no-clear button.download:focus,ka-input.no-clear button.dropdown,ka-input.no-clear button.dropdown:focus,md-input.no-clear button.open,md-input.no-clear button.open:focus,md-input.no-clear button.add,md-input.no-clear button.add:focus,md-input.no-clear button.show,md-input.no-clear button.show:focus,md-input.no-clear button.hide,md-input.no-clear button.hide:focus,md-input.no-clear button.download,md-input.no-clear button.download:focus,md-input.no-clear button.dropdown,md-input.no-clear button.dropdown:focus{right:0}.ka-input-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1999}.ka-input-combo .ka-input-combo-drawer,.ka-input-backdrop .ka-input-combo-drawer{display:block;position:absolute;top:3rem;z-index:2000;width:100%;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}.ka-input-combo .ka-input-combo-drawer .ka-input,.ka-input-backdrop .ka-input-combo-drawer .ka-input{display:block;position:static;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0 10px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);box-shadow:none !important}.ka-input-combo .ka-input-combo-drawer .ka-input:focus,.ka-input-backdrop .ka-input-combo-drawer .ka-input:focus{border:0 !important}.ka-input-combo .ka-input-combo-drawer ul,.ka-input-backdrop .ka-input-combo-drawer ul,.ka-input-checklist ul{margin:0;padding:0;width:100%;max-height:250px;overflow:hidden;overflow-y:auto;list-style:none}.ka-input-combo .ka-input-combo-drawer ul li,.ka-input-backdrop .ka-input-combo-drawer ul li,.ka-input-checklist ul li{position:relative;margin:0;padding:0 10px;overflow:hidden;font-size:14px;line-height:3rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}.ka-input-combo .ka-input-combo-drawer ul li:hover,.ka-input-backdrop .ka-input-combo-drawer ul li:hover,.ka-input-checklist ul li:hover{background-color:rgba(237,90,35,.1)}.ka-input-combo .ka-input-combo-drawer ul li.selected,.ka-input-backdrop .ka-input-combo-drawer ul li.selected,.ka-input-checklist ul li.selected{color:#ed5a23}.ka-input-combo .ka-input-combo-drawer ul.multiple li,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li,.ka-input-checklist ul.multiple li{padding-left:30px}.ka-input-combo .ka-input-combo-drawer ul.multiple li::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li::before,.ka-input-checklist ul.multiple li::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}.ka-input-combo .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-checklist ul.multiple li.selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}.ka-input-checklist ul li:hover{background-color:rgba(0,0,0,0)}.ka-input-checklist ul li.selected{color:#404040}.ka-input-checklist ul.multiple li.selected::before{box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}.ck.ck-content h1,.ck.ck-content h2,.ck.ck-content h3,.ck.ck-content h4,.ck.ck-content h5,.ck.ck-content p,.ck.ck-content ul,.ck.ck-content ol,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol ol,.ck.ck-content ol ul,.ck.ck-content blockquote,.ck.ck-content table,.ck.ck-content div{margin:0;padding:0;border:0;border-radius:0;font-size:14px;line-height:1.6;color:#404040;background:none;box-shadow:none;transform:none}.ck.ck-content h1:before,.ck.ck-content h1:after,.ck.ck-content h2:before,.ck.ck-content h2:after,.ck.ck-content h3:before,.ck.ck-content h3:after,.ck.ck-content h4:before,.ck.ck-content h4:after,.ck.ck-content h5:before,.ck.ck-content h5:after,.ck.ck-content p:before,.ck.ck-content p:after,.ck.ck-content ul:before,.ck.ck-content ul:after,.ck.ck-content ol:before,.ck.ck-content ol:after,.ck.ck-content ul ul:before,.ck.ck-content ul ul:after,.ck.ck-content ul ol:before,.ck.ck-content ul ol:after,.ck.ck-content ol ol:before,.ck.ck-content ol ol:after,.ck.ck-content ol ul:before,.ck.ck-content ol ul:after,.ck.ck-content blockquote:before,.ck.ck-content blockquote:after,.ck.ck-content table:before,.ck.ck-content table:after,.ck.ck-content div:before,.ck.ck-content div:after{display:none;content:none}.ck.ck-content h1{margin:35px 10px 20px;font-size:24px;font-weight:bold}.ck.ck-content h2{margin:25px 10px 15px;font-size:22px;font-weight:bold}.ck.ck-content h3{margin:15px 10px 10px;font-size:20px;font-weight:bold}.ck.ck-content h4{margin:15px 10px 10px;font-size:18px;font-weight:bold}.ck.ck-content h5{margin:15px 10px 10px;font-size:16px;font-weight:bold}.ck.ck-content p{margin:10px}.ck.ck-content ul,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol,.ck.ck-content ol ul,.ck.ck-content ol ol{margin:10px;padding-left:15px}.ck.ck-content ul li,.ck.ck-content ul ul li,.ck.ck-content ul ol li,.ck.ck-content ol li,.ck.ck-content ol ul li,.ck.ck-content ol ol li{margin:0;padding:0}.ck.ck-content blockquote{margin:10px;padding:0 10px;overflow:hidden;font-style:italic;border-left:5px solid #ccc}.ka-button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}.ka-button.icon{padding:0;width:3rem}.ka-button.icon i{line-height:inherit}.ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}.ka-button.flat{box-shadow:none !important}.ka-button:disabled{background-color:silver}.ka-button:hover:enabled{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}.ka-button.accent{background-color:#19a5f2}.ka-button.accent:hover:enabled{background-color:#0c92db}.ka-button.inverted{color:#ed5a23;background-color:#fff}.ka-button.inverted:hover:enabled{color:#ed5a23;background-color:#ededed}.ka-button.inverted-accent{color:#19a5f2;background-color:#fff}.ka-button.inverted-accent:hover:enabled{color:#19a5f2;background-color:#ededed}.ka-button>i{line-height:inherit;vertical-align:middle}a.ka-button:hover{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}a.ka-button.accent:hover{background-color:#0c92db}a.ka-button.inverted:hover{color:#ed5a23;background-color:#ededed}a.ka-button.inverted-accent:hover{color:#19a5f2;background-color:#ededed}ka-button{display:inline-block;position:relative;align-items:flex-start;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;text-align:center;text-decoration:none;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}ka-button.icon{padding:0;width:3rem}ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}ka-button.active{box-shadow:none;transform:translateY(3px)}ka-button:not(.disabled){color:#fff;background-color:#ed5a23}ka-button:not(.disabled).flat{box-shadow:none}ka-button:not(.disabled):hover{color:#fff;background-color:#da4812}ka-button:not(.disabled).accent{color:#fff;background-color:#19a5f2}ka-button:not(.disabled).accent.flat{box-shadow:none}ka-button:not(.disabled).accent:hover{color:#fff;background-color:#0c92db}ka-button:not(.disabled).accent .busy{background-color:#19a5f2}ka-button:not(.disabled).accent .busy:before,ka-button:not(.disabled).accent .busy:after{background-color:#fff}ka-button:not(.disabled).secondary{color:#fff;background-color:#11254b}ka-button:not(.disabled).secondary.flat{box-shadow:none}ka-button:not(.disabled).secondary:hover{color:#fff;background-color:#0a172e}ka-button:not(.disabled).secondary .busy{background-color:#11254b}ka-button:not(.disabled).secondary .busy:before,ka-button:not(.disabled).secondary .busy:after{background-color:#fff}ka-button:not(.disabled).inverted{color:#ed5a23;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.flat{box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7)}ka-button:not(.disabled).inverted:hover{color:#ed5a23;background-color:#ededed}ka-button:not(.disabled).inverted .busy{background-color:#fff}ka-button:not(.disabled).inverted .busy:before,ka-button:not(.disabled).inverted .busy:after{background-color:#ed5a23}ka-button:not(.disabled).inverted.accent{color:#19a5f2;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.accent.flat{box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7)}ka-button:not(.disabled).inverted.accent:hover{color:#19a5f2;background-color:#ededed}ka-button:not(.disabled).inverted.accent .busy{background-color:#fff}ka-button:not(.disabled).inverted.accent .busy:before,ka-button:not(.disabled).inverted.accent .busy:after{background-color:#19a5f2}ka-button:not(.disabled).inverted.secondary{color:#11254b;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.secondary.flat{box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7)}ka-button:not(.disabled).inverted.secondary:hover{color:#11254b;background-color:#ededed}ka-button:not(.disabled).inverted.secondary .busy{background-color:#fff}ka-button:not(.disabled).inverted.secondary .busy:before,ka-button:not(.disabled).inverted.secondary .busy:after{background-color:#11254b}ka-button.disabled{color:silver;background-color:rgba(192,192,192,.3)}ka-button.disabled.flat{box-shadow:none}ka-button>i{line-height:inherit;vertical-align:middle}ka-button .busy{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ed5a23}ka-button .busy:before,ka-button .busy:after{content:\\\"\\\";position:absolute;border-radius:50%;width:1rem;height:1rem;top:50%;background-color:#fff;transform:translate(-50%, -50%);will-change:left,transform}ka-button .busy:after{animation:left-to-right .5s linear infinite}ka-button .busy:before{animation:right-to-left .5s linear infinite}@keyframes left-to-right{0%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:1;left:50%;transform:translate(-50%, -50%) scale(1.5)}100%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}}@keyframes right-to-left{0%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:0;left:50%;transform:translate(-50%, -50%) scale(0.5)}100%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}}.ka-toast{position:fixed;bottom:0;left:0;right:0;z-index:2000;padding:10px;font-size:1.3rem;text-align:center;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 -10px 10px -10px rgba(0,0,0,.1)}.ka-toast.ka-toast-error{color:#fff;background-color:#f30}.ka-toast.ka-toast-success{color:#fff;background-color:#1cc800}.ka-toast.ka-toast-accent{color:#fff;background-color:#19a5f2}.ka-toast.ka-toast-primary{color:#fff;background-color:#ed5a23}ka-table,.ka-table{display:block;position:relative;max-width:100%;background-color:#fff}ka-table:not(.full-height),.ka-table:not(.full-height){box-shadow:0 0 0 1px #e0e0e0}ka-table .ka-toolbar,.ka-table .ka-toolbar{display:flex;height:4rem;font-size:12px;line-height:4rem;color:#606060;box-shadow:inset 0 -1px 0 #e0e0e0}ka-table .ka-toolbar .ka-navigation,.ka-table .ka-toolbar .ka-navigation{display:flex}ka-table .ka-toolbar .ka-navigation .ka-position,.ka-table .ka-toolbar .ka-navigation .ka-position{padding:0 10px;min-width:100px;text-align:center;cursor:pointer}ka-table .ka-toolbar .ka-tools-left,.ka-table .ka-toolbar .ka-tools-left{flex:1;display:flex;justify-content:flex-start}ka-table .ka-toolbar .ka-tools-right,.ka-table .ka-toolbar .ka-tools-right{flex:1;display:flex;justify-content:flex-end}ka-table .ka-wrapper,.ka-table .ka-wrapper{overflow:auto}ka-table.full-height .ka-wrapper,.ka-table.full-height .ka-wrapper{position:relative;height:calc(100% - 4rem)}ka-table.no-wrap th,ka-table.no-wrap td,.ka-table.no-wrap th,.ka-table.no-wrap td,table.ka-table-like.no-wrap th,table.ka-table-like.no-wrap td{white-space:nowrap}ka-table .ka-table-button,.ka-table .ka-table-button,table.ka-table-like .ka-table-button{display:inline-block;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:0;width:4rem;height:4rem;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);box-shadow:none;transition:all .5s}ka-table .ka-table-button+.ka-table-button,.ka-table .ka-table-button+.ka-table-button,table.ka-table-like .ka-table-button+.ka-table-button{border-left:0}ka-table .ka-table-button:not(.disabled):hover,.ka-table .ka-table-button:not(.disabled):hover,table.ka-table-like .ka-table-button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}ka-table .ka-table-button.primary:not(.disabled),.ka-table .ka-table-button.primary:not(.disabled),table.ka-table-like .ka-table-button.primary:not(.disabled){color:rgba(237,90,35,.7)}ka-table .ka-table-button.primary:not(.disabled):hover,.ka-table .ka-table-button.primary:not(.disabled):hover,table.ka-table-like .ka-table-button.primary:not(.disabled):hover{color:#ed5a23}ka-table .ka-table-button:first-of-type,.ka-table .ka-table-button:first-of-type,table.ka-table-like .ka-table-button:first-of-type{border-left:0}ka-table .ka-table-button:last-of-type,.ka-table .ka-table-button:last-of-type,table.ka-table-like .ka-table-button:last-of-type{border-right:0}ka-table .ka-table-button:focus,.ka-table .ka-table-button:focus,table.ka-table-like .ka-table-button:focus{background-color:inherit}ka-table .ka-table-button.disabled,.ka-table .ka-table-button.disabled,table.ka-table-like .ka-table-button.disabled{color:#e0e0e0}ka-table .ka-table-button:before,.ka-table .ka-table-button:before,table.ka-table-like .ka-table-button:before{font-size:20px}ka-table .ka-table-button i,.ka-table .ka-table-button i,table.ka-table-like .ka-table-button i{line-height:inherit;color:inherit}ka-table .ka-table-button.filters.active,.ka-table .ka-table-button.filters.active,table.ka-table-like .ka-table-button.filters.active{color:#19a5f2}ka-table .ka-table-button.filters+.reset,.ka-table .ka-table-button.filters+.reset,table.ka-table-like .ka-table-button.filters+.reset{margin-left:-2rem;width:2rem;height:2rem;line-height:2rem}ka-table .ka-table-button.filters+.reset i,.ka-table .ka-table-button.filters+.reset i,table.ka-table-like .ka-table-button.filters+.reset i{font-size:1rem}ka-table .ka-table-button.filters+.reset:hover,.ka-table .ka-table-button.filters+.reset:hover,table.ka-table-like .ka-table-button.filters+.reset:hover{color:#19a5f2;background:none}ka-table .ka-wrapper>table,.ka-table .ka-wrapper>table,table.ka-table-like{display:table;margin:0;border:0;border-collapse:collapse;border-spacing:0;width:100%;overflow:hidden}ka-table .ka-wrapper>table th,ka-table .ka-wrapper>table td,.ka-table .ka-wrapper>table th,.ka-table .ka-wrapper>table td,table.ka-table-like th,table.ka-table-like td{padding:1rem;font-size:14px;line-height:2rem;color:#404040;text-align:left}ka-table .ka-wrapper>table th a,ka-table .ka-wrapper>table td a,.ka-table .ka-wrapper>table th a,.ka-table .ka-wrapper>table td a,table.ka-table-like th a,table.ka-table-like td a{cursor:pointer}ka-table .ka-wrapper>table thead,.ka-table .ka-wrapper>table thead,table.ka-table-like thead{border-bottom:1px solid #e0e0e0}ka-table .ka-wrapper>table thead th,.ka-table .ka-wrapper>table thead th,table.ka-table-like thead th{position:relative;vertical-align:middle;white-space:nowrap;padding-right:30px}ka-table .ka-wrapper>table thead th .ka-sort-button,.ka-table .ka-wrapper>table thead th .ka-sort-button,table.ka-table-like thead th .ka-sort-button{position:absolute;margin-left:5px;transition:all .5s;color:rgba(64,64,64,.5);text-decoration:none}ka-table .ka-wrapper>table thead th .ka-sort-button i,.ka-table .ka-wrapper>table thead th .ka-sort-button i,table.ka-table-like thead th .ka-sort-button i{line-height:inherit;transform:rotateX(180deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:hover,.ka-table .ka-wrapper>table thead th .ka-sort-button:hover,table.ka-table-like thead th .ka-sort-button:hover{color:#404040}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,table.ka-table-like thead th .ka-sort-button.sort-asc i{color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,table.ka-table-like thead th .ka-sort-button.sort-desc i{color:#19a5f2;transform:rotateX(0deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:after,.ka-table .ka-wrapper>table thead th .ka-sort-button:after,table.ka-table-like thead th .ka-sort-button:after{position:absolute;top:-5px;right:-5px;border-radius:50%;width:1.3rem;height:1.3rem;line-height:1.3rem;font-size:1rem;color:#fff;text-align:center;background-color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,table.ka-table-like thead th .ka-sort-button.sort-1:after{content:\\\"1\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,table.ka-table-like thead th .ka-sort-button.sort-2:after{content:\\\"2\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,table.ka-table-like thead th .ka-sort-button.sort-3:after{content:\\\"3\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,table.ka-table-like thead th .ka-sort-button.sort-4:after{content:\\\"4\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,table.ka-table-like thead th .ka-sort-button.sort-5:after{content:\\\"5\\\"}ka-table .ka-wrapper>table tbody tr,.ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{border-bottom:1px solid #f4f4f4;background-color:#fcfcfc}ka-table .ka-wrapper>table tbody tr:nth-child(even),.ka-table .ka-wrapper>table tbody tr:nth-child(even),table.ka-table-like tbody tr:nth-child(even){background-color:#f8f8f8}ka-table .ka-wrapper>table tbody tr:hover,ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,.ka-table .ka-wrapper>table tbody tr:hover,.ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,table.ka-table-like tbody tr:hover,table.ka-table-like tbody tr:nth-child(even):hover{background-color:rgba(25,165,242,.05)}ka-table .ka-wrapper>table tbody td,.ka-table .ka-wrapper>table tbody td,table.ka-table-like tbody td{vertical-align:top}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,table.ka-table-like tbody td.ka-tr-tools:first-of-type{text-align:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,table.ka-table-like tbody td.ka-tr-tools:last-of-type{text-align:right}ka-table .ka-wrapper>table tbody td.ka-tr-tools,.ka-table .ka-wrapper>table tbody td.ka-tr-tools,table.ka-table-like tbody td.ka-tr-tools{padding:0;white-space:nowrap}ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools .ka-table-button,table.ka-table-like tbody td.ka-tr-tools .ka-table-button:hover{display:inline-block;background:rgba(0,0,0,0)}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button:hover{float:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,table.ka-table-like tbody td.ka-tr-tools:after{content:\\\" \\\";display:block;width:100%}ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,table.ka-table-like tbody td.ka-tr-tools .floater.float{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:center;position:absolute;right:0;background:#fff;background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%);box-shadow:-5px 0 5px -5px rgba(0,0,0,.25)}ka-table .ka-wrapper>table tbody td small,.ka-table .ka-wrapper>table tbody td small,table.ka-table-like tbody td small{color:rgba(64,64,64,.7)}.ka-table-options{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;opacity:0;justify-content:flex-start;position:absolute;left:50%;padding:2rem;width:26rem;z-index:97;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1);transform:translateX(-50%) translateY(50px);transition:transform .5s,opacity .5s}.ka-table-options.open{opacity:1;transform:translateX(-50%) translateY(0px)}.ka-table-options.hidden{display:none}.ka-table-options ka-input{margin:15px 10px 0;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.ka-table-drawer{position:absolute;top:0;bottom:0;right:0;border-right:1px solid #e0e0e0;width:90%;max-width:400px;overflow-y:auto;background-color:#fff;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1);transform:translateX(100%);transition:transform .5s}.ka-table-drawer.open{transform:translateX(0)}.ka-table-drawer.hidden{display:none}.ka-table-drawer ka-input label{overflow:visible}.ka-table-drawer.export ka-input{margin:0}.ka-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.ka-table-progress{position:absolute;top:calc(4rem - 1px);left:0;right:0;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-table-progress>div{background-color:#ed5a23}.ka-table-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-table-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}.ka-table-dialog{background:#f9f9f9}.ka-table-dialog ux-dialog-body{padding:0;width:70vw;max-width:calc(100vw - 60px)}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@media only screen and (max-width: 575px){ka-table .ka-wrapper>table,table.ka-table-like{display:block;max-width:100%;min-width:300px;width:100%}ka-table .ka-wrapper>table thead,ka-table .ka-wrapper>table tfoot,table.ka-table-like thead,table.ka-table-like tfoot{display:block}ka-table .ka-wrapper>table tbody,table.ka-table-like tbody{display:block;overflow-x:hidden;overflow-y:visible;width:100%}ka-table .ka-wrapper>table tr,table.ka-table-like tr{display:block;position:relative}ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{min-height:4rem}ka-table .ka-wrapper>table th,table.ka-table-like th{display:none}ka-table .ka-wrapper>table td,table.ka-table-like td{display:block;padding:0 0 .5rem .5rem;font-size:1.3rem;line-height:1.2}ka-table .ka-wrapper>table td:first-of-type,table.ka-table-like td:first-of-type{padding-top:.5rem}ka-table .ka-wrapper>table td.ka-tr-tools,table.ka-table-like td.ka-tr-tools{height:4rem;position:absolute;right:0;top:0}ka-table .ka-wrapper>table td.ka-tr-tools:before,table.ka-table-like td.ka-tr-tools:before{display:none}ka-table .ka-wrapper>table td[data-th],table.ka-table-like td[data-th]{padding:0 0 .5rem 25vw}ka-table .ka-wrapper>table td[data-th]:before,table.ka-table-like td[data-th]:before{display:inline-block;content:attr(data-th);margin-left:-25vw;padding:0 1rem;width:25vw;font-weight:bold;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}}.ka-resource-buttons{position:absolute;top:0;right:0}.ka-resource-buttons a{position:relative;display:inline-block;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(255,255,255,.5);text-align:center;transition:all .2s}.ka-resource-buttons a::after{content:\\\" \\\";display:block;position:absolute;left:0;top:.5rem;bottom:.5rem;width:1px;background-color:rgba(255,255,255,.2)}.ka-resource-buttons a:hover{color:#fff}.ka-resource-buttons a:first-of-type{border-left:0}.ka-resource-buttons a:last-of-type{border-right:0}.ka-resource-buttons a:focus{background-color:inherit}.ka-resource-buttons a:before{font-size:20px}.ka-resource-buttons a i{line-height:inherit}ux-dialog .ka-resource-buttons{z-index:2}ux-dialog .ka-resource-buttons a{color:rgba(237,90,35,.5)}ux-dialog .ka-resource-buttons a::after{background-color:rgba(237,90,35,.2)}ux-dialog .ka-resource-buttons a:hover{color:#ed5a23}.ka-resource-progress{position:absolute;top:5rem;left:0;right:0;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-resource-progress>div{background-color:#ed5a23}.ka-resource-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-resource-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}ux-dialog .ka-resource-progress{top:auto}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}ux-dialog-container{display:flex}ux-dialog-container.active{background-color:rgba(0,0,0,.2)}ux-dialog-container>div{margin:auto !important}ux-dialog{display:block;position:relative;border:0;border-radius:3px;padding:0;overflow:hidden;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ux-dialog.viewModel{width:calc(100vw - 80px)}ux-dialog ux-dialog-header{display:block;border:0;padding:0}ux-dialog ux-dialog-header h2{z-index:1;margin:0;font-size:1.8rem}ux-dialog ux-dialog-header h2::after{border-top-left-radius:3px;border-top-right-radius:3px}ux-dialog ux-dialog-body{display:block;padding:2rem;font-size:1.4rem}ux-dialog ux-dialog-body h2{z-index:1}ux-dialog.viewModel ux-dialog-body{padding:0}@media only screen and (max-width: 400px){ux-dialog-container>div{padding:1rem !important}ux-dialog.viewModel{width:calc(100vw - 20px)}}ka-tabs{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:flex-start}ka-tabs>nav{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin:0;border-bottom:3px solid #e0e0e0;height:5rem;background-color:#fff}ka-tabs>nav a{position:relative;cursor:pointer;display:inline-block;outline:none;padding:0 1rem;line-height:5rem;font-size:1.2rem;color:rgba(64,64,64,.5);letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;transition:all .4s}ka-tabs>nav a::after{content:\\\" \\\";opacity:0;display:block;position:absolute;bottom:0px;left:50%;z-index:2;width:0%;height:3px;background-color:#ed5a23;transform:translateX(-50%);transition:all .2s}ka-tabs>nav a:hover{color:#ed5a23}ka-tabs>nav a:hover::after{opacity:1;width:100%}ka-tabs>nav a.active{color:#ed5a23}ka-tabs>nav a.active::after{opacity:1;width:100%}ka-tabs>nav a .counter{display:block;position:absolute;bottom:0;left:50%;z-index:3;margin-left:-0.75rem;border-top-left-radius:3px;border-top-right-radius:3px;width:1.5rem;font-size:1rem;line-height:1.5rem;color:#fff;text-align:center;background-color:#ed5a23;box-shadow:0 0 0 3px #fff}ka-tabs>nav a .counter.errors{background-color:#f30}ka-tabs>[ref=buttons]{float:right;margin-top:-5rem}ka-tabs>[ref=buttons] a{display:inline-block;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-bottom:3px solid #e0e0e0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(64,64,64,.5);text-align:center;background:#fff;transition:all .2s}ka-tabs>[ref=buttons] a:hover{color:#ed5a23}ka-tabs>[ref=buttons] a:first-of-type{border-left:0}ka-tabs>[ref=buttons] a:last-of-type{border-right:0}ka-tabs>[ref=buttons] a:focus{background-color:inherit}ka-tabs>[ref=buttons] a:before{font-size:20px}ka-tabs>[ref=buttons] a i{line-height:inherit}ka-tabs>[ref=contents]>ka-tab{white-space:initial}.ka-tooltip{pointer-events:none;display:none;position:absolute;z-index:1100;border-radius:5px;padding:1rem 1rem;font-size:1.2rem;font-weight:400;line-height:1.4rem;color:#fff;background-color:#404040}.ka-tooltip.visible{display:block}.ka-tooltip>div.value a{color:inherit}.ka-tooltip>div.arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.ka-tooltip.primary{background-color:#ed5a23}.ka-tooltip.secondary{background-color:#19a5f2}ka-control-combo,ka-control-text,ka-control-date,ka-control-datetime,ka-control-file,ka-control-number,ka-control-password,ka-control-textarea,ka-control-editor,ka-control-list,ka-control-check{display:block;position:relative;flex:1 1 0}ka-control-combo input,ka-control-text input,ka-control-date input,ka-control-datetime input,ka-control-file input,ka-control-number input,ka-control-password input,ka-control-textarea input,ka-control-editor input,ka-control-list input,ka-control-check input{outline:none;appearance:none;-moz-appearance:none;-webkit-appearance:none}ka-control-combo .display-value,ka-control-combo .display-value[disabled],ka-control-text .display-value,ka-control-text .display-value[disabled],ka-control-date .display-value,ka-control-date .display-value[disabled],ka-control-datetime .display-value,ka-control-datetime .display-value[disabled],ka-control-file .display-value,ka-control-file .display-value[disabled],ka-control-number .display-value,ka-control-number .display-value[disabled],ka-control-password .display-value,ka-control-password .display-value[disabled],ka-control-textarea .display-value,ka-control-textarea .display-value[disabled],ka-control-editor .display-value,ka-control-editor .display-value[disabled],ka-control-list .display-value,ka-control-list .display-value[disabled],ka-control-check .display-value,ka-control-check .display-value[disabled]{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control-combo .display-value:hover,ka-control-combo .display-value[disabled]:hover,ka-control-text .display-value:hover,ka-control-text .display-value[disabled]:hover,ka-control-date .display-value:hover,ka-control-date .display-value[disabled]:hover,ka-control-datetime .display-value:hover,ka-control-datetime .display-value[disabled]:hover,ka-control-file .display-value:hover,ka-control-file .display-value[disabled]:hover,ka-control-number .display-value:hover,ka-control-number .display-value[disabled]:hover,ka-control-password .display-value:hover,ka-control-password .display-value[disabled]:hover,ka-control-textarea .display-value:hover,ka-control-textarea .display-value[disabled]:hover,ka-control-editor .display-value:hover,ka-control-editor .display-value[disabled]:hover,ka-control-list .display-value:hover,ka-control-list .display-value[disabled]:hover,ka-control-check .display-value:hover,ka-control-check .display-value[disabled]:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-control-combo .display-value:focus,ka-control-combo .display-value:focus:hover,ka-control-combo .display-value[disabled]:focus,ka-control-combo .display-value[disabled]:focus:hover,ka-control-text .display-value:focus,ka-control-text .display-value:focus:hover,ka-control-text .display-value[disabled]:focus,ka-control-text .display-value[disabled]:focus:hover,ka-control-date .display-value:focus,ka-control-date .display-value:focus:hover,ka-control-date .display-value[disabled]:focus,ka-control-date .display-value[disabled]:focus:hover,ka-control-datetime .display-value:focus,ka-control-datetime .display-value:focus:hover,ka-control-datetime .display-value[disabled]:focus,ka-control-datetime .display-value[disabled]:focus:hover,ka-control-file .display-value:focus,ka-control-file .display-value:focus:hover,ka-control-file .display-value[disabled]:focus,ka-control-file .display-value[disabled]:focus:hover,ka-control-number .display-value:focus,ka-control-number .display-value:focus:hover,ka-control-number .display-value[disabled]:focus,ka-control-number .display-value[disabled]:focus:hover,ka-control-password .display-value:focus,ka-control-password .display-value:focus:hover,ka-control-password .display-value[disabled]:focus,ka-control-password .display-value[disabled]:focus:hover,ka-control-textarea .display-value:focus,ka-control-textarea .display-value:focus:hover,ka-control-textarea .display-value[disabled]:focus,ka-control-textarea .display-value[disabled]:focus:hover,ka-control-editor .display-value:focus,ka-control-editor .display-value:focus:hover,ka-control-editor .display-value[disabled]:focus,ka-control-editor .display-value[disabled]:focus:hover,ka-control-list .display-value:focus,ka-control-list .display-value:focus:hover,ka-control-list .display-value[disabled]:focus,ka-control-list .display-value[disabled]:focus:hover,ka-control-check .display-value:focus,ka-control-check .display-value:focus:hover,ka-control-check .display-value[disabled]:focus,ka-control-check .display-value[disabled]:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control-combo .display-value.readonly,ka-control-combo .display-value.readonly:focus,ka-control-combo .display-value.readonly:hover,ka-control-combo .display-value[disabled].readonly,ka-control-combo .display-value[disabled].readonly:focus,ka-control-combo .display-value[disabled].readonly:hover,ka-control-text .display-value.readonly,ka-control-text .display-value.readonly:focus,ka-control-text .display-value.readonly:hover,ka-control-text .display-value[disabled].readonly,ka-control-text .display-value[disabled].readonly:focus,ka-control-text .display-value[disabled].readonly:hover,ka-control-date .display-value.readonly,ka-control-date .display-value.readonly:focus,ka-control-date .display-value.readonly:hover,ka-control-date .display-value[disabled].readonly,ka-control-date .display-value[disabled].readonly:focus,ka-control-date .display-value[disabled].readonly:hover,ka-control-datetime .display-value.readonly,ka-control-datetime .display-value.readonly:focus,ka-control-datetime .display-value.readonly:hover,ka-control-datetime .display-value[disabled].readonly,ka-control-datetime .display-value[disabled].readonly:focus,ka-control-datetime .display-value[disabled].readonly:hover,ka-control-file .display-value.readonly,ka-control-file .display-value.readonly:focus,ka-control-file .display-value.readonly:hover,ka-control-file .display-value[disabled].readonly,ka-control-file .display-value[disabled].readonly:focus,ka-control-file .display-value[disabled].readonly:hover,ka-control-number .display-value.readonly,ka-control-number .display-value.readonly:focus,ka-control-number .display-value.readonly:hover,ka-control-number .display-value[disabled].readonly,ka-control-number .display-value[disabled].readonly:focus,ka-control-number .display-value[disabled].readonly:hover,ka-control-password .display-value.readonly,ka-control-password .display-value.readonly:focus,ka-control-password .display-value.readonly:hover,ka-control-password .display-value[disabled].readonly,ka-control-password .display-value[disabled].readonly:focus,ka-control-password .display-value[disabled].readonly:hover,ka-control-textarea .display-value.readonly,ka-control-textarea .display-value.readonly:focus,ka-control-textarea .display-value.readonly:hover,ka-control-textarea .display-value[disabled].readonly,ka-control-textarea .display-value[disabled].readonly:focus,ka-control-textarea .display-value[disabled].readonly:hover,ka-control-editor .display-value.readonly,ka-control-editor .display-value.readonly:focus,ka-control-editor .display-value.readonly:hover,ka-control-editor .display-value[disabled].readonly,ka-control-editor .display-value[disabled].readonly:focus,ka-control-editor .display-value[disabled].readonly:hover,ka-control-list .display-value.readonly,ka-control-list .display-value.readonly:focus,ka-control-list .display-value.readonly:hover,ka-control-list .display-value[disabled].readonly,ka-control-list .display-value[disabled].readonly:focus,ka-control-list .display-value[disabled].readonly:hover,ka-control-check .display-value.readonly,ka-control-check .display-value.readonly:focus,ka-control-check .display-value.readonly:hover,ka-control-check .display-value[disabled].readonly,ka-control-check .display-value[disabled].readonly:focus,ka-control-check .display-value[disabled].readonly:hover{padding:0 0 0 .1px;background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-control{display:inline-block;position:relative;margin:.5rem 0;width:100%}ka-control>label{display:block;margin:0;padding:0;width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap;transition:all .5s}ka-control>div{display:flex;flex-wrap:nowrap}ka-control>div>.ka-control-buttons{display:flex}ka-control>div>.ka-control-buttons button,ka-control>div>.ka-control-buttons button:focus{-webkit-appearance:none;-moz-appearance:none;display:block;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control>div>.ka-control-buttons button .material-icons,ka-control>div>.ka-control-buttons button i[class*=fa],ka-control>div>.ka-control-buttons button:focus .material-icons,ka-control>div>.ka-control-buttons button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-control>div>.ka-control-buttons button:hover,ka-control>div>.ka-control-buttons button:focus:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5);color:#ed5a23}ka-control>div>.ka-control-buttons button:focus,ka-control>div>.ka-control-buttons button:focus:hover,ka-control>div>.ka-control-buttons button:focus:focus,ka-control>div>.ka-control-buttons button:focus:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control>div>.ka-control-buttons .button-dropdown{border-left:0}ka-control>.ka-control-overlay{width:100%}ka-control>.ka-control-overlay .ka-control-error{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#f30;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 10px 10px -8px rgba(255,51,0,.3),10px 0 10px -8px rgba(255,51,0,.3),-10px 0 10px -8px rgba(255,51,0,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-error:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(255,51,0,.1);z-index:-1}ka-control>.ka-control-overlay .ka-control-error span+span:before{content:\\\"-\\\";margin:0 5px}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller{display:flex;width:fit-content}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller span.clone{display:none}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller{animation:ka-control-error-scroller infinite 10s linear}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller span.clone{display:inline}ka-control>.ka-control-overlay .ka-control-description{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#ed5a23;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 10px 10px -8px rgba(237,90,35,.3),10px 0 10px -8px rgba(237,90,35,.3),-10px 0 10px -8px rgba(237,90,35,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-description:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(237,90,35,.1);z-index:-1}ka-control.focus>div:first-of-type{background:#fff;box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 0 10px 0 rgba(237,90,35,.3)}ka-control.focus:not(.error)>.ka-control-overlay .ka-control-description{height:2rem;opacity:1}ka-control.focus.error>.ka-control-overlay .ka-control-error{height:2rem;opacity:1}ka-control.error>label{color:#f30;animation:ka-control-shake .7s}ka-control.error>div:first-of-type{background-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 0 10px 0 rgba(255,51,0,.3)}ka-control.error:not(.hadFocus)>.ka-control-overlay .ka-control-error{animation:4s ka-control-slidedownup}ka-control.ka-control-combo:not(.error)>div:hover+.ka-control-overlay .ka-control-description{display:block}ka-control.show-label-overflow>label{overflow:visible}ka-control.no-label>label{display:none}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999}@keyframes ka-control-slidedown{from{opacity:0;height:0}to{opacity:1;height:2rem}}@keyframes ka-control-slidedownup{0%{opacity:0;height:0}5%{opacity:1;height:2rem}95%{opacity:1;height:2rem}100%{opacity:0;height:0}}@keyframes ka-control-error-scroller{0%{transform:translateX(0%)}100%{transform:translateX(-50%)}}ka-control-check{position:relative;height:3rem;display:flex;align-items:center}ka-control-check input[type=checkbox]{display:block;margin:0;border:0;border-radius:1px;width:1.4rem;height:1.4rem;background:rgba(0,0,0,0);box-shadow:inset 0 0 0 1px #404040}ka-control-check input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-check .description{display:inline-block;padding-left:1rem;max-width:100%;overflow:hidden;line-height:3rem;font-size:1.4rem;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-control-combo{display:block;position:relative;height:3rem;overflow:hidden}ka-control-combo .display-value{overflow:hidden;cursor:text}ka-control-combo .display-value ul{margin:0;padding:0 .1px 0 0;list-style:none;user-select:none;white-space:nowrap;display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:nowrap}ka-control-combo .display-value ul li{position:relative;display:block;font-size:1.4rem;line-height:3rem;color:#404040;cursor:pointer;overflow:hidden;text-overflow:ellipsis;flex-grow:0;flex-shrink:1;flex-basis:auto;transition:all .3s}ka-control-combo .display-value ul li:not(:last-child){margin-right:.3rem}ka-control-combo .display-value ul li:not(:last-child):after{content:\\\",\\\"}ka-control-combo .display-value ul li i{display:none;position:absolute;top:0;right:0;width:2.4rem;font-size:inherit;line-height:inherit;color:#fff;text-align:center;background-color:#ed5a23}ka-control-combo .display-value ul li:hover{flex-grow:0;flex-shrink:0;max-width:calc(100% - .6rem);max-width:--webkit-fill-available}ka-control-combo .display-value ul li:hover i{display:block}ka-control-combo.multiple .display-value:not(.readonly){padding-left:0}ka-control-combo.multiple .display-value:not(.readonly) ul li{margin:.3rem;border-radius:.2rem;padding:0 .5rem;line-height:2.4rem;box-shadow:inset 0 0 0 1px rgba(237,90,35,.5);background-color:rgba(237,90,35,.2)}ka-control-combo.multiple .display-value:not(.readonly) ul li:after{display:none}ka-control-backdrop{background-color:rgba(0,0,0,.0666666667)}ka-control-combo [ref=drawer],ka-control-backdrop [ref=drawer]{position:absolute;top:3rem;z-index:2000;width:100%;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-combo [ref=drawer] .search,ka-control-backdrop [ref=drawer] .search{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background-color:#fff}ka-control-combo [ref=drawer] .search-loader,ka-control-backdrop [ref=drawer] .search-loader{position:absolute;right:0;width:3rem;height:3rem;font-size:1.5rem;line-height:3rem;text-align:center;color:#404040;--fa-animation-duration: 0.5s}ka-control-combo [ref=drawer] ul,ka-control-backdrop [ref=drawer] ul{margin:0;padding:0;width:100%;max-height:25rem;overflow:hidden;overflow-y:auto;list-style:none;user-select:none}ka-control-combo [ref=drawer] ul li,ka-control-backdrop [ref=drawer] ul li{position:relative;margin:0;padding:.5rem 1rem;overflow:hidden;font-size:1.4rem;line-height:2rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}ka-control-combo [ref=drawer] ul li.optgroup,ka-control-backdrop [ref=drawer] ul li.optgroup{color:rgba(64,64,64,.6)}ka-control-combo [ref=drawer] ul li:not(.optgroup):not(.readonly):hover,ka-control-backdrop [ref=drawer] ul li:not(.optgroup):not(.readonly):hover{background-color:rgba(237,90,35,.1)}ka-control-combo [ref=drawer] ul li:not(.readonly).selected,ka-control-backdrop [ref=drawer] ul li:not(.readonly).selected{color:#ed5a23}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup),ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup){padding-left:30px}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup)::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup)::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before{background-color:rgba(64,64,64,.7);box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-date .ka-control-date-drawer{display:none}ka-control-datetime .ka-control-datetime-drawer{display:none}ka-datetime{display:block}ka-datetime .selectors{color:rgba(64,64,64,.5);box-shadow:inset 0 -1px 0 #e0e0e0}ka-datetime .selectors:last-of-type{box-shadow:inset 0 1px 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(1) button{box-shadow:inset -1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(2)>div{position:relative;margin:0 0 0 auto;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(2)>div select{text-transform:capitalize;box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(3)>div{position:relative;margin:0 auto 0 0;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(3)>div select{box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(4) button{box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;color:inherit;background:rgba(0,0,0,0);transition:all .5s}ka-datetime .selectors button:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0 1rem;width:100%;height:3rem;font-size:1.4rem;line-height:3rem;color:#404040;background:rgba(0,0,0,0);box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0,inset 0 -1px 0 #e0e0e0;transition:all .5s}ka-datetime .selectors select:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select+.dropdown{pointer-events:none;display:block;position:absolute;top:0;right:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center}ka-datetime .weekdays{color:#404040;font-size:1rem;font-weight:700;line-height:2rem;text-align:center;text-transform:uppercase}ka-datetime .days button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:100%;height:2rem;font-size:1rem;line-height:2rem;color:inherit;text-align:center;background:rgba(0,0,0,0)}ka-datetime .days button:not([disabled]):hover{color:#ed5a23;background:rgba(237,90,35,.1)}ka-datetime .days button.selected,ka-datetime .days button.selected:hover{color:#fff;background:#ed5a23}ka-datetime .days button[disabled]{opacity:.5}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999;background-color:rgba(0,0,0,.0666666667)}ka-control-backdrop [ref=drawer]{display:block !important;position:absolute;z-index:2000;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-file input[type=file]{outline:none;position:absolute;top:0;left:0;opacity:0;border:0;border-radius:0;padding:0;width:100%;height:3rem}ka-control-file .buttons{display:none;position:absolute;top:0;right:0;white-space:nowrap;text-align:right;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)}ka-control-file .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:2.9rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-file .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-file .buttons button:hover{color:#ed5a23}ka-control-file .buttons button+button{box-shadow:inset 1px 0 0 0 rgba(64,64,64,.1)}ka-control-file:hover .buttons{display:block}ka-control-list .display-value{background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0)}ka-control-list .item:not(.readonly){background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3)}ka-control-list .row{margin-left:0;margin-right:0}ka-control-list .row label{display:none}ka-control-list .buttons{display:inline-block;float:right;width:6rem;height:3rem;white-space:nowrap;text-align:right}ka-control-list .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-list .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-list .buttons button:hover{color:#ed5a23}ka-control-table{display:block;margin:1rem 0}ka-control-table h3{padding-left:0}ka-control-table table.ka-table-like{border:1px solid #e0e0e0;background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr:nth-child(even){background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}ka-control-table table.ka-table-like ka-input{margin:0}ka-control-table table.ka-table-like ka-input label{display:none}ka-control-table table.ka-table-like td.ka-tr-tools{width:5rem;border-left:1px solid #e0e0e0;text-align:center !important;vertical-align:middle}ka-control-textarea .display-value{padding-top:.4rem !important;padding-bottom:.4rem !important;min-height:10rem;line-height:1.6 !important}tr.ka-table-filters{border-top:1px solid #e0e0e0}tr.ka-table-filters th{padding:0 !important;height:4rem}tr.ka-table-filters th ka-control{position:absolute;top:.5rem;left:.5rem;margin:0;width:calc(100% - .75rem)}tr.ka-table-filters th ka-control .display-value,tr.ka-table-filters th ka-control .display-value:hover,tr.ka-table-filters th ka-control .display-value:focus{font-size:1.1rem;box-shadow:inset 0 0 5px 0 #d0d0d0,inset 0 0 1px 1px #d0d0d0}tr.ka-table-filters th:last-of-type{padding-right:1rem !important;font-size:1.1rem;font-weight:normal;text-align:right}tr.ka-table-filters th:last-of-type a{text-decoration:none}tr.ka-table-filters th:last-of-type a:hover{text-decoration:underline}ka-progress.linear{display:block;position:relative;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}ka-progress.linear>div{background-color:#ed5a23}ka-progress.linear>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}ka-progress.linear>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes ka-progress-linear-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes ka-progress-linear-indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}html{font:62.5% \\\"Roboto\\\",sans-serif;background:#f9f9f9}.hidden{display:none}.shadow1{box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}h1{color:#ed5a23}h2{position:relative;margin:0 0 1rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:0 0 0 1rem;line-height:5rem;font-size:1.6rem;font-weight:400;color:#ed5a23;text-decoration:none}h2:first-child{border-top:0}h2::before{content:\\\" \\\";display:block;position:absolute;left:0;top:0px;z-index:-1;border-radius:50%;height:10px;width:100%;background-color:#000;box-shadow:0 0 10px rgba(0,0,0,.2)}h2::after{content:\\\" \\\";display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;background-color:#fcfcfc}h2>i.material-icons{line-height:5rem;vertical-align:bottom}h2>i[class*=fa]{margin:0 1rem 0 -1rem;border-right:1px solid #e0e0e0;width:5rem;font-size:2.5rem;line-height:5rem;vertical-align:bottom;text-align:center}h2 .ka-button,h2 ka-button{float:right}h3{margin:1rem 0;padding:0 1rem;line-height:1.4rem;font-size:1.4rem;font-weight:400;color:#ed5a23;text-decoration:none}h4,h5{color:#404040}p{margin:1rem;font-size:1.4rem;line-height:1.6;color:#404040}ul,ol{margin:1rem;padding:0 0 0 1.5rem;font-size:1.4rem;line-height:1.6;color:#404040}ul li,ol li{margin:0;padding:0}p a,ul a,ol a{color:#404040}.primary-text{color:#ed5a23}.primary-background{background-color:#ed5a23}.accent-text{color:#19a5f2}.accent-background{background-color:#19a5f2}.error-text{color:#f30}.error-background{background-color:#f30}.success-text{color:#1cc800}.success-background{background-color:#1cc800}router-view{display:block;min-height:calc(100% - 5rem);max-height:calc(100% - 5rem);overflow-y:auto;transition:all 250ms;-moz-transition:all 250ms;-webkit-transition:all 250ms}ka-resource ka-input,ka-resource ka-tab>ka-input,ka-resource ka-flex-row ka-tab>ka-input,ka-resource ka-flex-col ka-tab>ka-input,ka-resource md-input,ka-resource ka-tab>md-input,ka-resource ka-flex-row ka-tab>md-input,ka-resource ka-flex-col ka-tab>md-input{margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem)}ka-resource ka-flex-row ka-input,ka-resource ka-flex-col ka-input,ka-resource ka-flex-row md-input,ka-resource ka-flex-col md-input{margin-left:0;margin-right:0;width:100%}ka-resource ka-table{margin:1rem;border:1px solid #e0e0e0}ka-flex-col>h2{margin-left:-0.5rem;margin-right:-0.5rem}ka-flex-col:first-of-type>h2{margin-left:-1.5rem}ka-flex-col:last-of-type>h2{margin-right:-1.5rem}ka-tabs ka-tab>ka-table:first-child{margin-top:0}ka-tabs ka-tab>ka-input,ka-tabs ka-tab>md-input{margin-top:3rem}ka-tabs ka-tab>ka-input:first-child,ka-tabs ka-tab>md-input:first-child{margin-top:1.5rem}ka-tabs ka-tab>ka-input:first-child.no-label,ka-tabs ka-tab>md-input:first-child.no-label{margin-top:0}h2+ka-input,h2+md-input{margin-top:2.5rem}ka-flex-row>ka-input+.ka-button,ka-flex-row>ka-input+ka-button,ka-flex-row>md-input+.ka-button,ka-flex-row>md-input+ka-button{margin-top:1.5rem}.md-toast{padding:2rem;border-radius:5px;position:absolute;z-index:9999;left:50%;bottom:-100%;opacity:0;background:#353535;box-shadow:inset 0 0 0 1px #000,0 0 5px rgba(0,0,0,.5);transform:translateX(-50%);transition:bottom .8s ease-in-out,opacity .4s ease-in-out}.md-toast.visible{opacity:1;bottom:2rem}.md-toast.platform-messages{display:grid;grid-template-columns:min(12vw,8rem) 1fr min(12vw,8rem);padding:0;min-height:8rem;min-width:30rem}.md-toast.platform-messages>.icon-box,.md-toast.platform-messages .closure-box{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.8))}.md-toast.platform-messages>.icon-box{display:flex;align-items:center;justify-content:center;border-bottom-left-radius:4px;border-top-left-radius:4px;box-shadow:inset -1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.icon-box>i{font-size:min(1vw + 1.4rem,2rem);text-shadow:1px 1px 0 #000}.md-toast.platform-messages>.closure-box{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s;border-bottom-right-radius:4px;border-top-right-radius:4px;box-shadow:inset 1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.closure-box:before{text-shadow:1px 1px 0 #000;transition:transform .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:min(1vw + 1.4rem,2rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e0e0e0;vertical-align:unset;animation:unset;font-weight:400}.md-toast.platform-messages>.closure-box:hover{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), black)}.md-toast.platform-messages>.closure-box:hover:before{transform:scale(1.2)}.md-toast.platform-messages>.content-box{display:flex;align-items:center;position:relative;padding:1rem}.md-toast.platform-messages>.content-box:before,.md-toast.platform-messages>.content-box:after{display:block;position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0}.md-toast.platform-messages>.content-box:before{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.5))}.md-toast.platform-messages>.content-box:after{background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 1px, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 50%)}.md-toast.platform-messages>.content-box>p{display:flex;align-items:center;flex-direction:column;justify-content:space-around;margin:0;position:relative;z-index:1;max-height:100%;min-height:80%;line-height:1.3;text-align:center;font-size:min(1vw + .9rem,1.5rem);font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:300;color:#fff}.md-toast.platform-messages>.content-box>p>a{line-height:2.2;font-weight:300;font-size:min(1vw + .8rem,1.3rem);font-family:\\\"Roboto flex\\\",sans-serif;text-shadow:1px 1px 0 #000;text-underline-offset:.4rem;white-space:nowrap;transition:all .3s}.md-toast.platform-messages>.content-box>p>a:hover{color:#fff}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}0%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout{position:relative;display:block}km-layout aside{display:flex;flex-direction:column;align-content:stretch;position:fixed;z-index:200;top:0;left:0;bottom:0;height:auto;width:30rem;background:#fff;box-shadow:1px 0 0 0 rgba(35,45,61,.6);transition:transform .3s ease-in-out}km-layout aside .menu-level{padding:1rem;font-size:1rem;font-weight:700;text-align:center;text-transform:uppercase;color:#fff;background-color:#11254b}km-layout aside a:link{color:rgba(64,64,64,.9019607843);text-decoration:none}km-layout aside .km-layout-logo{position:relative;display:block;width:100%;padding-bottom:50%;background-position:center;background-repeat:no-repeat;background-size:75%;transition:background-size .3s ease-in-out;transition-delay:.1s;animation:logo-start-animation .8s ease-in-out}km-layout aside .km-layout-logo.empty{padding-bottom:0;height:6rem}km-layout aside .km-layout-logo:after{content:\\\"\\\";position:absolute;z-index:-1;width:100%;height:100%;box-shadow:inset 0 -12px 20px 10px rgba(239,0,0,.04);background:linear-gradient(to bottom, rgba(0, 0, 255, 0.04) 30%, rgba(239, 0, 0, 0.04) 60%)}km-layout aside nav{height:100%;overflow-y:auto;overflow-x:hidden;box-shadow:0 -1px 0 0 rgba(239,0,0,.3);background:#f0f0f0}km-layout aside nav::-webkit-scrollbar{display:none}km-layout aside nav.example{-ms-overflow-style:none;scrollbar-width:none}km-layout aside nav ul{list-style:none;margin:0;padding:0;width:100%;background:#fff}km-layout aside nav ul li{margin:0;width:100%;cursor:pointer}km-layout aside nav ul li>.sub-nav{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s ease-in-out,visibility .4s ease-in-out}km-layout aside nav ul li>.sub-nav>ul{min-height:0;overflow:hidden}km-layout aside nav ul li>.wrapper{position:relative;z-index:401;display:flex;align-items:center;width:100%;transition:transform .6s ease-in-out,color .4s ease-in-out,box-shadow .4s ease-in-out,background .6s ease-in-out}km-layout aside nav ul li>.wrapper>a,km-layout aside nav ul li>.wrapper>span{display:flex;align-items:center;height:100%;flex-grow:1}km-layout aside nav ul li>.wrapper>a>.label,km-layout aside nav ul li>.wrapper>span>.label{position:relative}km-layout aside nav ul li.static .wrapper>*>i.after-icon{margin-left:auto;padding:0;font-size:1.2rem;color:#11254b}km-layout aside nav ul li.static:hover .wrapper>i{color:#e44c13}km-layout aside nav ul li.expandable .wrapper>i{display:flex;align-items:center;margin-left:auto;padding:0 1.5rem;height:4.8rem;font-size:1.2rem;transition:transform .5s ease-in-out}km-layout aside nav ul li.expanded>.sub-nav{visibility:visible}km-layout aside nav ul li.collapsed>.sub-nav{grid-template-rows:0fr;visibility:hidden}km-layout aside nav ul li:not(.expandable)>.wrapper>a>.explanation,km-layout aside nav ul li:not(.expandable)>.wrapper>span>.explanation{display:flex;align-items:center;margin-left:auto;border-radius:3px;font-size:1.3rem;height:2rem;padding:.5rem;color:#11254b;text-transform:none;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;background:rgba(64,64,64,.08)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b{display:flex;align-items:center;margin-left:auto;font-size:1.3rem;text-align:center;position:relative;line-height:1;height:2.2rem;padding:0 .6rem;border-radius:3px;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif;color:#11254b;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.04)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b>i,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b>i{margin:0 0 0 .6rem;font-size:1.3rem;color:#ed5a23}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b:not(.custom):after,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b:not(.custom):after{content:\\\"\\\";display:inline-block;font-size:1.4rem;font-style:normal;font-weight:400;font-variant:normal;text-rendering:auto;margin:0 0 0 .5rem;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout aside nav ul.first-level{box-shadow:0 4px 4px 0 rgba(0,0,0,.2)}km-layout aside nav ul.first-level>li>.wrapper{font-weight:700;font-size:1.3rem;text-transform:uppercase;background:rgba(0,0,0,0);height:4.8rem;box-shadow:inset 0 -1px 0 0 rgba(35,45,61,.6)}km-layout aside nav ul.first-level>li>.wrapper:hover>*>.label:before{width:100%}km-layout aside nav ul.first-level>li>.wrapper>a,km-layout aside nav ul.first-level>li>.wrapper>span{padding:0 1.5rem;color:#0c1b36}km-layout aside nav ul.first-level>li>.wrapper>a>.label:before,km-layout aside nav ul.first-level>li>.wrapper>span>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:0;left:0;width:0;height:1px;background:rgba(17,37,75,.6);transition:width .5s ease}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon{padding:0 .7rem 0 0;margin-bottom:.2rem;font-size:1.6rem;color:#1a3a75}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.animated,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.animated{animation:first-level-before-icon 10s ease-in-out infinite}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.primary,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.primary{color:#e44c13}km-layout aside nav ul.first-level>li>.wrapper>a>i.svg-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.svg-icon{margin:0 .7rem 0 0;width:2rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:0 45%;background-repeat:no-repeat}km-layout aside nav ul.first-level>li.expanded>.sub-nav>ul.second-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 1px 4px 4px 0 rgba(35,45,61,.2)}km-layout aside nav ul.first-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.5)}km-layout aside nav ul.first-level>li.expanded>.wrapper>i{transform:scale(1) rotate(180deg)}km-layout aside nav ul.first-level>li.collapsed>.wrapper>i{transform:scale(1) rotate(0deg)}km-layout aside nav ul.second-level{background:#f0f0f0}km-layout aside nav ul.second-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto slab\\\",serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.second-level>li>.wrapper>a,km-layout aside nav ul.second-level>li>.wrapper>span{padding:0 1.5rem 0 1.5rem;color:#404040}km-layout aside nav ul.second-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.second-level>li>.wrapper>span>i.after-icon{font-size:1.2rem;margin-left:auto;color:#11254b}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper{font-family:\\\"Roboto condensed\\\",sans-serif}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.06)}km-layout aside nav ul.second-level>li>.sub-nav>ul.third-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 0 1px 5px -2px rgba(0,0,0,.2)}km-layout aside nav ul.second-level li.expanded>.wrapper>i{transform:rotate(180deg)}km-layout aside nav ul.second-level li.collapsed>.wrapper>i{transform:rotate(0deg)}km-layout aside nav ul.second-level>li.expandable{background:#fff}km-layout aside nav ul.second-level>li.expandable .wrapper>i{color:rgba(64,64,64,.6)}km-layout aside nav ul.second-level>li.highlighted>.wrapper>a,km-layout aside nav ul.second-level>li.highlighted>.wrapper>span{font-size:1.5rem;color:#ec4f15}km-layout aside nav ul.third-level{background:#f0f0f0}km-layout aside nav ul.third-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.third-level>li>.wrapper>a,km-layout aside nav ul.third-level>li>.wrapper>span{color:rgba(0,0,0,.7);padding:0 1.5rem 0 2rem}km-layout aside nav ul.third-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.third-level>li>.wrapper>span>i.after-icon{font-size:1.3rem;margin-left:auto;color:#11254b}km-layout aside nav ul.third-level>li>.wrapper>a>.label:before,km-layout aside nav ul.third-level>li>.wrapper>span>.label:before{display:inline-block;margin:0 .7rem 0 0;content:\\\"\\\";width:3px;height:3px;border-radius:50%;background:rgba(0,0,0,.5);vertical-align:middle;transition:color .6s ease}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span{font-weight:600;color:#11254b;letter-spacing:.01rem}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a>span:before,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span>span:before{width:3.5px;height:3.5px;background:#ec4f15}km-layout aside nav ul.second-level>li>.wrapper>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{display:block;content:\\\"\\\";position:absolute;bottom:1px;left:0;width:0;height:1px;background:rgba(0,0,0,.5);transition:width .6s ease}km-layout aside nav ul.second-level>li>.wrapper:hover>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:100%}km-layout aside nav ul.second-level>li.highlighted>.wrapper>*>.label:after{background:rgba(237,90,35,.5)}km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{left:1rem}km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:calc(100% - 1rem)}km-layout aside nav ul.third-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.07)}km-layout aside nav ul.third-level>li:not(.highlighted)>.wrapper:hover>*>.label:before{background:#000}km-layout aside div[slot=afterNav]{background:#f0f0f0}@keyframes first-level-before-icon{0%{opacity:0;transform:translateX(-200%)}3%{opacity:1;transform:translateX(0%)}96%{opacity:1}100%{opacity:0}}@keyframes logo-start-animation{0%{opacity:0;background-size:300%}30%{opacity:0;background-size:300%}100%{opacity:1;background-size:75%}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header{position:fixed;top:0;right:0;left:0;z-index:1;padding-left:1rem;height:6rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background:#232d3d}km-layout header *{color:inherit}km-layout header h1{display:block;margin:0 1rem 0 0;font-size:min(1rem + 1.5vw,2.5rem);font-weight:300;font-family:\\\"Roboto flex\\\",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}km-layout header .km-layout-info-box{display:flex;align-items:center;justify-content:center;margin-left:auto}km-layout header .km-layout-info-box>.wrapper{display:flex;align-items:center;justify-content:center;border-radius:2px;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:800;line-height:1.1;color:#11254b;text-transform:uppercase;background:#fff}km-layout header .km-layout-info-box>.wrapper>div{margin-left:1.2rem;padding-left:1.6rem;white-space:nowrap;box-shadow:inset 1px 0 0 rgba(17,37,75,.2);font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-info-box>.wrapper>div>strong{font-weight:700;color:#f30}km-layout header .km-layout-info-box>.wrapper>i{font-size:2.5rem;color:#11254b}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header .km-layout-user{position:relative;display:flex;flex-direction:row;align-items:center;flex-shrink:0;margin-left:auto;overflow:hidden}km-layout header .km-layout-user>span{border-radius:50%;width:min(2rem + 2.2vw,4.2rem);height:min(2rem + 2.2vw,4.2rem);overflow:hidden;margin-left:1rem;background:rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px #fff}km-layout header .km-layout-user>span.profile-icon{display:flex;align-items:center;justify-content:center}km-layout header .km-layout-user>span.profile-icon>i{font-size:min(1rem + 1vw,2.1rem)}km-layout header .km-layout-user>span.profile-picture{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}km-layout header .km-layout-user>div.user-profile{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 1rem;font-size:1.3rem;line-height:1.5rem;height:6rem;cursor:pointer}km-layout header .km-layout-user>div.user-profile>strong.user-name-title{align-self:flex-start;font-size:min(1rem + .5vw,1.4rem);line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.05rem;font-family:\\\"Roboto flex\\\",sans-serif;color:#fff}km-layout header .km-layout-user>div.user-profile>span{display:block}km-layout header .km-layout-user>div.user-profile>span.displayName{font-weight:70}km-layout header .km-layout-user>div.user-profile>span.user-name{max-width:15vw;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:400;font-size:min(1rem + .5vw,1.5rem);line-height:1.3;color:rgba(255,255,255,.8);font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-user>div.user-profile>span.impersonation{border-radius:2px;padding:.5rem;font-size:11px;font-weight:700;line-height:1;color:red;text-transform:uppercase;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.4)}km-layout header .km-layout-user>a{display:flex;position:absolute;flex-direction:row;align-items:center;justify-content:center;top:6rem;right:0;width:100%;height:100%;font-size:1.5rem;text-decoration:none;color:#fff;opacity:.5;font-weight:200;font-family:\\\"Roboto flex\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;text-decoration-color:rgba(255,255,255,.4);background:#181f2b;transition:top .5s ease,opacity .5s ease;box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2)}km-layout header .km-layout-user:hover>a{top:0;opacity:1}km-layout aside+header{left:30rem;transition:all .3s ease-in-out;transition-delay:.1s}km-layout+router-view{position:fixed;top:6rem;right:0;bottom:0;left:30rem;transition:left .3s ease-in-out;transition-delay:.2s}km-layout.collapsed aside{transform:translateX(-100%)}km-layout.collapsed aside .km-layout-logo{background-size:200%;transition-delay:.3s}km-layout.collapsed aside+header{padding-left:6rem;left:0;transition-delay:0s}km-layout.collapsed+router-view{left:0;transition-delay:0s}@media screen and (max-width: 860px){km-layout aside+header{padding-left:6rem;left:0}km-layout+router-view{left:0}}@media screen and (max-width: 620px){km-layout header .km-layout-user{display:none}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header .km-layout-toolbar{display:flex;flex-direction:row;align-items:center}km-layout header .km-layout-toolbar>button,km-layout header .km-layout-toolbar>.button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:min(3rem + 3vw,60px);height:60px;font-size:13px;font-weight:700;line-height:1;color:#fff;text-decoration:none;background:rgba(0,0,0,.3);box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button i,km-layout header .km-layout-toolbar>.button i{display:block;font-size:min(1.5rem + 1vw,2.5rem)}km-layout header .km-layout-toolbar>button span,km-layout header .km-layout-toolbar>.button span{display:block;font-size:min(.5rem + .5vw,1rem);letter-spacing:.05rem;font-weight:300;text-transform:uppercase;opacity:0;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-toolbar>button i+span,km-layout header .km-layout-toolbar>.button i+span{height:0;overflow:hidden;opacity:0;transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button:hover i+span,km-layout header .km-layout-toolbar>.button:hover i+span{margin-top:5px;height:10px;opacity:.8}km-layout header .km-layout-toolbar>button b,km-layout header .km-layout-toolbar>.button b{display:flex;align-items:center;justify-content:center;position:absolute;padding:0 .5rem;top:4px;right:4px;border-radius:50%;min-width:24px;height:24px;font-size:1.2rem;font-weight:500;color:#e62e00;text-align:center;background:#fff;font-family:\\\"Roboto condensed\\\",sans-serif;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout header .km-layout-toolbar>.button b{letter-spacing:-0.3px}km-layout header .km-layout-toolbar .notifications-error a[href=notifiche]>b{font-size:1.4rem;color:#11254b}km-layout header .km-layout-toolbar>ul[data-subtool]{position:absolute;top:60px;margin:0;padding:0;list-style:none;max-height:0;overflow:hidden;background:#232d3d;transition:max-height .6s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool].visible{max-height:calc(4.8rem*8)}km-layout header .km-layout-toolbar>ul[data-subtool] li{margin:0;padding:0}km-layout header .km-layout-toolbar>ul[data-subtool] li a{display:flex;align-items:center;padding:0 2rem;font-size:1.4rem;color:#fff;height:4.8rem;text-decoration:none;background-color:rgba(0,0,0,.15);box-shadow:inset 0 2px 0 -1px rgba(255,255,255,.3);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i{margin-right:1rem;font-size:2rem;width:2.5rem;color:rgba(255,255,255,.8)}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i.svg-icon{margin-right:1.1rem;width:2.3rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:center;background-repeat:no-repeat}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label{position:relative}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:#fff;transition:width .3s ease}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover{background-color:rgba(0,0,0,.3)}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover>.label:before{width:100%}km-layout header .km-layout-toolbar>ul[data-subtool] li:first-of-type>a{box-shadow:none}km-layout .km-layout-burger{display:block;position:fixed;top:10px;left:10px;width:4rem;height:4rem;cursor:pointer;z-index:100;text-align:center;color:#ed5a23}km-layout .km-layout-burger .material-icons{font-size:2.8rem;color:#e44c13;line-height:4rem;transition:color .3s ease-in-out}km-layout.collapsed .km-layout-burger{color:#fff}km-layout.collapsed .km-layout-burger .material-icons{color:#fff}body>.md-tooltip{display:block;position:absolute;content:attr(ka-tooltip);z-index:1100;padding:1rem;border-radius:2px;border:1px solid #e0e0e0;max-width:20rem;line-height:1.5 !important;font-size:1.3rem !important;font-family:\\\"Roboto condensed\\\",sans-serif;opacity:0;color:#404040;background:#f9f9f9;transform:translateX(-50%);box-shadow:0 3px 6px -3px rgba(0,0,0,.5);pointer-events:none;transition:opacity .5s}body>.md-tooltip.visible{opacity:1}body>.md-tooltip ul{margin:-0.5rem;padding:0;list-style:none}body>.md-tooltip ul li{line-height:1.5 !important;border-bottom:1px solid #e0e0e0;padding:.5rem}body>.md-tooltip ul li:last-of-type{border-bottom:0}ka-input[md-tooltip] i.tooltip-icon,md-input[md-tooltip] i.tooltip-icon,ka-control[md-tooltip] i.tooltip-icon,md-control[md-tooltip] i.tooltip-icon{margin-left:0;font-size:1.5rem;cursor:pointer;transition:color .3s;vertical-align:bottom}ka-input[md-tooltip] span+i.tooltip-icon,md-input[md-tooltip] span+i.tooltip-icon,ka-control[md-tooltip] span+i.tooltip-icon,md-control[md-tooltip] span+i.tooltip-icon{margin-left:.4rem;vertical-align:sub}ka-input[md-tooltip] i.tooltip-icon:hover,md-input[md-tooltip] i.tooltip-icon:hover,ka-control[md-tooltip] i.tooltip-icon:hover,md-control[md-tooltip] i.tooltip-icon:hover{color:#ed5a23}*[static-tooltip]{display:inline-flex;align-items:center;line-height:inherit;cursor:pointer;transition:color .3s}*[static-tooltip]:not(.has-custom-icon):after{margin-left:.5rem !important;display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}*[static-tooltip]:hover{color:#ed5a23}*[static-tooltip]>i{display:flex;text-decoration:none}body>.static-tooltip{font-size:1.2rem;color:#fff;pointer-events:auto}body>.static-tooltip>.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;padding:0 0 1rem;border-bottom:1px dotted rgba(255,255,255,.3)}body>.static-tooltip>.header>.header-title{display:flex;align-items:flex-end}body>.static-tooltip>.header>.header-title>i{margin:0 !important}body>.static-tooltip>.header>.header-title>i>svg{width:2.2rem;height:2.2rem;margin:0 !important}body>.static-tooltip>.header>.header-title>h3{margin:0;padding:0 1rem 0 .6rem;font-size:1.5rem;font-weight:500;color:#fff;order:2;font-family:\\\"Roboto flex\\\",sans-serif}body>.static-tooltip>.header>.header-title>h3:first-child{padding-left:0}body>.static-tooltip>.header>.closure:before{cursor:pointer;display:inline-block;content:\\\"\\\";margin:0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(255,255,255,.95);vertical-align:unset;animation:unset;font-weight:900}body>.static-tooltip>.value>p{margin:0;font-size:1.2rem;color:#fff}body>.static-tooltip>.value>p>strong{font-size:1.4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}body>.static-tooltip>.value>p>a{display:inline-block;margin-top:.3rem;font-weight:300;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-underline-offset:.4rem;color:#ffcb50;text-shadow:1px 1px 0 #000;letter-spacing:.03rem}body>.static-tooltip>.value>p>a:hover{color:#fff}body>.static-tooltip>.value>p>a:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ffcb50;vertical-align:unset;animation:unset;font-weight:400}*[md-action]{--loader-width: 1.1em;--loader-thickness: 3.5px;display:inline-flex;align-items:center;cursor:pointer;transition:color .3s ease}*[md-action]:hover{color:#e44c13}*[md-action] .wrapper{width:clamp(2.5rem,1.5vw,3.5rem);min-width:var(--loader-width);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}*[md-action] .wrapper.icon-after{text-align:right;margin-left:.5rem;width:fit-content;min-width:unset}*[md-action] .wrapper.icon-after.load>.spinner-loader{display:inline-block;vertical-align:text-top}*[md-action] .wrapper>i{font-size:inherit;color:#e44c13}*[md-action] .wrapper>.spinner-loader{display:none;width:var(--loader-width);aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #11254b 95%, rgba(0, 0, 0, 0)) top/var(--loader-thickness) var(--loader-thickness) no-repeat,conic-gradient(rgba(0, 0, 0, 0) 20%, #11254b);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - var(--loader-thickness)), #000 0);animation:l13 1s infinite linear}*[md-action].load{display:inline-flex !important}*[md-action].load .wrapper>i{display:none}*[md-action].load .wrapper>.spinner-loader{display:block}@keyframes l13{100%{transform:rotate(1turn)}}km-layout:not(.collapsed)+router-view+.ka-toast,km-layout:not(.collapsed)+router-view+style+.ka-toast{left:calc(50% + 15rem) !important;transform:translate(-50%, calc(100% + 3rem)) !important}km-layout:not(.collapsed)+router-view+.ka-toast.visible,km-layout:not(.collapsed)+router-view+style+.ka-toast.visible{transform:translate(-50%, 0) !important}.ka-toast{position:fixed;right:auto;top:auto;bottom:2rem;left:50%;z-index:2000;border:0;border-radius:5px;padding:2rem;overflow:hidden;font-size:1.3rem;line-height:1rem;text-align:center;color:#e0e0e0;text-shadow:0 0 5px #1a1a1a;background-color:#404040;box-shadow:inset 0 0 0 1px #101010,0 0 10px rgba(0,0,0,.5);transform:translate(-50%, calc(100% + 3rem));transition:all .5s}.ka-toast.visible{transform:translate(-50%, 0)}.ka-toast a{color:#e0e0e0}.ka-toast:before{display:block;position:absolute;top:0;left:0;width:5rem;height:5rem;font-style:normal;font-variant:normal;font-size:2rem;line-height:5rem;text-align:center;text-rendering:auto;-webkit-font-smoothing:antialiased}.ka-toast.ka-toast-loading{padding-left:4rem;color:#fff;background-color:#202020}.ka-toast.ka-toast-loading:before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\";-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.ka-toast.ka-toast-error{padding-left:4rem;color:#f30;background-color:#202020}.ka-toast.ka-toast-error::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-error::after{content:\\\" \\\";display:block;border-radius:5px;position:absolute;inset:0 0 0 0;box-shadow:inset 0 0 0 1px #202020,inset 0 0 0 2px rgba(255,51,0,.5)}.ka-toast.ka-toast-success{padding-left:4rem;color:#1cc800;background-color:#202020}.ka-toast.ka-toast-success::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-accent,.ka-toast.ka-toast-warning{color:#19a5f2;background-color:#202020}.ka-toast.ka-toast-accent::before,.ka-toast.ka-toast-warning::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-primary{color:#ed5a23;background-color:#202020}@keyframes animate-katoast-icon{0%{transform:scale(1)}50%{transform:scale(1.5)}0%{transform:scale(1)}}#serverStatus,#appUpdate{position:fixed;left:0;bottom:0;width:100vw;height:5rem;line-height:5rem;z-index:200;font-size:1.4rem;font-weight:300;color:#fff;text-align:center;background:#f30;text-shadow:1px 1px 0 rgba(0,0,0,.8);box-shadow:0 0 10px rgba(0,0,0,.2)}#serverStatus#appUpdate,#appUpdate#appUpdate{display:flex;align-items:center;justify-content:center}#serverStatus#appUpdate strong:before,#appUpdate#appUpdate strong:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:400}#serverStatus#appUpdate ka-button,#appUpdate#appUpdate ka-button{text-shadow:none}:root{--text-color: #404040;--primary-color: #ed5a23;--secondary-color: #11254b;--accent-color: #19a5f2;--warning-color: #FFAA00;--error-color: #ff3300;--success-color: #1CC800;--pending-color: #FF9900;--background-color: #f9f9f9;--dashboard-gap: 2rem;--dashboard-sm: 428px;--dashboard-md: 768px;--dashboard-lg: 1300px;--dashboard-red: #f75f5f;--dashboard-aside-width: min(20vw, 45rem);--dashboard-aside-visible-cards: 2;--dashboard-green: #7ddc70;--dashboard-yellow: #fbd12f;--dashboard-darken-red: #a41111;--md-dashboard-text-color: #11254b;--md-dashboard-text-color-matte: rgba(17, 37, 75, 0.8);--md-dashboard-text-color-very-matte: rgba(17, 37, 75, 0.2);--dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}@keyframes shine{to{background-position:right -40px top 0}}body{-webkit-font-smoothing:antialiased}@media screen and (max-width: 575px){table.ka-table-like{display:table}}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header>h1{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:#ed5a23 !important}.text-secondary{color:#11254b !important}.text-error{color:#f30 !important}.text-success{color:#1cc800 !important}.text-color{color:#404040 !important}router-view{min-height:calc(100% - 60px);max-height:calc(100% - 60px);overflow:hidden}router-view h2{min-height:5.1rem;font-weight:400;font-family:\\\"Roboto slab\\\",serif}router-view>h2:first-child+.ka-table,router-view style:first-child+h2+.ka-table{margin-top:-1rem}router-view>h2:first-child+ka-table,router-view style:first-child+h2+ka-table{margin-top:-1rem}router-view>h2:first-child+ka-tabs,router-view style:first-child+h2+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab h2:first-child+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab>ka-table:first-child{margin-top:-1rem}router-view h2+md-table-toolbar{margin-top:-1.1rem}router-view h2+md-table-progressbar{margin-top:-1rem}router-view h2+md-table-wrapper,router-view h2+md-table-progressbar+md-table-wrapper{margin-top:-1rem}router-view h2 md-accordion-button{float:right;margin-top:1rem}*[class^=limitwidth]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:30rem}*[class^=limitwidth]:not(td){display:block}*[class^=limitwidth].limitwidth-10{max-width:10rem}*[class^=limitwidth].limitwidth-20{max-width:20rem}*[class^=limitwidth].limitwidth-30{max-width:30rem}*[class^=limitwidth].limitwidth-40{max-width:40rem}*[class^=limitwidth].limitwidth-50{max-width:50rem}.app-shared-search-style{margin-left:0;margin-right:0;margin-bottom:1rem}.app-shared-search-style>div[class*=col-] ka-control,.app-shared-search-style>div[class*=col-] md-control,.app-shared-search-style>div.col ka-control,.app-shared-search-style>div.col md-control{display:block}.app-shared-search-style>div[class*=col-] ka-input,.app-shared-search-style>div[class*=col-] md-input,.app-shared-search-style>div.col ka-input,.app-shared-search-style>div.col md-input{margin-bottom:0}.app-shared-search-style>div[class*=col-] ka-button,.app-shared-search-style>div.col ka-button{margin:0}.app-shared-search-style>div[class*=col-] ka-button+ka-button,.app-shared-search-style>div.col ka-button+ka-button{margin-left:1rem}.user-initials{border-radius:50%;color:#fff;text-transform:uppercase;background-color:#404040}.ka-table-button.selected{color:#ed5a23}.ka-table-button.unselected{color:rgba(64,64,64,.3)}ka-table tbody td small.emphasis{color:#ed5a23 !important}ka-table tbody td a{color:inherit;text-decoration:none}ka-table tbody td a:hover{text-decoration:underline}.ka-table-like{height:1px}.ka-table-like thead th{color:#000;font-weight:600}.ka-table-like tbody{transition:opacity .5s,filter .5s}.ka-table-like tbody.isLoading{opacity:.5;filter:blur(5px);pointer-events:none}.ka-table-like tbody tr{border:0 !important;box-shadow:inset 0 -1px 0 0 rgba(224,224,224,.5)}.ka-table-like tbody tr td:last-of-type ka-button{margin:0}.ka-table-like tbody tr td:last-of-type ka-button+ka-button{margin-left:1rem}.ka-table-like tbody tr td:last-of-type.flex-column>ka-button+ka-button{margin-top:1rem;margin-left:0}.ka-table-like .ka-table-row-tools{padding:0;height:100%;width:1%;white-space:nowrap}.ka-table-like .ka-table-row-tools>.tools-wrapper{display:flex;align-items:center;width:fit-content;height:100%;box-shadow:-5px 0 5px -5px rgba(0,0,0,0.2509803922),inset -1px 0 0 rgba(224,224,224,.5);background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button{display:inline-block;appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:4rem;height:4rem;height:100%;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:#fff;background:linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);box-shadow:inset -1px 0 0 rgba(224,224,224,.5);transition:all .5s}.ka-table-like .ka-table-row-tools>.tools-wrapper>button[disabled]{color:#e0e0e0;pointer-events:none}.ka-table-like .ka-table-row-tools>.tools-wrapper>button:hover{color:rgba(237,90,35,.7)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button>i{font-size:2rem;line-height:inherit;color:inherit}md-table-progressbar{position:absolute;width:100%}.ka-tr-tools>button.ka-table-button[disabled]{color:rgba(64,64,64,.4) !important}.ka-tr-tools>button.ka-table-button>i[class*=fa-]{font-size:2rem}.ka-table-backdrop{z-index:1099}.ka-table-drawer.filters ka-input>label{overflow:visible}ka-tab{white-space:normal}ux-dialog-container{overflow-y:hidden}ux-dialog-container>div{padding:0}ux-dialog-container ux-dialog.small{max-width:40rem}ux-dialog-container ux-dialog.medium{max-width:70rem}ux-dialog-container ux-dialog.large{max-width:100rem}ux-dialog-container ux-dialog ux-dialog-body .body{max-height:calc(100vh - 5rem - 6.1rem - 6rem);overflow:auto}.ka-resource-buttons{z-index:2}.ka-resource-buttons a{color:rgba(237,90,35,.7)}.ka-resource-buttons a:hover{color:#ed5a23}ka-control{margin:0}ka-control input::placeholder{color:rgba(64,64,64,.4)}ka-input.error,md-input.error{box-shadow:inset 0 0 0 1px rgba(255,51,0,.6),0 0 10px rgba(255,51,0,.4)}.md-prefsel-dialog{width:calc(100vw - 80px);min-width:300px}.md-prefsel-dialog>ux-dialog-body{height:fit-content;max-height:calc(100vh - 103px - 80px);overflow:auto}.currency:after{display:inline-block;margin:0 0 0 .3rem;font-size:1.4rem;color:inherit;font-family:\\\"Roboto slab\\\",sans-serif;content:\\\"€\\\"}ka-button{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif}ka-button:first-letter{text-transform:uppercase}ka-button>i{padding-right:1rem;transition:all .3s}ka-button>i:only-child{padding-right:0}ka-button>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button>span:first-letter{text-transform:uppercase}ka-button>i+span{display:inline-block}ka-button.icon{min-width:3rem;max-width:none}ka-button.with-icon{display:inline-flex;align-items:center}ka-button.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.small{height:2.5rem;padding:0 .8rem 0 .8rem;border-radius:2px;line-height:2.5rem}ka-button.small>span{padding:0 .8rem;font-size:1.4rem;margin-right:-0.8rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}ka-button.small>i{padding-right:.8rem;font-size:1.4rem}ka-button.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important;pointer-events:none}ka-button.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.disabled>i{color:rgba(64,64,64,.3)}ka-button.with-icon:not(.secondary):not(.error):not(.grey){max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{padding-right:1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i:only-child{padding-right:0}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span:first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i+span{display:inline-block}ka-button.with-icon:not(.secondary):not(.error):not(.grey).icon{min-width:3rem;max-width:none}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon{display:inline-flex;align-items:center}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey).small{height:2.5rem;padding:0 .8rem 0 .8rem;border-radius:2px;line-height:2.5rem}ka-button.with-icon:not(.secondary):not(.error):not(.grey).small>span{padding:0 .8rem;font-size:1.4rem;margin-right:-0.8rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}ka-button.with-icon:not(.secondary):not(.error):not(.grey).small>i{padding-right:.8rem;font-size:1.4rem}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{color:#ed5a23}ka-button.with-icon:not(.secondary):not(.error):not(.grey).flat{box-shadow:inset 0 0 0 1px #df4a12 !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).inverted>span{background:rgba(237,90,35,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled).inverted:hover{background-color:#ededed}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover>span{background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important;pointer-events:none}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>i{color:rgba(64,64,64,.3)}ka-button.secondary.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0px 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.secondary.with-icon:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.secondary.with-icon>i:only-child{padding-right:0}ka-button.secondary.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.secondary.with-icon>span:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i+span{display:inline-block}ka-button.secondary.with-icon.icon{min-width:3rem;max-width:none}ka-button.secondary.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.secondary.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.secondary.with-icon.small{height:2.5rem;padding:0 .8rem 0 .8rem;border-radius:2px;line-height:2.5rem}ka-button.secondary.with-icon.small>span{padding:0 .8rem;font-size:1.4rem;margin-right:-0.8rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}ka-button.secondary.with-icon.small>i{padding-right:.8rem;font-size:1.4rem}ka-button.secondary.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon>i{color:#11254b}ka-button.secondary.with-icon.flat{box-shadow:inset 0 0 0 1px #0b1932 !important}ka-button.secondary.with-icon.inverted>span{background:rgba(17,37,75,.1)}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover>span{background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon.busy:before,ka-button.secondary.with-icon>.busy:after{background:#11254b}ka-button.secondary.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important;pointer-events:none}ka-button.secondary.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.secondary.with-icon.disabled>i{color:rgba(64,64,64,.3)}ka-button.error.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.error.with-icon:first-letter{text-transform:uppercase}ka-button.error.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.error.with-icon>i:only-child{padding-right:0}ka-button.error.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.error.with-icon>span:first-letter{text-transform:uppercase}ka-button.error.with-icon>i+span{display:inline-block}ka-button.error.with-icon.icon{min-width:3rem;max-width:none}ka-button.error.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.error.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.error.with-icon.small{height:2.5rem;padding:0 .8rem 0 .8rem;border-radius:2px;line-height:2.5rem}ka-button.error.with-icon.small>span{padding:0 .8rem;font-size:1.4rem;margin-right:-0.8rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}ka-button.error.with-icon.small>i{padding-right:.8rem;font-size:1.4rem}ka-button.error.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon>i{color:#b32400}ka-button.error.with-icon.flat{box-shadow:inset 0 0 0 1px #b32400 !important}ka-button.error.with-icon.inverted>span{color:#b32400;background:rgba(179,36,0,.15)}ka-button.error.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.error.with-icon:not(.disabled):not(.inverted):hover>span{background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon.busy:before,ka-button.error.with-icon>.busy:after{background:#b32400}ka-button.error.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important;pointer-events:none}ka-button.error.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.error.with-icon.disabled>i{color:rgba(64,64,64,.3)}ux-dialog .dialog-loader>span:after{content:\\\"...\\\";margin-left:.3rem;animation:loading-elipsis .8s linear infinite}.tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3)}.tag.primary{background:rgba(237,90,35,.1);box-shadow:0 0 0 1px rgba(237,90,35,.5);color:#e44c13}.tag.secondary{color:#fff;background:rgba(17,37,75,.7);box-shadow:0 0 0 1px rgba(17,37,75,.8)}.tag.accent{background:rgba(25,165,242,.2);box-shadow:0 0 0 1px rgba(25,165,242,.4)}.tag.success,.tag.completed{color:#0f6c00;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.success.with-icon:before,.tag.completed.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.error{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.error.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.warning{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.warning.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.discontinued{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.discontinued.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a32100;vertical-align:top;animation:unset;font-weight:400}.tag.pending{color:#9c630e;background:rgba(255,153,0,.2);box-shadow:0 0 0 1px rgba(255,153,0,.6)}.tag.pending.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.deleted{color:#fff;background:rgba(64,64,64,.9);box-shadow:0 0 0 1px #404040}.tag.deleted.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.refused{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.refused.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.abandoned{color:#11254b;background:rgba(17,37,75,.2);box-shadow:0 0 0 1px rgba(17,37,75,.4)}.tag.abandoned.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.id{color:#404040 !important;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.user{background:rgba(237,90,35,.2);box-shadow:0 0 0 1px rgba(237,90,35,.4)}.tag.user.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.tag.building.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.new-tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);padding:.6rem .7rem;line-height:1;position:relative;font-size:1.5rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000;text-shadow:1px 1px 1px #fff;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}.new-tag.clickable{position:relative;transition:color .3s ease,background .3s ease,box-shadow .3s ease,text-decoration .3s ease}.new-tag.clickable:before{content:\\\"\\\";position:absolute;left:.6rem;bottom:.5rem;width:0;height:1px;display:block;background:rgba(0,0,0,.5);transition:width .3s ease}.new-tag.clickable:hover:before{width:calc(100% - 1.2rem)}.new-tag:first-letter{text-transform:uppercase}.new-tag strong{font-weight:600}.new-tag:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}.new-tag.rounded{padding:.6rem 1rem;border-radius:2rem !important;text-transform:uppercase;font-size:1.3rem}.new-tag.primary{color:#9a0000;box-shadow:0 0 0 1px #ff946e;background:#faddc0}.new-tag.secondary{color:#000;box-shadow:0 0 0 1px #888e98;background:#e3e8f0}.new-tag.pending{color:#930000;box-shadow:inset 0 0 0 1px #ea9f00;background:#ffebbc}.new-tag.success{color:#184011;box-shadow:inset 0 0 0 1px #86ac4d;background:#cef2ba}.new-tag.success.clickable:hover{box-shadow:inset 0 0 0 1px #4f662d}.new-tag.error{color:#a00000;box-shadow:inset 0 0 0 1px #d77e7e;background:#fcc}.banner-message{margin:0;position:relative;padding:.8rem 1.2rem;border-radius:.2rem;color:#000;line-height:1.4;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",\\\"serif\\\";background:#fff;box-shadow:inset 0 0 0 1px #b2b2b2;-webkit-word-break:break-word;-webkit-word-wrap:break-word;word-break:break-word;word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.banner-message:after{content:\\\"\\\";position:absolute;z-index:2;top:0;left:0;height:100%;width:100%;border-radius:.2rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 0, transparent 50%);pointer-events:none}.banner-message>span{position:relative;z-index:3}.banner-message>span>strong,.banner-message>span a{font-weight:600;text-underline-offset:.2rem}.banner-message>span:before{text-shadow:none}.banner-message>span>a{text-underline-offset:.3rem;text-decoration-thickness:.1rem;transition:color .3s;cursor:pointer;color:#000}.banner-message>span>a:not([href*=mailto]):before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .3rem;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:text-bottom;animation:unset;font-weight:900}.banner-message>span>a:hover{color:#ed5a23}.banner-message.white{background:#fff}.banner-message.white:after{background-image:none}.banner-message.highlight{color:#000;box-shadow:inset 0 0 0 1px #034ea4;background:#fff}.banner-message.highlight:after{background-image:repeating-linear-gradient(45deg, rgba(3, 78, 164, 0.1) 0, rgba(3, 78, 164, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.highlight>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#003c80;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.alert{color:#000;box-shadow:inset 0 0 0 1px #ffb300;background:#fff}.banner-message.alert:after{background-image:repeating-linear-gradient(45deg, rgba(255, 179, 0, 0.3) 0, rgba(255, 179, 0, 0.3) 1px, transparent 0, transparent 50%)}.banner-message.alert>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.success{color:#000;box-shadow:inset 0 0 0 1px #86ac4d;background:#fff}.banner-message.success:after{background-image:repeating-linear-gradient(45deg, rgba(134, 172, 77, 0.2) 0, rgba(134, 172, 77, 0.2) 1px, transparent 0, transparent 50%)}.banner-message.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#517a15;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.error{color:#000;box-shadow:inset 0 0 0 1px crimson;background:#fff}.banner-message.error:after{background-image:repeating-linear-gradient(45deg, rgba(220, 20, 60, 0.1) 0, rgba(220, 20, 60, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.copy-text{transition:color .3s;cursor:pointer}.copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:clamp(.2rem,.5vw,.5rem);font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;font-weight:400;vertical-align:unset;-webkit-font-smoothing:antialiased;color:#ed5a23}.copy-text:hover{color:#ed5a23}ka-tabs>nav,md-nav-utenti>nav,md-nav-element>nav{display:flex;flex-wrap:nowrap;padding:.6rem .5rem 0;width:100%;border:none;background:#ececec;box-shadow:0 1px 0 0 #d0d0d0}ka-tabs>nav>.buttons,md-nav-utenti>nav>.buttons,md-nav-element>nav>.buttons{margin-left:auto}ka-tabs>nav>.user,md-nav-utenti>nav>.user,md-nav-element>nav>.user{margin-left:auto;padding:0 .5rem 0 1rem;font-size:1.4rem;line-height:4.3rem;overflow:hidden;font-weight:400;text-align:right;text-overflow:ellipsis;white-space:nowrap;color:#11254b;font-family:\\\"Roboto condensed\\\",sans-serif;max-width:max(8rem,15vw);overflow:hidden;text-overflow:ellipsis}@media screen and (max-width: 992px){ka-tabs>nav>.user,md-nav-utenti>nav>.user,md-nav-element>nav>.user{display:none}}ka-tabs>nav>a,md-nav-utenti>nav>a,md-nav-element>nav>a{display:flex;align-items:center;justify-content:center;margin-top:.5rem;padding:0 1.5rem 0;max-width:fit-content;border-radius:5px 5px 0 0;border:.1rem solid #d0d0d0;border-bottom-color:#d0d0d0;outline:none;overflow:hidden;font-size:1.3rem;font-weight:400;line-height:3.8rem;font-family:\\\"Roboto condensed\\\",sans-serif;letter-spacing:.05rem;text-decoration:none;text-transform:uppercase;white-space:nowrap;color:rgba(64,64,64,.5);background:#f7f7f7;box-shadow:inset 0 -5px 5px -3px rgba(224,224,224,.6);transition:all .4s !important;text-overflow:ellipsis}@media screen and (max-width: 992px){ka-tabs>nav>a,md-nav-utenti>nav>a,md-nav-element>nav>a{font-size:1rem;letter-spacing:0}}ka-tabs>nav>a:hover,md-nav-utenti>nav>a:hover,md-nav-element>nav>a:hover{color:#404040 !important}ka-tabs>nav>a:before,md-nav-utenti>nav>a:before,md-nav-element>nav>a:before{content:\\\"\\\";display:inline-block;margin-right:.5rem;border-radius:50%;width:.7rem;height:.7rem;box-shadow:inset 0 0 0 1px #d0d0d0}@media screen and (max-width: 992px){ka-tabs>nav>a:before,md-nav-utenti>nav>a:before,md-nav-element>nav>a:before{display:none}}ka-tabs>nav>a.active,md-nav-utenti>nav>a.active,md-nav-element>nav>a.active{margin-top:0;border-bottom-color:#f9f9f9;color:#000;line-height:4.3rem;background:#f9f9f9;box-shadow:inset 0 -1px 0 0 #f9f9f9,-5px 0 5px -5px rgba(176,176,176,.6),5px 0 5px -5px rgba(176,176,176,.6)}ka-tabs>nav>a.active:before,md-nav-utenti>nav>a.active:before,md-nav-element>nav>a.active:before{background:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23}ka-tabs>nav>a:after,md-nav-utenti>nav>a:after,md-nav-element>nav>a:after{display:none}ka-tabs>nav>a+a,md-nav-utenti>nav>a+a,md-nav-element>nav>a+a{margin-left:.5rem}md-nav-utenti>nav>a,ka-tabs>nav>a,md-nav-element>nav>a{margin-bottom:-1px}md-nav-utenti+h2{border-top:0}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/app.sass\",\"webpack://./src/static/fontawesome/all.min.css\",\"webpack://./src/ka-components/style/_ka-flex.sass\",\"webpack://./src/ka-components/style/_ka-grid.scss\",\"webpack://./src/ka-components/style/_ka-navbar.sass\",\"webpack://./src/ka-components/style/_ka-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/ka-components/style/_ka-input.sass\",\"webpack://./src/ka-components/style/_ka-button-deprecated.sass\",\"webpack://./src/ka-components/style/_ka-button.sass\",\"webpack://./src/ka-components/style/_ka-toast.sass\",\"webpack://./src/ka-components/style/_ka-table.sass\",\"webpack://./src/ka-components/style/_ka-resource.sass\",\"webpack://./src/ka-components/style/_ka-dialog.sass\",\"webpack://./src/ka-components/style/_ka-tabs.sass\",\"webpack://./src/ka-components/style/_ka-tooltip.sass\",\"webpack://./src/ka-components/ka-control/ka-control.sass\",\"webpack://./src/ka-components/ka-control-check/ka-control-check.sass\",\"webpack://./src/ka-components/ka-control-combo/ka-control-combo.sass\",\"webpack://./src/ka-components/ka-control-date/ka-control-date.sass\",\"webpack://./src/ka-components/ka-control-datetime/ka-control-datetime.sass\",\"webpack://./src/ka-components/ka-datetime/ka-datetime.sass\",\"webpack://./src/ka-components/ka-control-backdrop/ka-control-backdrop.sass\",\"webpack://./src/ka-components/ka-control-file/ka-control-file.sass\",\"webpack://./src/ka-components/ka-control-list/ka-control-list.sass\",\"webpack://./src/ka-components/ka-control-table/ka-control-table.sass\",\"webpack://./src/ka-components/ka-control-textarea/ka-control-textarea.sass\",\"webpack://./src/ka-components/ka-table/ka-tableFilters.sass\",\"webpack://./src/ka-components/ka-progress/ka-progress.sass\",\"webpack://./src/ka-components/style/_ka.sass\",\"webpack://./src/classes/md-toast/md-toast.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-vars.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-aside.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-header.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-toolbar.sass\",\"webpack://./src/resources/elements/km-layout/km-layout.sass\",\"webpack://./src/resources/attributes/md-tooltip/md-tooltip.sass\",\"webpack://./src/resources/attributes/static-tooltip/static-tooltip.sass\",\"webpack://./src/resources/attributes/md-action/md-action.sass\",\"webpack://./src/static/_ka-toast.sass\",\"webpack://./src/static/_server-update.sass\"],\"names\":[],\"mappings\":\"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AAA,CACA,oLACE,cAAA,CACJ,6FACE,+BAAA,CACA,sGACE,iBAAA,CACA,qBAAA,CACA,kBAAA,CACA,kBAAA,CACA,sJACE,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,uBAAA,CACA,oBAAA,CACA,4JACE,mBAAA,CACA,yBAAA,CACF,wKACE,aAAA,CACF,uLACE,aLxIK,CKyIP,0LACE,aL1IK,CK2IL,uBAAA,CACF,wKACE,iBAAA,CACA,QAAA,CACA,UAAA,CACA,iBAAA,CACA,YAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,UAAA,CACA,iBAAA,CACA,wBLvJK,CKyJP,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CAEN,sGACE,+BAAA,CACA,wBAAA,CACA,sJACE,wBAAA,CACF,gSACE,qCAAA,CACJ,sGACE,kBAAA,CACA,oLACE,eAAA,CACF,iLACE,gBAAA,CACF,0IACE,SAAA,CACA,kBAAA,CACA,4YACE,oBAAA,CACA,wBAAA,CACF,geAEE,UAAA,CACF,4JACE,WAAA,CACA,aAAA,CACA,UAAA,CACF,uLNhMN,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CM0LQ,oBAAA,CACA,iBAAA,CACA,OAAA,CACA,eAAA,CACA,gHAAA,CACA,0CAAA,CACJ,wHACE,uBAAA,CAER,kBACE,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,SAAA,CACA,0BAAA,CACA,iBAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CN7MA,mEAAA,CM+MA,2CAAA,CACA,oCAAA,CACA,uBACE,SAAA,CACA,0CAAA,CACF,yBACE,YAAA,CACF,2BACE,kBAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,UAAA,CACA,MAAA,CAEJ,iBACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,OAAA,CACA,8BAAA,CACA,SAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CACA,4CAAA,CACA,0BAAA,CACA,wBAAA,CACA,sBACE,uBAAA,CACF,wBACE,YAAA,CACF,gCACE,gBAAA,CAsBF,iCACE,QAAA,CAuBJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,UAAA,CAGF,mBACE,iBAAA,CACA,oBAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,uBACE,wBL5TY,CK6TZ,8BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,6BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CACN,iBACE,kBAAA,CACA,gCACE,SAAA,CACA,UAAA,CACA,4BAAA,CAEJ,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CAEN,0CAEE,+CACE,aAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,sHACE,aAAA,CACF,2DACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACF,qDACE,aAAA,CACA,iBAAA,CACF,iEACE,eAAA,CACF,qDACE,YAAA,CACF,qDACE,aAAA,CACA,uBAAA,CACA,gBAAA,CACA,eAAA,CACA,iFACE,iBAAA,CACF,6EACE,WAAA,CACA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,2FACE,YAAA,CACN,uEACE,sBAAA,CACA,qFACE,oBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAAA,CC9ZR,qBACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,uBACE,iBAAA,CACA,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CAEA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,0BAAA,CACA,iBAAA,CACA,kBAAA,CACA,8BACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,MAAA,CACA,SAAA,CACA,YAAA,CACA,SAAA,CACA,qCAAA,CACF,6BACE,UAAA,CACF,qCACE,aAAA,CACF,oCACE,cAAA,CACF,6BACE,wBAAA,CACF,8BACE,cAAA,CACF,yBACE,mBAAA,CACN,+BACE,SAAA,CACA,iCACE,wBAAA,CACA,wCACE,mCAAA,CACF,uCACE,aAAA,CAEN,sBACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,0BACE,wBN1DY,CM2DZ,iCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,gCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,gCACE,QAAA,CAEF,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CCzGN,oBACE,YAAA,CACA,2BACE,+BAAA,CACF,wBACE,sBAAA,CACJ,UACE,aAAA,CACA,iBAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,eAAA,CACA,wBAAA,CRDA,mEAAA,CQGA,oBACE,wBAAA,CACF,2BACE,aAAA,CACA,QAAA,CACA,SAAA,CACA,8BACE,SAAA,CACA,QAAA,CACA,gBAAA,CACA,qCACE,0BAAA,CACA,2BAAA,CACN,yBACE,aAAA,CACA,YAAA,CACA,gBAAA,CACA,4BACE,SAAA,CACJ,mCACE,SAAA,CAEJ,0CACE,wBACE,uBAAA,CAEA,oBACE,wBAAA,CAAA,CC1CN,QTCE,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CSPA,wBAAA,CACA,YACE,kBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,UAAA,CACA,MAAA,CACA,QAAA,CACA,+BAAA,CACA,WAAA,CACA,qBAAA,CACA,cACE,iBAAA,CACA,cAAA,CACA,oBAAA,CACA,YAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,oBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,qBACE,WAAA,CACA,SAAA,CACA,aAAA,CACA,iBAAA,CACA,UAAA,CACA,QAAA,CACA,SAAA,CACA,QAAA,CACA,UAAA,CACA,wBRpCQ,CQqCR,0BAAA,CACA,kBAAA,CACF,oBACE,aRxCQ,CQyCR,2BACE,SAAA,CACA,UAAA,CACJ,qBACE,aR7CQ,CQ8CR,4BACE,SAAA,CACA,UAAA,CACJ,uBACE,aAAA,CACA,iBAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,oBAAA,CACA,0BAAA,CACA,2BAAA,CACA,YAAA,CACA,cAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,wBR/DQ,CQgER,yBAAA,CACA,8BACE,qBR9DI,CQ+DZ,sBACE,WAAA,CACA,gBAAA,CACA,wBACE,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,6BAAA,CACA,+BAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,8BACE,aRvFQ,CQwFV,sCACE,aAAA,CACF,qCACE,cAAA,CACF,8BACE,wBAAA,CACF,+BACE,cAAA,CACF,0BACE,mBAAA,CAEJ,8BACE,mBAAA,CCrGN,YACE,mBAAA,CACA,YAAA,CACA,iBAAA,CACA,YAAA,CAEA,iBAAA,CACA,iBAAA,CAEA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,UAAA,CACA,wBTbW,CSeX,oBACE,aAAA,CAEA,wBACE,aAAA,CACJ,sBACE,iBAAA,CACA,SAAA,CACA,UAAA,CACA,uBAAA,CACA,wBAAA,CAEF,oBACE,wBT3BY,CS4Bd,sBACE,wBT3BW,CUDf,kMAWE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,oQACE,YAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACF,4zBACE,YAAA,CACA,QAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aV/BS,CUgCT,qFAAA,CACA,6CAAA,CACA,kBAAA,CACA,g8BACE,6CAAA,CACF,ogEACE,mCAAA,CACF,8wGACE,kBAAA,CACA,wBAAA,CACA,6CAAA,CAEN,WACE,oBAAA,CACA,iBAAA,CACA,cAAA,CACA,UAAA,CAEA,iBACE,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACA,kBAAA,CAEF,eACE,YAAA,CACA,gBAAA,CACA,mCACE,YAAA,CACA,0FACE,uBAAA,CACA,oBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,QAAA,CACA,6BAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,qFAAA,CACA,6CAAA,CACA,kBAAA,CACA,8OACE,iBAAA,CACA,mBAAA,CACA,aAAA,CACF,sGACE,6CAAA,CACA,aV3FM,CU4FR,wNACE,mCAAA,CACJ,oDACE,aAAA,CAEN,+BACE,UAAA,CACA,iDACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,6BAAA,CACA,8BAAA,CACA,eAAA,CACA,UAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,UV5GQ,CU6GR,sBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yCAAA,CACA,sJAAA,CACA,SAAA,CACA,iCAAA,CACA,mBAAA,CACA,wDACE,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kCAAA,CACA,UAAA,CACF,kEACE,WAAA,CACA,YAAA,CAEF,4EACE,YAAA,CACA,iBAAA,CACA,uFACE,YAAA,CACJ,mFACE,uDAAA,CACA,8FACE,cAAA,CAEN,uDACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,6BAAA,CACA,8BAAA,CACA,eAAA,CACA,UAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,aV1JU,CU2JV,sBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yCAAA,CACA,0JAAA,CACA,SAAA,CACA,iCAAA,CACA,mBAAA,CACA,8DACE,WAAA,CACA,iBAAA,CACA,aAAA,CACA,mCAAA,CACA,UAAA,CAGN,mCACE,eAAA,CACA,2EAAA,CACF,yEACE,WAAA,CACA,SAAA,CACF,6DACE,WAAA,CACA,SAAA,CAGF,uBACE,UVnLU,CUoLV,8BAAA,CACF,mCACE,qBAAA,CACA,yEAAA,CACF,sEACE,mCAAA,CAGF,8FACE,aAAA,CAGF,qCACE,gBAAA,CAGF,0BACE,YAAA,CAEJ,oBACE,aAAA,CACA,cAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CAEF,gCACE,KACE,SAAA,CACA,QAAA,CACF,GACE,SAAA,CACA,WAAA,CAAA,CAEJ,kCACE,GACE,SAAA,CACA,QAAA,CACF,GACE,SAAA,CACA,WAAA,CACF,IACE,SAAA,CACA,WAAA,CACF,KACE,SAAA,CACA,QAAA,CAAA,CAEJ,qCACE,GACE,wBAAA,CACF,KACE,0BAAA,CAAA,CC/OJ,iBACE,iBAAA,CACA,WAAA,CACA,YAAA,CACA,kBAAA,CACA,sCACE,aAAA,CACA,QAAA,CACA,QAAA,CACA,iBAAA,CACA,YAAA,CACA,aAAA,CACA,wBAAA,CACA,kCAAA,CACA,8CACE,wBXdU,CWeV,uDAAA,CACJ,8BACE,oBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,aXxBS,CWyBT,sBAAA,CACA,kBAAA,CACA,cAAA,CC3BJ,iBACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,gCAEE,eAAA,CACA,WAAA,CACA,mCACE,QAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CAEA,YAAA,CACA,kBAAA,CACA,0BAAA,CACA,gBAAA,CACA,sCACE,iBAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,aZzBK,CY0BL,cAAA,CACA,eAAA,CACA,sBAAA,CACA,WAAA,CACA,aAAA,CACA,eAAA,CACA,kBAAA,CACA,uDACE,kBAAA,CACA,6DACE,WAAA,CACJ,wCACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,wBZ9CM,CY+CR,4CACE,WAAA,CACA,aAAA,CACA,4BAAA,CACA,iCAAA,CACA,8CACE,aAAA,CAER,wDACE,cAAA,CAEE,8DACE,YAAA,CACA,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,6CAAA,CACA,mCAAA,CACA,oEACE,YAAA,CAEZ,oBACE,wCAAA,CAEA,+DACE,iBAAA,CACA,QAAA,CACA,YAAA,CACA,UAAA,CACA,qBAAA,CACA,qBAAA,CACA,6FAAA,CACA,+EACE,YAAA,CACA,QAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aZ1FO,CY2FP,qBAAA,CACF,6FACE,iBAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,aZpGO,CYqGP,6BAAA,CACF,qEACE,QAAA,CACA,SAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,2EACE,iBAAA,CACA,QAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,cAAA,CACA,aZvHK,CYwHL,kBAAA,CACA,sBAAA,CACA,6FACE,uBAAA,CAEA,mJACE,mCAAA,CACJ,2HACE,aZ/HM,CYmIR,2HACE,iBAAA,CACA,2IACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,kCAAA,CACF,6JACE,wBZhJI,CYiJJ,uDAAA,CACF,+KACE,kCAAA,CACA,uDAAA,CCnJV,wCACE,YAAA,CCDF,gDACE,YAAA,CCHJ,YACE,aAAA,CAEA,uBACE,uBAAA,CACA,iCAAA,CACA,oCACE,gCAAA,CAGE,wDACE,iCAAA,CAEF,qDACE,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,4DACE,yBAAA,CACA,gCAAA,CAEJ,qDACE,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,4DACE,uDAAA,CAEJ,wDACE,gCAAA,CAEN,8BACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,wBAAA,CACA,kBAAA,CACA,oCACE,afjDK,CekDL,8BAAA,CAEJ,8BACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,afhEO,CeiEP,wBAAA,CACA,8EAAA,CACA,kBAAA,CACA,oCACE,afrEK,CesEL,8BAAA,CACF,wCACE,mBAAA,CACA,aAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CAEN,sBACE,afpFS,CeqFT,cAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,wBAAA,CAGA,yBACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,gBAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CACA,+CACE,af3GQ,Ce4GR,6BAAA,CACF,0EACE,UAAA,CACA,kBAAA,CACF,mCACE,UAAA,CClHR,oBACE,aAAA,CACA,cAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,wCAAA,CACA,iCACE,wBAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,6FAAA,CCbF,iCACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACF,yBACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,kBAAA,CACA,gBAAA,CACA,qFAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,ajB3CQ,CiB4CZ,uCACE,4CAAA,CACJ,+BACE,aAAA,CC/CF,+BACE,wBAAA,CACA,yCAAA,CACF,qCACE,qFAAA,CACA,6CAAA,CACF,qBACE,aAAA,CACA,cAAA,CACA,2BACE,YAAA,CACJ,yBACE,oBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,alBzCQ,CmBDhB,iBACE,aAAA,CACA,aAAA,CACA,oBACE,cAAA,CACF,qCACE,wBAAA,CACA,wBAAA,CACA,8DACE,wBAAA,CACF,8CACE,+BAAA,CACF,8CACE,QAA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AAA,CFtLR,uBACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,IACE,kBAAA,CAAA,CGbA,oCACE,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,uFACE,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,0BArBM,CAsBN,WAvBO,CAwBP,cAAA,CACA,eAAA,CACA,aAAA,CACA,UAAA,CACA,oBAAA,CACA,yBAAA,CACA,+CAAA,CACA,8BAAA,CACA,2FACE,aAAA,CACA,kCAAA,CACF,iGACE,aAAA,CACA,gCAAA,CACA,qBAAA,CACA,eAAA,CACA,wBAAA,CACA,SAAA,CACA,yCAAA,CACF,qGACE,QAAA,CACA,eAAA,CACA,SAAA,CACA,8BAAA,CACF,iHACE,cAAA,CACA,WAAA,CACA,UAAA,CACF,2FACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,eAAA,CACA,OAAA,CACA,SAAA,CACA,iBAAA,CACA,cAAA,CACA,WAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,yCAAA,CACA,uDAAA,CACJ,8CACE,qBAAA,CACF,6EACE,gBAAA,CACA,a7B1EU,C6B2EZ,qDACE,iBAAA,CACA,QA7EO,CA8EP,QAAA,CACA,SAAA,CACA,eAAA,CACA,YAAA,CACA,eAAA,CACA,kBH7EkB,CG8ElB,qCAAA,CACA,6DACE,yBAAA,CACF,wDACE,QAAA,CACA,SAAA,CACA,0DACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,gBAAA,CACA,UAAA,CACA,aHvF4B,CGwF5B,oBAAA,CACA,gCAAA,CACA,kDAAA,CACA,8BAAA,CACA,4DACE,iBAAA,CACA,cAAA,CACA,YAAA,CACA,0BAAA,CACF,qEACE,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,cAAA,CACA,0BAAA,CACA,2BAAA,CACF,iEACE,iBAAA,CACA,wEACE,aAAA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pF,eAAA,C/ByLJ,S+BlCE,oBAAA,CACA,eAAA,CACA,mBAAA,CACA,cAAA,CACA,eAAA,CACA,oBAAA,CACA,sBAAA,CACA,qBAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CACA,aAAA,CACA,4BAAA,CACA,sCAAA,CAIA,mBAAA,CACA,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,kCAAA,CACA,mBACE,iBAAA,CACA,0FAAA,CACA,0BACE,UAAA,CACA,iBAAA,CACA,UAAA,CACA,YAAA,CACA,OAAA,CACA,UAAA,CACA,aAAA,CACA,yBAAA,CACA,yBAAA,CACF,gCACE,yBAAA,CACJ,sBACE,wBAAA,CACF,gBACE,eAAA,CACF,eACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,uBAAA,CACA,iIAAA,CACF,iBACE,kBAAA,CACA,6BAAA,CACA,wBAAA,CACA,gBAAA,CACF,iBACE,aAAA,CACA,4BAAA,CACA,kBAAA,CACF,mBACE,UAAA,CACA,4BAAA,CACA,kBAAA,CACF,iBACE,aAAA,CACA,kCAAA,CACA,kBAAA,CACF,iBACE,aAAA,CACA,kCAAA,CACA,kBAAA,CACA,iCACE,kCAAA,CACJ,eACE,aAAA,CACA,kCAAA,CACA,eAAA,C/B7CJ,gB+B2IE,QAAA,CACA,iBAAA,CACA,oBAAA,CACA,mBAAA,CACA,UAAA,CACA,eAAA,CACA,gBAAA,CACA,sCAAA,CACA,eAAA,CACA,kCAAA,CACA,6BAAA,CACA,4BAAA,CACA,qBAAA,CACA,oBAAA,CACA,oBAAA,CACA,iBAAA,CACA,YAAA,CACA,sBACE,UAAA,CACA,iBAAA,CACA,SAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,mBAAA,CACA,uBAAA,CACA,iIAAA,CACA,mBAAA,CACF,qBACE,iBAAA,CACA,SAAA,CACA,mDACE,eAAA,CACA,2BAAA,CACF,4BACE,gBAAA,CACF,uBACE,2BAAA,CACA,+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\",\"sourcesContent\":[\"@import 'vars'\\n@import 'mixins'\\n@import '../static/fontawesome/all.min'\\n\\n@import '../ka-components/style/ka'\\n\\n@import '../classes/md-toast/md-toast.sass'\\n@import '../resources/elements/km-layout/km-layout.sass'\\n@import '../resources/attributes/md-tooltip/md-tooltip.sass'\\n@import '../resources/attributes/static-tooltip/static-tooltip.sass'\\n@import '../resources/attributes/md-action/md-action.sass'\\n\\n@import 'ka-toast'\\n@import 'server-update'\\n\\n@include css-vars\\n@include global-keyframes\\n\\nbody\\n  -webkit-font-smoothing: antialiased\\n\\n// Move to km-layout\\ntable.ka-table-like\\n  @media screen and (max-width: 575px)\\n    display: table\\nkm-layout \\n  header\\n    .km-layout-info-box\\n      @media screen and (max-width: 1400px)\\n        display: none\\n    > h1\\n      display: block\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n.text-primary\\n  color: $primary-color !important\\n.text-secondary\\n  color: $secondary-color !important\\n.text-error\\n  color: $error-color !important\\n.text-success\\n  color: $success-color !important\\n.text-color\\n  color: $text-color !important\\n\\nrouter-view\\n  min-height: calc(100% - 60px)\\n  max-height: calc(100% - 60px)\\n  overflow: hidden\\n  h2\\n    min-height: 5.1rem\\n    font-weight: 400\\n    font-family: 'Roboto slab', serif\\n  > h2:first-child + .ka-table,\\n    style:first-child + h2 + .ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-table,\\n    style:first-child + h2 + ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-tabs,\\n    style:first-child + h2 + ka-tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab h2:first-child + ka-tabs // Sub tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab > ka-table:first-child\\n    margin-top: -1rem\\n  h2 + md-table-toolbar\\n    margin-top: -1.1rem\\n  h2 + md-table-progressbar\\n    margin-top: -1rem\\n  h2 + md-table-wrapper, h2 + md-table-progressbar + md-table-wrapper\\n    margin-top: -1rem\\n  h2 md-accordion-button\\n    float: right\\n    margin-top: 1rem\\n\\n*[class^=\\\"limitwidth\\\"]\\n  @include limitwidth(30rem)\\n\\n.app-shared-search-style\\n  margin-left: 0\\n  margin-right: 0\\n  margin-bottom: 1rem\\n  > div[class*=\\\"col-\\\"], > div.col\\n    ka-control, md-control\\n      display: block\\n    ka-input, md-input\\n      margin-bottom: 0\\n    ka-button\\n      margin: 0\\n    ka-button + ka-button\\n      margin-left: 1rem\\n\\n.user-initials\\n  border-radius: 50%\\n  color: #fff\\n  text-transform: uppercase\\n  background-color: $text-color\\n\\n.ka-table-button.selected\\n  color: $primary-color\\n.ka-table-button.unselected\\n  color: rgba($text-color, 0.3)\\nka-table tbody td small.emphasis\\n  color: $primary-color !important\\nka-table tbody td a\\n  color: inherit\\n  text-decoration: none\\n  &:hover\\n    text-decoration: underline\\n.ka-table-like\\n  height: 1px\\n  thead\\n    th\\n      color: #000\\n      font-weight: 600\\n  tbody\\n    transition: opacity 0.5s, filter 0.5s\\n    &.isLoading\\n      opacity: 0.5\\n      filter: blur(5px)\\n      pointer-events: none\\n    tr\\n      border: 0 !important\\n      box-shadow: inset 0 -1px 0 0 rgba(224, 224, 224, 0.5)\\n      td:last-of-type\\n        ka-button\\n          margin: 0\\n        ka-button + ka-button\\n          margin-left: 1rem\\n        &.flex-column > ka-button + ka-button\\n          margin-top: 1rem\\n          margin-left: 0\\n  .ka-table-row-tools\\n    padding: 0\\n    height: 100%\\n    width: 1%\\n    white-space: nowrap\\n    > .tools-wrapper\\n      display: flex\\n      align-items: center\\n      width: fit-content\\n      height: 100%\\n      box-shadow: -5px 0 5px -5px rgba(0, 0, 0, 0.2509803922), inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)\\n      > button\\n        display: inline-block\\n        appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: 4rem\\n        height: 4rem\\n        height: 100%\\n        line-height: 4rem\\n        color: rgba($text-color, 0.5)\\n        vertical-align: top\\n        background: #ffffff\\n        background: linear-gradient(180deg, white 0%, rgba(#fff, 0) 100%)\\n        box-shadow: inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n        transition: all 0.5s\\n        &[disabled]\\n          color: #e0e0e0\\n          pointer-events: none\\n        &:hover\\n          color: rgba($primary-color, 0.7)\\n        > i\\n          font-size: 2rem\\n          line-height: inherit\\n          color: inherit\\n\\nmd-table-progressbar\\n  position: absolute\\n  width: 100%\\n\\n.ka-tr-tools > button.ka-table-button\\n  &[disabled]\\n    color: rgba($text-color, 0.4) !important\\n  > i[class*=\\\"fa-\\\"]\\n    font-size: 2rem\\n\\n/* DA COPIARE IN KA-COMPONENTS!!! */\\n.ka-table-backdrop\\n  z-index: 1099\\n.ka-table-drawer.filters ka-input > label\\n  overflow: visible\\nka-tab\\n  white-space: normal\\n\\n/*  DIALOG */\\nux-dialog-container\\n  overflow-y: hidden\\n  > div\\n    padding: 0\\n  ux-dialog\\n    &.small\\n      max-width: 40rem\\n    &.medium\\n      max-width: 70rem\\n    &.large\\n      max-width: 100rem\\n    ux-dialog-body .body\\n      max-height: calc(100vh - 5rem - 6.1rem - 6rem)\\n      overflow: auto\\n\\n.ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.7)\\n    &:hover\\n      color: $primary-color\\nka-control\\n  margin: 0\\n  input::placeholder\\n    color: rgba($text-color, .4)\\n\\nka-input.error, md-input.error\\n  box-shadow: inset 0 0 0 1px #ff330099, 0 0 10px #ff330066\\n\\n// md-prefsel-dialog\\n.md-prefsel-dialog\\n  width: calc(100vw - 80px)\\n  min-width: 300px\\n  > ux-dialog-body\\n    height: fit-content\\n    max-height: calc(100vh - 103px - 80px)\\n    overflow: auto\\n\\n.currency\\n  &:after\\n    @include currency()\\n\\nka-button\\n  @include ka-button()\\n  &.with-icon:not(.secondary):not(.error):not(.grey)\\n    @include ka-button('with-icon-primary')\\n  &.secondary.with-icon\\n    @include ka-button('with-icon-secondary')\\n  &.error.with-icon\\n    @include ka-button('with-icon-error')\\n\\nux-dialog\\n  .dialog-loader\\n    @include dialogLoader()\\n.tag\\n  @include tag()\\n.new-tag\\n  @include newTag()\\n.banner-message\\n  @include bannerMessage()\\n\\n// .tag-new\\n//   @include tagNew()\\n\\n.copy-text\\n  @include copy-text()\\n\\nka-tabs, md-nav-utenti, md-nav-element\\n  > nav\\n    display: flex\\n    flex-wrap: nowrap\\n    padding: .6rem .5rem 0\\n    width: 100%\\n    border: none\\n    background: #ececec\\n    box-shadow: 0 1px 0 0 #d0d0d0\\n    > .buttons\\n      margin-left: auto\\n    > .user\\n      margin-left: auto\\n      padding: 0 .5rem 0 1rem\\n      font-size: 1.4rem\\n      line-height: 4.3rem\\n      overflow: hidden\\n      font-weight: 400\\n      text-align: right\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      color: $secondary-color\\n      font-family: 'Roboto condensed', sans-serif\\n      max-width: max(8rem, 15vw)\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      @media screen and (max-width: 992px)\\n        display: none\\n\\n    > a\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      margin-top: 0.5rem\\n      padding: 0 1.5rem 0\\n      max-width: fit-content\\n      border-radius: 5px 5px 0 0\\n      border: 0.1rem solid #d0d0d0\\n      border-bottom-color: #d0d0d0\\n      outline: none\\n      overflow: hidden\\n      font-size: 1.3rem\\n      font-weight: 400\\n      line-height: 3.8rem\\n      font-family: 'Roboto condensed', sans-serif\\n      letter-spacing: 0.05rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      white-space: nowrap\\n      color: rgba($text-color, .5)\\n      background: #f7f7f7\\n      box-shadow: inset 0 -5px 5px -3px #e0e0e099\\n      transition: all .4s !important\\n      text-overflow: ellipsis\\n\\n      @media screen and (max-width: 992px)\\n        font-size: 1rem\\n        letter-spacing: 0\\n\\n      &:hover\\n        color: $text-color !important\\n\\n      &:before\\n        content: \\\"\\\"\\n        display: inline-block\\n        margin-right: .5rem\\n        border-radius: 50%\\n        width: .7rem\\n        height: .7rem\\n        box-shadow: inset 0 0 0 1px #d0d0d0\\n        @media screen and (max-width: 992px)\\n          display: none\\n\\n      &.active\\n        margin-top: 0\\n        border-bottom-color: $background-color\\n        color: #000\\n        line-height: 4.3rem\\n        background: $background-color\\n        box-shadow: inset 0 -1px 0 0 $background-color, -5px 0 5px -5px #b0b0b099, 5px 0 5px -5px #b0b0b099\\n        &:before\\n          background: $primary-color\\n          box-shadow: inset 0 0 0 1px $primary-color\\n\\n      &:after\\n        display: none\\n      & + a\\n        margin-left: .5rem\\n\\nmd-nav-utenti > nav > a, ka-tabs > nav > a, md-nav-element > nav > a\\n  margin-bottom: -1px\\nmd-nav-utenti + h2\\n  border-top: 0\\n\\n@keyframes badge-pulse\\n  0%\\n    transform: scale(1)\\n  15%\\n    transform: scale(0.8)\\n  30%\\n    transform: scale(1)\\n\",\"/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */\\n.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\\f26e\\\"}.fa-abacus:before{content:\\\"\\\\f640\\\"}.fa-accessible-icon:before{content:\\\"\\\\f368\\\"}.fa-accusoft:before{content:\\\"\\\\f369\\\"}.fa-acorn:before{content:\\\"\\\\f6ae\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\\f6af\\\"}.fa-ad:before{content:\\\"\\\\f641\\\"}.fa-address-book:before{content:\\\"\\\\f2b9\\\"}.fa-address-card:before{content:\\\"\\\\f2bb\\\"}.fa-adjust:before{content:\\\"\\\\f042\\\"}.fa-adn:before{content:\\\"\\\\f170\\\"}.fa-adobe:before{content:\\\"\\\\f778\\\"}.fa-adversal:before{content:\\\"\\\\f36a\\\"}.fa-affiliatetheme:before{content:\\\"\\\\f36b\\\"}.fa-air-conditioner:before{content:\\\"\\\\f8f4\\\"}.fa-air-freshener:before{content:\\\"\\\\f5d0\\\"}.fa-airbnb:before{content:\\\"\\\\f834\\\"}.fa-alarm-clock:before{content:\\\"\\\\f34e\\\"}.fa-alarm-exclamation:before{content:\\\"\\\\f843\\\"}.fa-alarm-plus:before{content:\\\"\\\\f844\\\"}.fa-alarm-snooze:before{content:\\\"\\\\f845\\\"}.fa-album:before{content:\\\"\\\\f89f\\\"}.fa-album-collection:before{content:\\\"\\\\f8a0\\\"}.fa-algolia:before{content:\\\"\\\\f36c\\\"}.fa-alicorn:before{content:\\\"\\\\f6b0\\\"}.fa-alien:before{content:\\\"\\\\f8f5\\\"}.fa-alien-monster:before{content:\\\"\\\\f8f6\\\"}.fa-align-center:before{content:\\\"\\\\f037\\\"}.fa-align-justify:before{content:\\\"\\\\f039\\\"}.fa-align-left:before{content:\\\"\\\\f036\\\"}.fa-align-right:before{content:\\\"\\\\f038\\\"}.fa-align-slash:before{content:\\\"\\\\f846\\\"}.fa-alipay:before{content:\\\"\\\\f642\\\"}.fa-allergies:before{content:\\\"\\\\f461\\\"}.fa-amazon:before{content:\\\"\\\\f270\\\"}.fa-amazon-pay:before{content:\\\"\\\\f42c\\\"}.fa-ambulance:before{content:\\\"\\\\f0f9\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\\f2a3\\\"}.fa-amilia:before{content:\\\"\\\\f36d\\\"}.fa-amp-guitar:before{content:\\\"\\\\f8a1\\\"}.fa-analytics:before{content:\\\"\\\\f643\\\"}.fa-anchor:before{content:\\\"\\\\f13d\\\"}.fa-android:before{content:\\\"\\\\f17b\\\"}.fa-angel:before{content:\\\"\\\\f779\\\"}.fa-angellist:before{content:\\\"\\\\f209\\\"}.fa-angle-double-down:before{content:\\\"\\\\f103\\\"}.fa-angle-double-left:before{content:\\\"\\\\f100\\\"}.fa-angle-double-right:before{content:\\\"\\\\f101\\\"}.fa-angle-double-up:before{content:\\\"\\\\f102\\\"}.fa-angle-down:before{content:\\\"\\\\f107\\\"}.fa-angle-left:before{content:\\\"\\\\f104\\\"}.fa-angle-right:before{content:\\\"\\\\f105\\\"}.fa-angle-up:before{content:\\\"\\\\f106\\\"}.fa-angry:before{content:\\\"\\\\f556\\\"}.fa-angrycreative:before{content:\\\"\\\\f36e\\\"}.fa-angular:before{content:\\\"\\\\f420\\\"}.fa-ankh:before{content:\\\"\\\\f644\\\"}.fa-app-store:before{content:\\\"\\\\f36f\\\"}.fa-app-store-ios:before{content:\\\"\\\\f370\\\"}.fa-apper:before{content:\\\"\\\\f371\\\"}.fa-apple:before{content:\\\"\\\\f179\\\"}.fa-apple-alt:before{content:\\\"\\\\f5d1\\\"}.fa-apple-crate:before{content:\\\"\\\\f6b1\\\"}.fa-apple-pay:before{content:\\\"\\\\f415\\\"}.fa-archive:before{content:\\\"\\\\f187\\\"}.fa-archway:before{content:\\\"\\\\f557\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\\f358\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\\f359\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\\f35a\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\\f35b\\\"}.fa-arrow-alt-down:before{content:\\\"\\\\f354\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\\f346\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\\f347\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\\f348\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\\f349\\\"}.fa-arrow-alt-left:before{content:\\\"\\\\f355\\\"}.fa-arrow-alt-right:before{content:\\\"\\\\f356\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\\f350\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\\f351\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\\f352\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\\f353\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\\f34a\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\\f34b\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\\f34c\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\\f34d\\\"}.fa-arrow-alt-up:before{content:\\\"\\\\f357\\\"}.fa-arrow-circle-down:before{content:\\\"\\\\f0ab\\\"}.fa-arrow-circle-left:before{content:\\\"\\\\f0a8\\\"}.fa-arrow-circle-right:before{content:\\\"\\\\f0a9\\\"}.fa-arrow-circle-up:before{content:\\\"\\\\f0aa\\\"}.fa-arrow-down:before{content:\\\"\\\\f063\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\\f342\\\"}.fa-arrow-from-left:before{content:\\\"\\\\f343\\\"}.fa-arrow-from-right:before{content:\\\"\\\\f344\\\"}.fa-arrow-from-top:before{content:\\\"\\\\f345\\\"}.fa-arrow-left:before{content:\\\"\\\\f060\\\"}.fa-arrow-right:before{content:\\\"\\\\f061\\\"}.fa-arrow-square-down:before{content:\\\"\\\\f339\\\"}.fa-arrow-square-left:before{content:\\\"\\\\f33a\\\"}.fa-arrow-square-right:before{content:\\\"\\\\f33b\\\"}.fa-arrow-square-up:before{content:\\\"\\\\f33c\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\\f33d\\\"}.fa-arrow-to-left:before{content:\\\"\\\\f33e\\\"}.fa-arrow-to-right:before{content:\\\"\\\\f340\\\"}.fa-arrow-to-top:before{content:\\\"\\\\f341\\\"}.fa-arrow-up:before{content:\\\"\\\\f062\\\"}.fa-arrows:before{content:\\\"\\\\f047\\\"}.fa-arrows-alt:before{content:\\\"\\\\f0b2\\\"}.fa-arrows-alt-h:before{content:\\\"\\\\f337\\\"}.fa-arrows-alt-v:before{content:\\\"\\\\f338\\\"}.fa-arrows-h:before{content:\\\"\\\\f07e\\\"}.fa-arrows-v:before{content:\\\"\\\\f07d\\\"}.fa-artstation:before{content:\\\"\\\\f77a\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\\f2a2\\\"}.fa-asterisk:before{content:\\\"\\\\f069\\\"}.fa-asymmetrik:before{content:\\\"\\\\f372\\\"}.fa-at:before{content:\\\"\\\\f1fa\\\"}.fa-atlas:before{content:\\\"\\\\f558\\\"}.fa-atlassian:before{content:\\\"\\\\f77b\\\"}.fa-atom:before{content:\\\"\\\\f5d2\\\"}.fa-atom-alt:before{content:\\\"\\\\f5d3\\\"}.fa-audible:before{content:\\\"\\\\f373\\\"}.fa-audio-description:before{content:\\\"\\\\f29e\\\"}.fa-autoprefixer:before{content:\\\"\\\\f41c\\\"}.fa-avianex:before{content:\\\"\\\\f374\\\"}.fa-aviato:before{content:\\\"\\\\f421\\\"}.fa-award:before{content:\\\"\\\\f559\\\"}.fa-aws:before{content:\\\"\\\\f375\\\"}.fa-axe:before{content:\\\"\\\\f6b2\\\"}.fa-axe-battle:before{content:\\\"\\\\f6b3\\\"}.fa-baby:before{content:\\\"\\\\f77c\\\"}.fa-baby-carriage:before{content:\\\"\\\\f77d\\\"}.fa-backpack:before{content:\\\"\\\\f5d4\\\"}.fa-backspace:before{content:\\\"\\\\f55a\\\"}.fa-backward:before{content:\\\"\\\\f04a\\\"}.fa-bacon:before{content:\\\"\\\\f7e5\\\"}.fa-bacteria:before{content:\\\"\\\\f959\\\"}.fa-bacterium:before{content:\\\"\\\\f95a\\\"}.fa-badge:before{content:\\\"\\\\f335\\\"}.fa-badge-check:before{content:\\\"\\\\f336\\\"}.fa-badge-dollar:before{content:\\\"\\\\f645\\\"}.fa-badge-percent:before{content:\\\"\\\\f646\\\"}.fa-badge-sheriff:before{content:\\\"\\\\f8a2\\\"}.fa-badger-honey:before{content:\\\"\\\\f6b4\\\"}.fa-bags-shopping:before{content:\\\"\\\\f847\\\"}.fa-bahai:before{content:\\\"\\\\f666\\\"}.fa-balance-scale:before{content:\\\"\\\\f24e\\\"}.fa-balance-scale-left:before{content:\\\"\\\\f515\\\"}.fa-balance-scale-right:before{content:\\\"\\\\f516\\\"}.fa-ball-pile:before{content:\\\"\\\\f77e\\\"}.fa-ballot:before{content:\\\"\\\\f732\\\"}.fa-ballot-check:before{content:\\\"\\\\f733\\\"}.fa-ban:before{content:\\\"\\\\f05e\\\"}.fa-band-aid:before{content:\\\"\\\\f462\\\"}.fa-bandcamp:before{content:\\\"\\\\f2d5\\\"}.fa-banjo:before{content:\\\"\\\\f8a3\\\"}.fa-barcode:before{content:\\\"\\\\f02a\\\"}.fa-barcode-alt:before{content:\\\"\\\\f463\\\"}.fa-barcode-read:before{content:\\\"\\\\f464\\\"}.fa-barcode-scan:before{content:\\\"\\\\f465\\\"}.fa-bars:before{content:\\\"\\\\f0c9\\\"}.fa-baseball:before{content:\\\"\\\\f432\\\"}.fa-baseball-ball:before{content:\\\"\\\\f433\\\"}.fa-basketball-ball:before{content:\\\"\\\\f434\\\"}.fa-basketball-hoop:before{content:\\\"\\\\f435\\\"}.fa-bat:before{content:\\\"\\\\f6b5\\\"}.fa-bath:before{content:\\\"\\\\f2cd\\\"}.fa-battery-bolt:before{content:\\\"\\\\f376\\\"}.fa-battery-empty:before{content:\\\"\\\\f244\\\"}.fa-battery-full:before{content:\\\"\\\\f240\\\"}.fa-battery-half:before{content:\\\"\\\\f242\\\"}.fa-battery-quarter:before{content:\\\"\\\\f243\\\"}.fa-battery-slash:before{content:\\\"\\\\f377\\\"}.fa-battery-three-quarters:before{content:\\\"\\\\f241\\\"}.fa-battle-net:before{content:\\\"\\\\f835\\\"}.fa-bed:before{content:\\\"\\\\f236\\\"}.fa-bed-alt:before{content:\\\"\\\\f8f7\\\"}.fa-bed-bunk:before{content:\\\"\\\\f8f8\\\"}.fa-bed-empty:before{content:\\\"\\\\f8f9\\\"}.fa-beer:before{content:\\\"\\\\f0fc\\\"}.fa-behance:before{content:\\\"\\\\f1b4\\\"}.fa-behance-square:before{content:\\\"\\\\f1b5\\\"}.fa-bell:before{content:\\\"\\\\f0f3\\\"}.fa-bell-exclamation:before{content:\\\"\\\\f848\\\"}.fa-bell-on:before{content:\\\"\\\\f8fa\\\"}.fa-bell-plus:before{content:\\\"\\\\f849\\\"}.fa-bell-school:before{content:\\\"\\\\f5d5\\\"}.fa-bell-school-slash:before{content:\\\"\\\\f5d6\\\"}.fa-bell-slash:before{content:\\\"\\\\f1f6\\\"}.fa-bells:before{content:\\\"\\\\f77f\\\"}.fa-betamax:before{content:\\\"\\\\f8a4\\\"}.fa-bezier-curve:before{content:\\\"\\\\f55b\\\"}.fa-bible:before{content:\\\"\\\\f647\\\"}.fa-bicycle:before{content:\\\"\\\\f206\\\"}.fa-biking:before{content:\\\"\\\\f84a\\\"}.fa-biking-mountain:before{content:\\\"\\\\f84b\\\"}.fa-bimobject:before{content:\\\"\\\\f378\\\"}.fa-binoculars:before{content:\\\"\\\\f1e5\\\"}.fa-biohazard:before{content:\\\"\\\\f780\\\"}.fa-birthday-cake:before{content:\\\"\\\\f1fd\\\"}.fa-bitbucket:before{content:\\\"\\\\f171\\\"}.fa-bitcoin:before{content:\\\"\\\\f379\\\"}.fa-bity:before{content:\\\"\\\\f37a\\\"}.fa-black-tie:before{content:\\\"\\\\f27e\\\"}.fa-blackberry:before{content:\\\"\\\\f37b\\\"}.fa-blanket:before{content:\\\"\\\\f498\\\"}.fa-blender:before{content:\\\"\\\\f517\\\"}.fa-blender-phone:before{content:\\\"\\\\f6b6\\\"}.fa-blind:before{content:\\\"\\\\f29d\\\"}.fa-blinds:before{content:\\\"\\\\f8fb\\\"}.fa-blinds-open:before{content:\\\"\\\\f8fc\\\"}.fa-blinds-raised:before{content:\\\"\\\\f8fd\\\"}.fa-blog:before{content:\\\"\\\\f781\\\"}.fa-blogger:before{content:\\\"\\\\f37c\\\"}.fa-blogger-b:before{content:\\\"\\\\f37d\\\"}.fa-bluetooth:before{content:\\\"\\\\f293\\\"}.fa-bluetooth-b:before{content:\\\"\\\\f294\\\"}.fa-bold:before{content:\\\"\\\\f032\\\"}.fa-bolt:before{content:\\\"\\\\f0e7\\\"}.fa-bomb:before{content:\\\"\\\\f1e2\\\"}.fa-bone:before{content:\\\"\\\\f5d7\\\"}.fa-bone-break:before{content:\\\"\\\\f5d8\\\"}.fa-bong:before{content:\\\"\\\\f55c\\\"}.fa-book:before{content:\\\"\\\\f02d\\\"}.fa-book-alt:before{content:\\\"\\\\f5d9\\\"}.fa-book-dead:before{content:\\\"\\\\f6b7\\\"}.fa-book-heart:before{content:\\\"\\\\f499\\\"}.fa-book-medical:before{content:\\\"\\\\f7e6\\\"}.fa-book-open:before{content:\\\"\\\\f518\\\"}.fa-book-reader:before{content:\\\"\\\\f5da\\\"}.fa-book-spells:before{content:\\\"\\\\f6b8\\\"}.fa-book-user:before{content:\\\"\\\\f7e7\\\"}.fa-bookmark:before{content:\\\"\\\\f02e\\\"}.fa-books:before{content:\\\"\\\\f5db\\\"}.fa-books-medical:before{content:\\\"\\\\f7e8\\\"}.fa-boombox:before{content:\\\"\\\\f8a5\\\"}.fa-boot:before{content:\\\"\\\\f782\\\"}.fa-booth-curtain:before{content:\\\"\\\\f734\\\"}.fa-bootstrap:before{content:\\\"\\\\f836\\\"}.fa-border-all:before{content:\\\"\\\\f84c\\\"}.fa-border-bottom:before{content:\\\"\\\\f84d\\\"}.fa-border-center-h:before{content:\\\"\\\\f89c\\\"}.fa-border-center-v:before{content:\\\"\\\\f89d\\\"}.fa-border-inner:before{content:\\\"\\\\f84e\\\"}.fa-border-left:before{content:\\\"\\\\f84f\\\"}.fa-border-none:before{content:\\\"\\\\f850\\\"}.fa-border-outer:before{content:\\\"\\\\f851\\\"}.fa-border-right:before{content:\\\"\\\\f852\\\"}.fa-border-style:before{content:\\\"\\\\f853\\\"}.fa-border-style-alt:before{content:\\\"\\\\f854\\\"}.fa-border-top:before{content:\\\"\\\\f855\\\"}.fa-bow-arrow:before{content:\\\"\\\\f6b9\\\"}.fa-bowling-ball:before{content:\\\"\\\\f436\\\"}.fa-bowling-pins:before{content:\\\"\\\\f437\\\"}.fa-box:before{content:\\\"\\\\f466\\\"}.fa-box-alt:before{content:\\\"\\\\f49a\\\"}.fa-box-ballot:before{content:\\\"\\\\f735\\\"}.fa-box-check:before{content:\\\"\\\\f467\\\"}.fa-box-fragile:before{content:\\\"\\\\f49b\\\"}.fa-box-full:before{content:\\\"\\\\f49c\\\"}.fa-box-heart:before{content:\\\"\\\\f49d\\\"}.fa-box-open:before{content:\\\"\\\\f49e\\\"}.fa-box-tissue:before{content:\\\"\\\\f95b\\\"}.fa-box-up:before{content:\\\"\\\\f49f\\\"}.fa-box-usd:before{content:\\\"\\\\f4a0\\\"}.fa-boxes:before{content:\\\"\\\\f468\\\"}.fa-boxes-alt:before{content:\\\"\\\\f4a1\\\"}.fa-boxing-glove:before{content:\\\"\\\\f438\\\"}.fa-brackets:before{content:\\\"\\\\f7e9\\\"}.fa-brackets-curly:before{content:\\\"\\\\f7ea\\\"}.fa-braille:before{content:\\\"\\\\f2a1\\\"}.fa-brain:before{content:\\\"\\\\f5dc\\\"}.fa-bread-loaf:before{content:\\\"\\\\f7eb\\\"}.fa-bread-slice:before{content:\\\"\\\\f7ec\\\"}.fa-briefcase:before{content:\\\"\\\\f0b1\\\"}.fa-briefcase-medical:before{content:\\\"\\\\f469\\\"}.fa-bring-forward:before{content:\\\"\\\\f856\\\"}.fa-bring-front:before{content:\\\"\\\\f857\\\"}.fa-broadcast-tower:before{content:\\\"\\\\f519\\\"}.fa-broom:before{content:\\\"\\\\f51a\\\"}.fa-browser:before{content:\\\"\\\\f37e\\\"}.fa-brush:before{content:\\\"\\\\f55d\\\"}.fa-btc:before{content:\\\"\\\\f15a\\\"}.fa-buffer:before{content:\\\"\\\\f837\\\"}.fa-bug:before{content:\\\"\\\\f188\\\"}.fa-building:before{content:\\\"\\\\f1ad\\\"}.fa-bullhorn:before{content:\\\"\\\\f0a1\\\"}.fa-bullseye:before{content:\\\"\\\\f140\\\"}.fa-bullseye-arrow:before{content:\\\"\\\\f648\\\"}.fa-bullseye-pointer:before{content:\\\"\\\\f649\\\"}.fa-burger-soda:before{content:\\\"\\\\f858\\\"}.fa-burn:before{content:\\\"\\\\f46a\\\"}.fa-buromobelexperte:before{content:\\\"\\\\f37f\\\"}.fa-burrito:before{content:\\\"\\\\f7ed\\\"}.fa-bus:before{content:\\\"\\\\f207\\\"}.fa-bus-alt:before{content:\\\"\\\\f55e\\\"}.fa-bus-school:before{content:\\\"\\\\f5dd\\\"}.fa-business-time:before{content:\\\"\\\\f64a\\\"}.fa-buy-n-large:before{content:\\\"\\\\f8a6\\\"}.fa-buysellads:before{content:\\\"\\\\f20d\\\"}.fa-cabinet-filing:before{content:\\\"\\\\f64b\\\"}.fa-cactus:before{content:\\\"\\\\f8a7\\\"}.fa-calculator:before{content:\\\"\\\\f1ec\\\"}.fa-calculator-alt:before{content:\\\"\\\\f64c\\\"}.fa-calendar:before{content:\\\"\\\\f133\\\"}.fa-calendar-alt:before{content:\\\"\\\\f073\\\"}.fa-calendar-check:before{content:\\\"\\\\f274\\\"}.fa-calendar-day:before{content:\\\"\\\\f783\\\"}.fa-calendar-edit:before{content:\\\"\\\\f333\\\"}.fa-calendar-exclamation:before{content:\\\"\\\\f334\\\"}.fa-calendar-minus:before{content:\\\"\\\\f272\\\"}.fa-calendar-plus:before{content:\\\"\\\\f271\\\"}.fa-calendar-star:before{content:\\\"\\\\f736\\\"}.fa-calendar-times:before{content:\\\"\\\\f273\\\"}.fa-calendar-week:before{content:\\\"\\\\f784\\\"}.fa-camcorder:before{content:\\\"\\\\f8a8\\\"}.fa-camera:before{content:\\\"\\\\f030\\\"}.fa-camera-alt:before{content:\\\"\\\\f332\\\"}.fa-camera-home:before{content:\\\"\\\\f8fe\\\"}.fa-camera-movie:before{content:\\\"\\\\f8a9\\\"}.fa-camera-polaroid:before{content:\\\"\\\\f8aa\\\"}.fa-camera-retro:before{content:\\\"\\\\f083\\\"}.fa-campfire:before{content:\\\"\\\\f6ba\\\"}.fa-campground:before{content:\\\"\\\\f6bb\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\\f785\\\"}.fa-candle-holder:before{content:\\\"\\\\f6bc\\\"}.fa-candy-cane:before{content:\\\"\\\\f786\\\"}.fa-candy-corn:before{content:\\\"\\\\f6bd\\\"}.fa-cannabis:before{content:\\\"\\\\f55f\\\"}.fa-capsules:before{content:\\\"\\\\f46b\\\"}.fa-car:before{content:\\\"\\\\f1b9\\\"}.fa-car-alt:before{content:\\\"\\\\f5de\\\"}.fa-car-battery:before{content:\\\"\\\\f5df\\\"}.fa-car-building:before{content:\\\"\\\\f859\\\"}.fa-car-bump:before{content:\\\"\\\\f5e0\\\"}.fa-car-bus:before{content:\\\"\\\\f85a\\\"}.fa-car-crash:before{content:\\\"\\\\f5e1\\\"}.fa-car-garage:before{content:\\\"\\\\f5e2\\\"}.fa-car-mechanic:before{content:\\\"\\\\f5e3\\\"}.fa-car-side:before{content:\\\"\\\\f5e4\\\"}.fa-car-tilt:before{content:\\\"\\\\f5e5\\\"}.fa-car-wash:before{content:\\\"\\\\f5e6\\\"}.fa-caravan:before{content:\\\"\\\\f8ff\\\"}.fa-caravan-alt:before{content:\\\"\\\\f900\\\"}.fa-caret-circle-down:before{content:\\\"\\\\f32d\\\"}.fa-caret-circle-left:before{content:\\\"\\\\f32e\\\"}.fa-caret-circle-right:before{content:\\\"\\\\f330\\\"}.fa-caret-circle-up:before{content:\\\"\\\\f331\\\"}.fa-caret-down:before{content:\\\"\\\\f0d7\\\"}.fa-caret-left:before{content:\\\"\\\\f0d9\\\"}.fa-caret-right:before{content:\\\"\\\\f0da\\\"}.fa-caret-square-down:before{content:\\\"\\\\f150\\\"}.fa-caret-square-left:before{content:\\\"\\\\f191\\\"}.fa-caret-square-right:before{content:\\\"\\\\f152\\\"}.fa-caret-square-up:before{content:\\\"\\\\f151\\\"}.fa-caret-up:before{content:\\\"\\\\f0d8\\\"}.fa-carrot:before{content:\\\"\\\\f787\\\"}.fa-cars:before{content:\\\"\\\\f85b\\\"}.fa-cart-arrow-down:before{content:\\\"\\\\f218\\\"}.fa-cart-plus:before{content:\\\"\\\\f217\\\"}.fa-cash-register:before{content:\\\"\\\\f788\\\"}.fa-cassette-tape:before{content:\\\"\\\\f8ab\\\"}.fa-cat:before{content:\\\"\\\\f6be\\\"}.fa-cat-space:before{content:\\\"\\\\f901\\\"}.fa-cauldron:before{content:\\\"\\\\f6bf\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\\f42d\\\"}.fa-cc-amex:before{content:\\\"\\\\f1f3\\\"}.fa-cc-apple-pay:before{content:\\\"\\\\f416\\\"}.fa-cc-diners-club:before{content:\\\"\\\\f24c\\\"}.fa-cc-discover:before{content:\\\"\\\\f1f2\\\"}.fa-cc-jcb:before{content:\\\"\\\\f24b\\\"}.fa-cc-mastercard:before{content:\\\"\\\\f1f1\\\"}.fa-cc-paypal:before{content:\\\"\\\\f1f4\\\"}.fa-cc-stripe:before{content:\\\"\\\\f1f5\\\"}.fa-cc-visa:before{content:\\\"\\\\f1f0\\\"}.fa-cctv:before{content:\\\"\\\\f8ac\\\"}.fa-centercode:before{content:\\\"\\\\f380\\\"}.fa-centos:before{content:\\\"\\\\f789\\\"}.fa-certificate:before{content:\\\"\\\\f0a3\\\"}.fa-chair:before{content:\\\"\\\\f6c0\\\"}.fa-chair-office:before{content:\\\"\\\\f6c1\\\"}.fa-chalkboard:before{content:\\\"\\\\f51b\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\\f51c\\\"}.fa-charging-station:before{content:\\\"\\\\f5e7\\\"}.fa-chart-area:before{content:\\\"\\\\f1fe\\\"}.fa-chart-bar:before{content:\\\"\\\\f080\\\"}.fa-chart-line:before{content:\\\"\\\\f201\\\"}.fa-chart-line-down:before{content:\\\"\\\\f64d\\\"}.fa-chart-network:before{content:\\\"\\\\f78a\\\"}.fa-chart-pie:before{content:\\\"\\\\f200\\\"}.fa-chart-pie-alt:before{content:\\\"\\\\f64e\\\"}.fa-chart-scatter:before{content:\\\"\\\\f7ee\\\"}.fa-check:before{content:\\\"\\\\f00c\\\"}.fa-check-circle:before{content:\\\"\\\\f058\\\"}.fa-check-double:before{content:\\\"\\\\f560\\\"}.fa-check-square:before{content:\\\"\\\\f14a\\\"}.fa-cheese:before{content:\\\"\\\\f7ef\\\"}.fa-cheese-swiss:before{content:\\\"\\\\f7f0\\\"}.fa-cheeseburger:before{content:\\\"\\\\f7f1\\\"}.fa-chess:before{content:\\\"\\\\f439\\\"}.fa-chess-bishop:before{content:\\\"\\\\f43a\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\\f43b\\\"}.fa-chess-board:before{content:\\\"\\\\f43c\\\"}.fa-chess-clock:before{content:\\\"\\\\f43d\\\"}.fa-chess-clock-alt:before{content:\\\"\\\\f43e\\\"}.fa-chess-king:before{content:\\\"\\\\f43f\\\"}.fa-chess-king-alt:before{content:\\\"\\\\f440\\\"}.fa-chess-knight:before{content:\\\"\\\\f441\\\"}.fa-chess-knight-alt:before{content:\\\"\\\\f442\\\"}.fa-chess-pawn:before{content:\\\"\\\\f443\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\\f444\\\"}.fa-chess-queen:before{content:\\\"\\\\f445\\\"}.fa-chess-queen-alt:before{content:\\\"\\\\f446\\\"}.fa-chess-rook:before{content:\\\"\\\\f447\\\"}.fa-chess-rook-alt:before{content:\\\"\\\\f448\\\"}.fa-chevron-circle-down:before{content:\\\"\\\\f13a\\\"}.fa-chevron-circle-left:before{content:\\\"\\\\f137\\\"}.fa-chevron-circle-right:before{content:\\\"\\\\f138\\\"}.fa-chevron-circle-up:before{content:\\\"\\\\f139\\\"}.fa-chevron-double-down:before{content:\\\"\\\\f322\\\"}.fa-chevron-double-left:before{content:\\\"\\\\f323\\\"}.fa-chevron-double-right:before{content:\\\"\\\\f324\\\"}.fa-chevron-double-up:before{content:\\\"\\\\f325\\\"}.fa-chevron-down:before{content:\\\"\\\\f078\\\"}.fa-chevron-left:before{content:\\\"\\\\f053\\\"}.fa-chevron-right:before{content:\\\"\\\\f054\\\"}.fa-chevron-square-down:before{content:\\\"\\\\f329\\\"}.fa-chevron-square-left:before{content:\\\"\\\\f32a\\\"}.fa-chevron-square-right:before{content:\\\"\\\\f32b\\\"}.fa-chevron-square-up:before{content:\\\"\\\\f32c\\\"}.fa-chevron-up:before{content:\\\"\\\\f077\\\"}.fa-child:before{content:\\\"\\\\f1ae\\\"}.fa-chimney:before{content:\\\"\\\\f78b\\\"}.fa-chrome:before{content:\\\"\\\\f268\\\"}.fa-chromecast:before{content:\\\"\\\\f838\\\"}.fa-church:before{content:\\\"\\\\f51d\\\"}.fa-circle:before{content:\\\"\\\\f111\\\"}.fa-circle-notch:before{content:\\\"\\\\f1ce\\\"}.fa-city:before{content:\\\"\\\\f64f\\\"}.fa-clarinet:before{content:\\\"\\\\f8ad\\\"}.fa-claw-marks:before{content:\\\"\\\\f6c2\\\"}.fa-clinic-medical:before{content:\\\"\\\\f7f2\\\"}.fa-clipboard:before{content:\\\"\\\\f328\\\"}.fa-clipboard-check:before{content:\\\"\\\\f46c\\\"}.fa-clipboard-list:before{content:\\\"\\\\f46d\\\"}.fa-clipboard-list-check:before{content:\\\"\\\\f737\\\"}.fa-clipboard-prescription:before{content:\\\"\\\\f5e8\\\"}.fa-clipboard-user:before{content:\\\"\\\\f7f3\\\"}.fa-clock:before{content:\\\"\\\\f017\\\"}.fa-clone:before{content:\\\"\\\\f24d\\\"}.fa-closed-captioning:before{content:\\\"\\\\f20a\\\"}.fa-cloud:before{content:\\\"\\\\f0c2\\\"}.fa-cloud-download:before{content:\\\"\\\\f0ed\\\"}.fa-cloud-download-alt:before{content:\\\"\\\\f381\\\"}.fa-cloud-drizzle:before{content:\\\"\\\\f738\\\"}.fa-cloud-hail:before{content:\\\"\\\\f739\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\\f73a\\\"}.fa-cloud-meatball:before{content:\\\"\\\\f73b\\\"}.fa-cloud-moon:before{content:\\\"\\\\f6c3\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\\f73c\\\"}.fa-cloud-music:before{content:\\\"\\\\f8ae\\\"}.fa-cloud-rain:before{content:\\\"\\\\f73d\\\"}.fa-cloud-rainbow:before{content:\\\"\\\\f73e\\\"}.fa-cloud-showers:before{content:\\\"\\\\f73f\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\\f740\\\"}.fa-cloud-sleet:before{content:\\\"\\\\f741\\\"}.fa-cloud-snow:before{content:\\\"\\\\f742\\\"}.fa-cloud-sun:before{content:\\\"\\\\f6c4\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\\f743\\\"}.fa-cloud-upload:before{content:\\\"\\\\f0ee\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\\f382\\\"}.fa-clouds:before{content:\\\"\\\\f744\\\"}.fa-clouds-moon:before{content:\\\"\\\\f745\\\"}.fa-clouds-sun:before{content:\\\"\\\\f746\\\"}.fa-cloudscale:before{content:\\\"\\\\f383\\\"}.fa-cloudsmith:before{content:\\\"\\\\f384\\\"}.fa-cloudversify:before{content:\\\"\\\\f385\\\"}.fa-club:before{content:\\\"\\\\f327\\\"}.fa-cocktail:before{content:\\\"\\\\f561\\\"}.fa-code:before{content:\\\"\\\\f121\\\"}.fa-code-branch:before{content:\\\"\\\\f126\\\"}.fa-code-commit:before{content:\\\"\\\\f386\\\"}.fa-code-merge:before{content:\\\"\\\\f387\\\"}.fa-codepen:before{content:\\\"\\\\f1cb\\\"}.fa-codiepie:before{content:\\\"\\\\f284\\\"}.fa-coffee:before{content:\\\"\\\\f0f4\\\"}.fa-coffee-pot:before{content:\\\"\\\\f902\\\"}.fa-coffee-togo:before{content:\\\"\\\\f6c5\\\"}.fa-coffin:before{content:\\\"\\\\f6c6\\\"}.fa-coffin-cross:before{content:\\\"\\\\f951\\\"}.fa-cog:before{content:\\\"\\\\f013\\\"}.fa-cogs:before{content:\\\"\\\\f085\\\"}.fa-coin:before{content:\\\"\\\\f85c\\\"}.fa-coins:before{content:\\\"\\\\f51e\\\"}.fa-columns:before{content:\\\"\\\\f0db\\\"}.fa-comet:before{content:\\\"\\\\f903\\\"}.fa-comment:before{content:\\\"\\\\f075\\\"}.fa-comment-alt:before{content:\\\"\\\\f27a\\\"}.fa-comment-alt-check:before{content:\\\"\\\\f4a2\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\\f650\\\"}.fa-comment-alt-dots:before{content:\\\"\\\\f4a3\\\"}.fa-comment-alt-edit:before{content:\\\"\\\\f4a4\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\\f4a5\\\"}.fa-comment-alt-lines:before{content:\\\"\\\\f4a6\\\"}.fa-comment-alt-medical:before{content:\\\"\\\\f7f4\\\"}.fa-comment-alt-minus:before{content:\\\"\\\\f4a7\\\"}.fa-comment-alt-music:before{content:\\\"\\\\f8af\\\"}.fa-comment-alt-plus:before{content:\\\"\\\\f4a8\\\"}.fa-comment-alt-slash:before{content:\\\"\\\\f4a9\\\"}.fa-comment-alt-smile:before{content:\\\"\\\\f4aa\\\"}.fa-comment-alt-times:before{content:\\\"\\\\f4ab\\\"}.fa-comment-check:before{content:\\\"\\\\f4ac\\\"}.fa-comment-dollar:before{content:\\\"\\\\f651\\\"}.fa-comment-dots:before{content:\\\"\\\\f4ad\\\"}.fa-comment-edit:before{content:\\\"\\\\f4ae\\\"}.fa-comment-exclamation:before{content:\\\"\\\\f4af\\\"}.fa-comment-lines:before{content:\\\"\\\\f4b0\\\"}.fa-comment-medical:before{content:\\\"\\\\f7f5\\\"}.fa-comment-minus:before{content:\\\"\\\\f4b1\\\"}.fa-comment-music:before{content:\\\"\\\\f8b0\\\"}.fa-comment-plus:before{content:\\\"\\\\f4b2\\\"}.fa-comment-slash:before{content:\\\"\\\\f4b3\\\"}.fa-comment-smile:before{content:\\\"\\\\f4b4\\\"}.fa-comment-times:before{content:\\\"\\\\f4b5\\\"}.fa-comments:before{content:\\\"\\\\f086\\\"}.fa-comments-alt:before{content:\\\"\\\\f4b6\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\\f652\\\"}.fa-comments-dollar:before{content:\\\"\\\\f653\\\"}.fa-compact-disc:before{content:\\\"\\\\f51f\\\"}.fa-compass:before{content:\\\"\\\\f14e\\\"}.fa-compass-slash:before{content:\\\"\\\\f5e9\\\"}.fa-compress:before{content:\\\"\\\\f066\\\"}.fa-compress-alt:before{content:\\\"\\\\f422\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\\f78c\\\"}.fa-compress-wide:before{content:\\\"\\\\f326\\\"}.fa-computer-classic:before{content:\\\"\\\\f8b1\\\"}.fa-computer-speaker:before{content:\\\"\\\\f8b2\\\"}.fa-concierge-bell:before{content:\\\"\\\\f562\\\"}.fa-confluence:before{content:\\\"\\\\f78d\\\"}.fa-connectdevelop:before{content:\\\"\\\\f20e\\\"}.fa-construction:before{content:\\\"\\\\f85d\\\"}.fa-container-storage:before{content:\\\"\\\\f4b7\\\"}.fa-contao:before{content:\\\"\\\\f26d\\\"}.fa-conveyor-belt:before{content:\\\"\\\\f46e\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\\f46f\\\"}.fa-cookie:before{content:\\\"\\\\f563\\\"}.fa-cookie-bite:before{content:\\\"\\\\f564\\\"}.fa-copy:before{content:\\\"\\\\f0c5\\\"}.fa-copyright:before{content:\\\"\\\\f1f9\\\"}.fa-corn:before{content:\\\"\\\\f6c7\\\"}.fa-cotton-bureau:before{content:\\\"\\\\f89e\\\"}.fa-couch:before{content:\\\"\\\\f4b8\\\"}.fa-cow:before{content:\\\"\\\\f6c8\\\"}.fa-cowbell:before{content:\\\"\\\\f8b3\\\"}.fa-cowbell-more:before{content:\\\"\\\\f8b4\\\"}.fa-cpanel:before{content:\\\"\\\\f388\\\"}.fa-creative-commons:before{content:\\\"\\\\f25e\\\"}.fa-creative-commons-by:before{content:\\\"\\\\f4e7\\\"}.fa-creative-commons-nc:before{content:\\\"\\\\f4e8\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\\f4e9\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\\f4ea\\\"}.fa-creative-commons-nd:before{content:\\\"\\\\f4eb\\\"}.fa-creative-commons-pd:before{content:\\\"\\\\f4ec\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\\f4ed\\\"}.fa-creative-commons-remix:before{content:\\\"\\\\f4ee\\\"}.fa-creative-commons-sa:before{content:\\\"\\\\f4ef\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\\f4f0\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\\f4f1\\\"}.fa-creative-commons-share:before{content:\\\"\\\\f4f2\\\"}.fa-creative-commons-zero:before{content:\\\"\\\\f4f3\\\"}.fa-credit-card:before{content:\\\"\\\\f09d\\\"}.fa-credit-card-blank:before{content:\\\"\\\\f389\\\"}.fa-credit-card-front:before{content:\\\"\\\\f38a\\\"}.fa-cricket:before{content:\\\"\\\\f449\\\"}.fa-critical-role:before{content:\\\"\\\\f6c9\\\"}.fa-croissant:before{content:\\\"\\\\f7f6\\\"}.fa-crop:before{content:\\\"\\\\f125\\\"}.fa-crop-alt:before{content:\\\"\\\\f565\\\"}.fa-cross:before{content:\\\"\\\\f654\\\"}.fa-crosshairs:before{content:\\\"\\\\f05b\\\"}.fa-crow:before{content:\\\"\\\\f520\\\"}.fa-crown:before{content:\\\"\\\\f521\\\"}.fa-crutch:before{content:\\\"\\\\f7f7\\\"}.fa-crutches:before{content:\\\"\\\\f7f8\\\"}.fa-css3:before{content:\\\"\\\\f13c\\\"}.fa-css3-alt:before{content:\\\"\\\\f38b\\\"}.fa-cube:before{content:\\\"\\\\f1b2\\\"}.fa-cubes:before{content:\\\"\\\\f1b3\\\"}.fa-curling:before{content:\\\"\\\\f44a\\\"}.fa-cut:before{content:\\\"\\\\f0c4\\\"}.fa-cuttlefish:before{content:\\\"\\\\f38c\\\"}.fa-d-and-d:before{content:\\\"\\\\f38d\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\\f6ca\\\"}.fa-dagger:before{content:\\\"\\\\f6cb\\\"}.fa-dailymotion:before{content:\\\"\\\\f952\\\"}.fa-dashcube:before{content:\\\"\\\\f210\\\"}.fa-database:before{content:\\\"\\\\f1c0\\\"}.fa-deaf:before{content:\\\"\\\\f2a4\\\"}.fa-debug:before{content:\\\"\\\\f7f9\\\"}.fa-deer:before{content:\\\"\\\\f78e\\\"}.fa-deer-rudolph:before{content:\\\"\\\\f78f\\\"}.fa-delicious:before{content:\\\"\\\\f1a5\\\"}.fa-democrat:before{content:\\\"\\\\f747\\\"}.fa-deploydog:before{content:\\\"\\\\f38e\\\"}.fa-deskpro:before{content:\\\"\\\\f38f\\\"}.fa-desktop:before{content:\\\"\\\\f108\\\"}.fa-desktop-alt:before{content:\\\"\\\\f390\\\"}.fa-dev:before{content:\\\"\\\\f6cc\\\"}.fa-deviantart:before{content:\\\"\\\\f1bd\\\"}.fa-dewpoint:before{content:\\\"\\\\f748\\\"}.fa-dharmachakra:before{content:\\\"\\\\f655\\\"}.fa-dhl:before{content:\\\"\\\\f790\\\"}.fa-diagnoses:before{content:\\\"\\\\f470\\\"}.fa-diamond:before{content:\\\"\\\\f219\\\"}.fa-diaspora:before{content:\\\"\\\\f791\\\"}.fa-dice:before{content:\\\"\\\\f522\\\"}.fa-dice-d10:before{content:\\\"\\\\f6cd\\\"}.fa-dice-d12:before{content:\\\"\\\\f6ce\\\"}.fa-dice-d20:before{content:\\\"\\\\f6cf\\\"}.fa-dice-d4:before{content:\\\"\\\\f6d0\\\"}.fa-dice-d6:before{content:\\\"\\\\f6d1\\\"}.fa-dice-d8:before{content:\\\"\\\\f6d2\\\"}.fa-dice-five:before{content:\\\"\\\\f523\\\"}.fa-dice-four:before{content:\\\"\\\\f524\\\"}.fa-dice-one:before{content:\\\"\\\\f525\\\"}.fa-dice-six:before{content:\\\"\\\\f526\\\"}.fa-dice-three:before{content:\\\"\\\\f527\\\"}.fa-dice-two:before{content:\\\"\\\\f528\\\"}.fa-digg:before{content:\\\"\\\\f1a6\\\"}.fa-digging:before{content:\\\"\\\\f85e\\\"}.fa-digital-ocean:before{content:\\\"\\\\f391\\\"}.fa-digital-tachograph:before{content:\\\"\\\\f566\\\"}.fa-diploma:before{content:\\\"\\\\f5ea\\\"}.fa-directions:before{content:\\\"\\\\f5eb\\\"}.fa-disc-drive:before{content:\\\"\\\\f8b5\\\"}.fa-discord:before{content:\\\"\\\\f392\\\"}.fa-discourse:before{content:\\\"\\\\f393\\\"}.fa-disease:before{content:\\\"\\\\f7fa\\\"}.fa-divide:before{content:\\\"\\\\f529\\\"}.fa-dizzy:before{content:\\\"\\\\f567\\\"}.fa-dna:before{content:\\\"\\\\f471\\\"}.fa-do-not-enter:before{content:\\\"\\\\f5ec\\\"}.fa-dochub:before{content:\\\"\\\\f394\\\"}.fa-docker:before{content:\\\"\\\\f395\\\"}.fa-dog:before{content:\\\"\\\\f6d3\\\"}.fa-dog-leashed:before{content:\\\"\\\\f6d4\\\"}.fa-dollar-sign:before{content:\\\"\\\\f155\\\"}.fa-dolly:before{content:\\\"\\\\f472\\\"}.fa-dolly-empty:before{content:\\\"\\\\f473\\\"}.fa-dolly-flatbed:before{content:\\\"\\\\f474\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\\f475\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\\f476\\\"}.fa-donate:before{content:\\\"\\\\f4b9\\\"}.fa-door-closed:before{content:\\\"\\\\f52a\\\"}.fa-door-open:before{content:\\\"\\\\f52b\\\"}.fa-dot-circle:before{content:\\\"\\\\f192\\\"}.fa-dove:before{content:\\\"\\\\f4ba\\\"}.fa-download:before{content:\\\"\\\\f019\\\"}.fa-draft2digital:before{content:\\\"\\\\f396\\\"}.fa-drafting-compass:before{content:\\\"\\\\f568\\\"}.fa-dragon:before{content:\\\"\\\\f6d5\\\"}.fa-draw-circle:before{content:\\\"\\\\f5ed\\\"}.fa-draw-polygon:before{content:\\\"\\\\f5ee\\\"}.fa-draw-square:before{content:\\\"\\\\f5ef\\\"}.fa-dreidel:before{content:\\\"\\\\f792\\\"}.fa-dribbble:before{content:\\\"\\\\f17d\\\"}.fa-dribbble-square:before{content:\\\"\\\\f397\\\"}.fa-drone:before{content:\\\"\\\\f85f\\\"}.fa-drone-alt:before{content:\\\"\\\\f860\\\"}.fa-dropbox:before{content:\\\"\\\\f16b\\\"}.fa-drum:before{content:\\\"\\\\f569\\\"}.fa-drum-steelpan:before{content:\\\"\\\\f56a\\\"}.fa-drumstick:before{content:\\\"\\\\f6d6\\\"}.fa-drumstick-bite:before{content:\\\"\\\\f6d7\\\"}.fa-drupal:before{content:\\\"\\\\f1a9\\\"}.fa-dryer:before{content:\\\"\\\\f861\\\"}.fa-dryer-alt:before{content:\\\"\\\\f862\\\"}.fa-duck:before{content:\\\"\\\\f6d8\\\"}.fa-dumbbell:before{content:\\\"\\\\f44b\\\"}.fa-dumpster:before{content:\\\"\\\\f793\\\"}.fa-dumpster-fire:before{content:\\\"\\\\f794\\\"}.fa-dungeon:before{content:\\\"\\\\f6d9\\\"}.fa-dyalog:before{content:\\\"\\\\f399\\\"}.fa-ear:before{content:\\\"\\\\f5f0\\\"}.fa-ear-muffs:before{content:\\\"\\\\f795\\\"}.fa-earlybirds:before{content:\\\"\\\\f39a\\\"}.fa-ebay:before{content:\\\"\\\\f4f4\\\"}.fa-eclipse:before{content:\\\"\\\\f749\\\"}.fa-eclipse-alt:before{content:\\\"\\\\f74a\\\"}.fa-edge:before{content:\\\"\\\\f282\\\"}.fa-edit:before{content:\\\"\\\\f044\\\"}.fa-egg:before{content:\\\"\\\\f7fb\\\"}.fa-egg-fried:before{content:\\\"\\\\f7fc\\\"}.fa-eject:before{content:\\\"\\\\f052\\\"}.fa-elementor:before{content:\\\"\\\\f430\\\"}.fa-elephant:before{content:\\\"\\\\f6da\\\"}.fa-ellipsis-h:before{content:\\\"\\\\f141\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\\f39b\\\"}.fa-ellipsis-v:before{content:\\\"\\\\f142\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\\f39c\\\"}.fa-ello:before{content:\\\"\\\\f5f1\\\"}.fa-ember:before{content:\\\"\\\\f423\\\"}.fa-empire:before{content:\\\"\\\\f1d1\\\"}.fa-empty-set:before{content:\\\"\\\\f656\\\"}.fa-engine-warning:before{content:\\\"\\\\f5f2\\\"}.fa-envelope:before{content:\\\"\\\\f0e0\\\"}.fa-envelope-open:before{content:\\\"\\\\f2b6\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\\f657\\\"}.fa-envelope-open-text:before{content:\\\"\\\\f658\\\"}.fa-envelope-square:before{content:\\\"\\\\f199\\\"}.fa-envira:before{content:\\\"\\\\f299\\\"}.fa-equals:before{content:\\\"\\\\f52c\\\"}.fa-eraser:before{content:\\\"\\\\f12d\\\"}.fa-erlang:before{content:\\\"\\\\f39d\\\"}.fa-ethereum:before{content:\\\"\\\\f42e\\\"}.fa-ethernet:before{content:\\\"\\\\f796\\\"}.fa-etsy:before{content:\\\"\\\\f2d7\\\"}.fa-euro-sign:before{content:\\\"\\\\f153\\\"}.fa-evernote:before{content:\\\"\\\\f839\\\"}.fa-exchange:before{content:\\\"\\\\f0ec\\\"}.fa-exchange-alt:before{content:\\\"\\\\f362\\\"}.fa-exclamation:before{content:\\\"\\\\f12a\\\"}.fa-exclamation-circle:before{content:\\\"\\\\f06a\\\"}.fa-exclamation-square:before{content:\\\"\\\\f321\\\"}.fa-exclamation-triangle:before{content:\\\"\\\\f071\\\"}.fa-expand:before{content:\\\"\\\\f065\\\"}.fa-expand-alt:before{content:\\\"\\\\f424\\\"}.fa-expand-arrows:before{content:\\\"\\\\f31d\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\\f31e\\\"}.fa-expand-wide:before{content:\\\"\\\\f320\\\"}.fa-expeditedssl:before{content:\\\"\\\\f23e\\\"}.fa-external-link:before{content:\\\"\\\\f08e\\\"}.fa-external-link-alt:before{content:\\\"\\\\f35d\\\"}.fa-external-link-square:before{content:\\\"\\\\f14c\\\"}.fa-external-link-square-alt:before{content:\\\"\\\\f360\\\"}.fa-eye:before{content:\\\"\\\\f06e\\\"}.fa-eye-dropper:before{content:\\\"\\\\f1fb\\\"}.fa-eye-evil:before{content:\\\"\\\\f6db\\\"}.fa-eye-slash:before{content:\\\"\\\\f070\\\"}.fa-facebook:before{content:\\\"\\\\f09a\\\"}.fa-facebook-f:before{content:\\\"\\\\f39e\\\"}.fa-facebook-messenger:before{content:\\\"\\\\f39f\\\"}.fa-facebook-square:before{content:\\\"\\\\f082\\\"}.fa-fan:before{content:\\\"\\\\f863\\\"}.fa-fan-table:before{content:\\\"\\\\f904\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\\f6dc\\\"}.fa-farm:before{content:\\\"\\\\f864\\\"}.fa-fast-backward:before{content:\\\"\\\\f049\\\"}.fa-fast-forward:before{content:\\\"\\\\f050\\\"}.fa-faucet:before{content:\\\"\\\\f905\\\"}.fa-faucet-drip:before{content:\\\"\\\\f906\\\"}.fa-fax:before{content:\\\"\\\\f1ac\\\"}.fa-feather:before{content:\\\"\\\\f52d\\\"}.fa-feather-alt:before{content:\\\"\\\\f56b\\\"}.fa-fedex:before{content:\\\"\\\\f797\\\"}.fa-fedora:before{content:\\\"\\\\f798\\\"}.fa-female:before{content:\\\"\\\\f182\\\"}.fa-field-hockey:before{content:\\\"\\\\f44c\\\"}.fa-fighter-jet:before{content:\\\"\\\\f0fb\\\"}.fa-figma:before{content:\\\"\\\\f799\\\"}.fa-file:before{content:\\\"\\\\f15b\\\"}.fa-file-alt:before{content:\\\"\\\\f15c\\\"}.fa-file-archive:before{content:\\\"\\\\f1c6\\\"}.fa-file-audio:before{content:\\\"\\\\f1c7\\\"}.fa-file-certificate:before{content:\\\"\\\\f5f3\\\"}.fa-file-chart-line:before{content:\\\"\\\\f659\\\"}.fa-file-chart-pie:before{content:\\\"\\\\f65a\\\"}.fa-file-check:before{content:\\\"\\\\f316\\\"}.fa-file-code:before{content:\\\"\\\\f1c9\\\"}.fa-file-contract:before{content:\\\"\\\\f56c\\\"}.fa-file-csv:before{content:\\\"\\\\f6dd\\\"}.fa-file-download:before{content:\\\"\\\\f56d\\\"}.fa-file-edit:before{content:\\\"\\\\f31c\\\"}.fa-file-excel:before{content:\\\"\\\\f1c3\\\"}.fa-file-exclamation:before{content:\\\"\\\\f31a\\\"}.fa-file-export:before{content:\\\"\\\\f56e\\\"}.fa-file-image:before{content:\\\"\\\\f1c5\\\"}.fa-file-import:before{content:\\\"\\\\f56f\\\"}.fa-file-invoice:before{content:\\\"\\\\f570\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\\f571\\\"}.fa-file-medical:before{content:\\\"\\\\f477\\\"}.fa-file-medical-alt:before{content:\\\"\\\\f478\\\"}.fa-file-minus:before{content:\\\"\\\\f318\\\"}.fa-file-music:before{content:\\\"\\\\f8b6\\\"}.fa-file-pdf:before{content:\\\"\\\\f1c1\\\"}.fa-file-plus:before{content:\\\"\\\\f319\\\"}.fa-file-powerpoint:before{content:\\\"\\\\f1c4\\\"}.fa-file-prescription:before{content:\\\"\\\\f572\\\"}.fa-file-search:before{content:\\\"\\\\f865\\\"}.fa-file-signature:before{content:\\\"\\\\f573\\\"}.fa-file-spreadsheet:before{content:\\\"\\\\f65b\\\"}.fa-file-times:before{content:\\\"\\\\f317\\\"}.fa-file-upload:before{content:\\\"\\\\f574\\\"}.fa-file-user:before{content:\\\"\\\\f65c\\\"}.fa-file-video:before{content:\\\"\\\\f1c8\\\"}.fa-file-word:before{content:\\\"\\\\f1c2\\\"}.fa-files-medical:before{content:\\\"\\\\f7fd\\\"}.fa-fill:before{content:\\\"\\\\f575\\\"}.fa-fill-drip:before{content:\\\"\\\\f576\\\"}.fa-film:before{content:\\\"\\\\f008\\\"}.fa-film-alt:before{content:\\\"\\\\f3a0\\\"}.fa-film-canister:before{content:\\\"\\\\f8b7\\\"}.fa-filter:before{content:\\\"\\\\f0b0\\\"}.fa-fingerprint:before{content:\\\"\\\\f577\\\"}.fa-fire:before{content:\\\"\\\\f06d\\\"}.fa-fire-alt:before{content:\\\"\\\\f7e4\\\"}.fa-fire-extinguisher:before{content:\\\"\\\\f134\\\"}.fa-fire-smoke:before{content:\\\"\\\\f74b\\\"}.fa-firefox:before{content:\\\"\\\\f269\\\"}.fa-firefox-browser:before{content:\\\"\\\\f907\\\"}.fa-fireplace:before{content:\\\"\\\\f79a\\\"}.fa-first-aid:before{content:\\\"\\\\f479\\\"}.fa-first-order:before{content:\\\"\\\\f2b0\\\"}.fa-first-order-alt:before{content:\\\"\\\\f50a\\\"}.fa-firstdraft:before{content:\\\"\\\\f3a1\\\"}.fa-fish:before{content:\\\"\\\\f578\\\"}.fa-fish-cooked:before{content:\\\"\\\\f7fe\\\"}.fa-fist-raised:before{content:\\\"\\\\f6de\\\"}.fa-flag:before{content:\\\"\\\\f024\\\"}.fa-flag-alt:before{content:\\\"\\\\f74c\\\"}.fa-flag-checkered:before{content:\\\"\\\\f11e\\\"}.fa-flag-usa:before{content:\\\"\\\\f74d\\\"}.fa-flame:before{content:\\\"\\\\f6df\\\"}.fa-flashlight:before{content:\\\"\\\\f8b8\\\"}.fa-flask:before{content:\\\"\\\\f0c3\\\"}.fa-flask-poison:before{content:\\\"\\\\f6e0\\\"}.fa-flask-potion:before{content:\\\"\\\\f6e1\\\"}.fa-flickr:before{content:\\\"\\\\f16e\\\"}.fa-flipboard:before{content:\\\"\\\\f44d\\\"}.fa-flower:before{content:\\\"\\\\f7ff\\\"}.fa-flower-daffodil:before{content:\\\"\\\\f800\\\"}.fa-flower-tulip:before{content:\\\"\\\\f801\\\"}.fa-flushed:before{content:\\\"\\\\f579\\\"}.fa-flute:before{content:\\\"\\\\f8b9\\\"}.fa-flux-capacitor:before{content:\\\"\\\\f8ba\\\"}.fa-fly:before{content:\\\"\\\\f417\\\"}.fa-fog:before{content:\\\"\\\\f74e\\\"}.fa-folder:before{content:\\\"\\\\f07b\\\"}.fa-folder-download:before{content:\\\"\\\\f953\\\"}.fa-folder-minus:before{content:\\\"\\\\f65d\\\"}.fa-folder-open:before{content:\\\"\\\\f07c\\\"}.fa-folder-plus:before{content:\\\"\\\\f65e\\\"}.fa-folder-times:before{content:\\\"\\\\f65f\\\"}.fa-folder-tree:before{content:\\\"\\\\f802\\\"}.fa-folder-upload:before{content:\\\"\\\\f954\\\"}.fa-folders:before{content:\\\"\\\\f660\\\"}.fa-font:before{content:\\\"\\\\f031\\\"}.fa-font-awesome:before{content:\\\"\\\\f2b4\\\"}.fa-font-awesome-alt:before{content:\\\"\\\\f35c\\\"}.fa-font-awesome-flag:before{content:\\\"\\\\f425\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\\f4e6\\\"}.fa-font-case:before{content:\\\"\\\\f866\\\"}.fa-fonticons:before{content:\\\"\\\\f280\\\"}.fa-fonticons-fi:before{content:\\\"\\\\f3a2\\\"}.fa-football-ball:before{content:\\\"\\\\f44e\\\"}.fa-football-helmet:before{content:\\\"\\\\f44f\\\"}.fa-forklift:before{content:\\\"\\\\f47a\\\"}.fa-fort-awesome:before{content:\\\"\\\\f286\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\\f3a3\\\"}.fa-forumbee:before{content:\\\"\\\\f211\\\"}.fa-forward:before{content:\\\"\\\\f04e\\\"}.fa-foursquare:before{content:\\\"\\\\f180\\\"}.fa-fragile:before{content:\\\"\\\\f4bb\\\"}.fa-free-code-camp:before{content:\\\"\\\\f2c5\\\"}.fa-freebsd:before{content:\\\"\\\\f3a4\\\"}.fa-french-fries:before{content:\\\"\\\\f803\\\"}.fa-frog:before{content:\\\"\\\\f52e\\\"}.fa-frosty-head:before{content:\\\"\\\\f79b\\\"}.fa-frown:before{content:\\\"\\\\f119\\\"}.fa-frown-open:before{content:\\\"\\\\f57a\\\"}.fa-fulcrum:before{content:\\\"\\\\f50b\\\"}.fa-function:before{content:\\\"\\\\f661\\\"}.fa-funnel-dollar:before{content:\\\"\\\\f662\\\"}.fa-futbol:before{content:\\\"\\\\f1e3\\\"}.fa-galactic-republic:before{content:\\\"\\\\f50c\\\"}.fa-galactic-senate:before{content:\\\"\\\\f50d\\\"}.fa-galaxy:before{content:\\\"\\\\f908\\\"}.fa-game-board:before{content:\\\"\\\\f867\\\"}.fa-game-board-alt:before{content:\\\"\\\\f868\\\"}.fa-game-console-handheld:before{content:\\\"\\\\f8bb\\\"}.fa-gamepad:before{content:\\\"\\\\f11b\\\"}.fa-gamepad-alt:before{content:\\\"\\\\f8bc\\\"}.fa-garage:before{content:\\\"\\\\f909\\\"}.fa-garage-car:before{content:\\\"\\\\f90a\\\"}.fa-garage-open:before{content:\\\"\\\\f90b\\\"}.fa-gas-pump:before{content:\\\"\\\\f52f\\\"}.fa-gas-pump-slash:before{content:\\\"\\\\f5f4\\\"}.fa-gavel:before{content:\\\"\\\\f0e3\\\"}.fa-gem:before{content:\\\"\\\\f3a5\\\"}.fa-genderless:before{content:\\\"\\\\f22d\\\"}.fa-get-pocket:before{content:\\\"\\\\f265\\\"}.fa-gg:before{content:\\\"\\\\f260\\\"}.fa-gg-circle:before{content:\\\"\\\\f261\\\"}.fa-ghost:before{content:\\\"\\\\f6e2\\\"}.fa-gift:before{content:\\\"\\\\f06b\\\"}.fa-gift-card:before{content:\\\"\\\\f663\\\"}.fa-gifts:before{content:\\\"\\\\f79c\\\"}.fa-gingerbread-man:before{content:\\\"\\\\f79d\\\"}.fa-git:before{content:\\\"\\\\f1d3\\\"}.fa-git-alt:before{content:\\\"\\\\f841\\\"}.fa-git-square:before{content:\\\"\\\\f1d2\\\"}.fa-github:before{content:\\\"\\\\f09b\\\"}.fa-github-alt:before{content:\\\"\\\\f113\\\"}.fa-github-square:before{content:\\\"\\\\f092\\\"}.fa-gitkraken:before{content:\\\"\\\\f3a6\\\"}.fa-gitlab:before{content:\\\"\\\\f296\\\"}.fa-gitter:before{content:\\\"\\\\f426\\\"}.fa-glass:before{content:\\\"\\\\f804\\\"}.fa-glass-champagne:before{content:\\\"\\\\f79e\\\"}.fa-glass-cheers:before{content:\\\"\\\\f79f\\\"}.fa-glass-citrus:before{content:\\\"\\\\f869\\\"}.fa-glass-martini:before{content:\\\"\\\\f000\\\"}.fa-glass-martini-alt:before{content:\\\"\\\\f57b\\\"}.fa-glass-whiskey:before{content:\\\"\\\\f7a0\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\\f7a1\\\"}.fa-glasses:before{content:\\\"\\\\f530\\\"}.fa-glasses-alt:before{content:\\\"\\\\f5f5\\\"}.fa-glide:before{content:\\\"\\\\f2a5\\\"}.fa-glide-g:before{content:\\\"\\\\f2a6\\\"}.fa-globe:before{content:\\\"\\\\f0ac\\\"}.fa-globe-africa:before{content:\\\"\\\\f57c\\\"}.fa-globe-americas:before{content:\\\"\\\\f57d\\\"}.fa-globe-asia:before{content:\\\"\\\\f57e\\\"}.fa-globe-europe:before{content:\\\"\\\\f7a2\\\"}.fa-globe-snow:before{content:\\\"\\\\f7a3\\\"}.fa-globe-stand:before{content:\\\"\\\\f5f6\\\"}.fa-gofore:before{content:\\\"\\\\f3a7\\\"}.fa-golf-ball:before{content:\\\"\\\\f450\\\"}.fa-golf-club:before{content:\\\"\\\\f451\\\"}.fa-goodreads:before{content:\\\"\\\\f3a8\\\"}.fa-goodreads-g:before{content:\\\"\\\\f3a9\\\"}.fa-google:before{content:\\\"\\\\f1a0\\\"}.fa-google-drive:before{content:\\\"\\\\f3aa\\\"}.fa-google-play:before{content:\\\"\\\\f3ab\\\"}.fa-google-plus:before{content:\\\"\\\\f2b3\\\"}.fa-google-plus-g:before{content:\\\"\\\\f0d5\\\"}.fa-google-plus-square:before{content:\\\"\\\\f0d4\\\"}.fa-google-wallet:before{content:\\\"\\\\f1ee\\\"}.fa-gopuram:before{content:\\\"\\\\f664\\\"}.fa-graduation-cap:before{content:\\\"\\\\f19d\\\"}.fa-gramophone:before{content:\\\"\\\\f8bd\\\"}.fa-gratipay:before{content:\\\"\\\\f184\\\"}.fa-grav:before{content:\\\"\\\\f2d6\\\"}.fa-greater-than:before{content:\\\"\\\\f531\\\"}.fa-greater-than-equal:before{content:\\\"\\\\f532\\\"}.fa-grimace:before{content:\\\"\\\\f57f\\\"}.fa-grin:before{content:\\\"\\\\f580\\\"}.fa-grin-alt:before{content:\\\"\\\\f581\\\"}.fa-grin-beam:before{content:\\\"\\\\f582\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\\f583\\\"}.fa-grin-hearts:before{content:\\\"\\\\f584\\\"}.fa-grin-squint:before{content:\\\"\\\\f585\\\"}.fa-grin-squint-tears:before{content:\\\"\\\\f586\\\"}.fa-grin-stars:before{content:\\\"\\\\f587\\\"}.fa-grin-tears:before{content:\\\"\\\\f588\\\"}.fa-grin-tongue:before{content:\\\"\\\\f589\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\\f58a\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\\f58b\\\"}.fa-grin-wink:before{content:\\\"\\\\f58c\\\"}.fa-grip-horizontal:before{content:\\\"\\\\f58d\\\"}.fa-grip-lines:before{content:\\\"\\\\f7a4\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\\f7a5\\\"}.fa-grip-vertical:before{content:\\\"\\\\f58e\\\"}.fa-gripfire:before{content:\\\"\\\\f3ac\\\"}.fa-grunt:before{content:\\\"\\\\f3ad\\\"}.fa-guitar:before{content:\\\"\\\\f7a6\\\"}.fa-guitar-electric:before{content:\\\"\\\\f8be\\\"}.fa-guitars:before{content:\\\"\\\\f8bf\\\"}.fa-gulp:before{content:\\\"\\\\f3ae\\\"}.fa-h-square:before{content:\\\"\\\\f0fd\\\"}.fa-h1:before{content:\\\"\\\\f313\\\"}.fa-h2:before{content:\\\"\\\\f314\\\"}.fa-h3:before{content:\\\"\\\\f315\\\"}.fa-h4:before{content:\\\"\\\\f86a\\\"}.fa-hacker-news:before{content:\\\"\\\\f1d4\\\"}.fa-hacker-news-square:before{content:\\\"\\\\f3af\\\"}.fa-hackerrank:before{content:\\\"\\\\f5f7\\\"}.fa-hamburger:before{content:\\\"\\\\f805\\\"}.fa-hammer:before{content:\\\"\\\\f6e3\\\"}.fa-hammer-war:before{content:\\\"\\\\f6e4\\\"}.fa-hamsa:before{content:\\\"\\\\f665\\\"}.fa-hand-heart:before{content:\\\"\\\\f4bc\\\"}.fa-hand-holding:before{content:\\\"\\\\f4bd\\\"}.fa-hand-holding-box:before{content:\\\"\\\\f47b\\\"}.fa-hand-holding-heart:before{content:\\\"\\\\f4be\\\"}.fa-hand-holding-magic:before{content:\\\"\\\\f6e5\\\"}.fa-hand-holding-medical:before{content:\\\"\\\\f95c\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\\f4bf\\\"}.fa-hand-holding-usd:before{content:\\\"\\\\f4c0\\\"}.fa-hand-holding-water:before{content:\\\"\\\\f4c1\\\"}.fa-hand-lizard:before{content:\\\"\\\\f258\\\"}.fa-hand-middle-finger:before{content:\\\"\\\\f806\\\"}.fa-hand-paper:before{content:\\\"\\\\f256\\\"}.fa-hand-peace:before{content:\\\"\\\\f25b\\\"}.fa-hand-point-down:before{content:\\\"\\\\f0a7\\\"}.fa-hand-point-left:before{content:\\\"\\\\f0a5\\\"}.fa-hand-point-right:before{content:\\\"\\\\f0a4\\\"}.fa-hand-point-up:before{content:\\\"\\\\f0a6\\\"}.fa-hand-pointer:before{content:\\\"\\\\f25a\\\"}.fa-hand-receiving:before{content:\\\"\\\\f47c\\\"}.fa-hand-rock:before{content:\\\"\\\\f255\\\"}.fa-hand-scissors:before{content:\\\"\\\\f257\\\"}.fa-hand-sparkles:before{content:\\\"\\\\f95d\\\"}.fa-hand-spock:before{content:\\\"\\\\f259\\\"}.fa-hands:before{content:\\\"\\\\f4c2\\\"}.fa-hands-heart:before{content:\\\"\\\\f4c3\\\"}.fa-hands-helping:before{content:\\\"\\\\f4c4\\\"}.fa-hands-usd:before{content:\\\"\\\\f4c5\\\"}.fa-hands-wash:before{content:\\\"\\\\f95e\\\"}.fa-handshake:before{content:\\\"\\\\f2b5\\\"}.fa-handshake-alt:before{content:\\\"\\\\f4c6\\\"}.fa-handshake-alt-slash:before{content:\\\"\\\\f95f\\\"}.fa-handshake-slash:before{content:\\\"\\\\f960\\\"}.fa-hanukiah:before{content:\\\"\\\\f6e6\\\"}.fa-hard-hat:before{content:\\\"\\\\f807\\\"}.fa-hashtag:before{content:\\\"\\\\f292\\\"}.fa-hat-chef:before{content:\\\"\\\\f86b\\\"}.fa-hat-cowboy:before{content:\\\"\\\\f8c0\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\\f8c1\\\"}.fa-hat-santa:before{content:\\\"\\\\f7a7\\\"}.fa-hat-winter:before{content:\\\"\\\\f7a8\\\"}.fa-hat-witch:before{content:\\\"\\\\f6e7\\\"}.fa-hat-wizard:before{content:\\\"\\\\f6e8\\\"}.fa-hdd:before{content:\\\"\\\\f0a0\\\"}.fa-head-side:before{content:\\\"\\\\f6e9\\\"}.fa-head-side-brain:before{content:\\\"\\\\f808\\\"}.fa-head-side-cough:before{content:\\\"\\\\f961\\\"}.fa-head-side-cough-slash:before{content:\\\"\\\\f962\\\"}.fa-head-side-headphones:before{content:\\\"\\\\f8c2\\\"}.fa-head-side-mask:before{content:\\\"\\\\f963\\\"}.fa-head-side-medical:before{content:\\\"\\\\f809\\\"}.fa-head-side-virus:before{content:\\\"\\\\f964\\\"}.fa-head-vr:before{content:\\\"\\\\f6ea\\\"}.fa-heading:before{content:\\\"\\\\f1dc\\\"}.fa-headphones:before{content:\\\"\\\\f025\\\"}.fa-headphones-alt:before{content:\\\"\\\\f58f\\\"}.fa-headset:before{content:\\\"\\\\f590\\\"}.fa-heart:before{content:\\\"\\\\f004\\\"}.fa-heart-broken:before{content:\\\"\\\\f7a9\\\"}.fa-heart-circle:before{content:\\\"\\\\f4c7\\\"}.fa-heart-rate:before{content:\\\"\\\\f5f8\\\"}.fa-heart-square:before{content:\\\"\\\\f4c8\\\"}.fa-heartbeat:before{content:\\\"\\\\f21e\\\"}.fa-heat:before{content:\\\"\\\\f90c\\\"}.fa-helicopter:before{content:\\\"\\\\f533\\\"}.fa-helmet-battle:before{content:\\\"\\\\f6eb\\\"}.fa-hexagon:before{content:\\\"\\\\f312\\\"}.fa-highlighter:before{content:\\\"\\\\f591\\\"}.fa-hiking:before{content:\\\"\\\\f6ec\\\"}.fa-hippo:before{content:\\\"\\\\f6ed\\\"}.fa-hips:before{content:\\\"\\\\f452\\\"}.fa-hire-a-helper:before{content:\\\"\\\\f3b0\\\"}.fa-history:before{content:\\\"\\\\f1da\\\"}.fa-hockey-mask:before{content:\\\"\\\\f6ee\\\"}.fa-hockey-puck:before{content:\\\"\\\\f453\\\"}.fa-hockey-sticks:before{content:\\\"\\\\f454\\\"}.fa-holly-berry:before{content:\\\"\\\\f7aa\\\"}.fa-home:before{content:\\\"\\\\f015\\\"}.fa-home-alt:before{content:\\\"\\\\f80a\\\"}.fa-home-heart:before{content:\\\"\\\\f4c9\\\"}.fa-home-lg:before{content:\\\"\\\\f80b\\\"}.fa-home-lg-alt:before{content:\\\"\\\\f80c\\\"}.fa-hood-cloak:before{content:\\\"\\\\f6ef\\\"}.fa-hooli:before{content:\\\"\\\\f427\\\"}.fa-horizontal-rule:before{content:\\\"\\\\f86c\\\"}.fa-hornbill:before{content:\\\"\\\\f592\\\"}.fa-horse:before{content:\\\"\\\\f6f0\\\"}.fa-horse-head:before{content:\\\"\\\\f7ab\\\"}.fa-horse-saddle:before{content:\\\"\\\\f8c3\\\"}.fa-hospital:before{content:\\\"\\\\f0f8\\\"}.fa-hospital-alt:before{content:\\\"\\\\f47d\\\"}.fa-hospital-symbol:before{content:\\\"\\\\f47e\\\"}.fa-hospital-user:before{content:\\\"\\\\f80d\\\"}.fa-hospitals:before{content:\\\"\\\\f80e\\\"}.fa-hot-tub:before{content:\\\"\\\\f593\\\"}.fa-hotdog:before{content:\\\"\\\\f80f\\\"}.fa-hotel:before{content:\\\"\\\\f594\\\"}.fa-hotjar:before{content:\\\"\\\\f3b1\\\"}.fa-hourglass:before{content:\\\"\\\\f254\\\"}.fa-hourglass-end:before{content:\\\"\\\\f253\\\"}.fa-hourglass-half:before{content:\\\"\\\\f252\\\"}.fa-hourglass-start:before{content:\\\"\\\\f251\\\"}.fa-house:before{content:\\\"\\\\f90d\\\"}.fa-house-damage:before{content:\\\"\\\\f6f1\\\"}.fa-house-day:before{content:\\\"\\\\f90e\\\"}.fa-house-flood:before{content:\\\"\\\\f74f\\\"}.fa-house-leave:before{content:\\\"\\\\f90f\\\"}.fa-house-night:before{content:\\\"\\\\f910\\\"}.fa-house-return:before{content:\\\"\\\\f911\\\"}.fa-house-signal:before{content:\\\"\\\\f912\\\"}.fa-house-user:before{content:\\\"\\\\f965\\\"}.fa-houzz:before{content:\\\"\\\\f27c\\\"}.fa-hryvnia:before{content:\\\"\\\\f6f2\\\"}.fa-html5:before{content:\\\"\\\\f13b\\\"}.fa-hubspot:before{content:\\\"\\\\f3b2\\\"}.fa-humidity:before{content:\\\"\\\\f750\\\"}.fa-hurricane:before{content:\\\"\\\\f751\\\"}.fa-i-cursor:before{content:\\\"\\\\f246\\\"}.fa-ice-cream:before{content:\\\"\\\\f810\\\"}.fa-ice-skate:before{content:\\\"\\\\f7ac\\\"}.fa-icicles:before{content:\\\"\\\\f7ad\\\"}.fa-icons:before{content:\\\"\\\\f86d\\\"}.fa-icons-alt:before{content:\\\"\\\\f86e\\\"}.fa-id-badge:before{content:\\\"\\\\f2c1\\\"}.fa-id-card:before{content:\\\"\\\\f2c2\\\"}.fa-id-card-alt:before{content:\\\"\\\\f47f\\\"}.fa-ideal:before{content:\\\"\\\\f913\\\"}.fa-igloo:before{content:\\\"\\\\f7ae\\\"}.fa-image:before{content:\\\"\\\\f03e\\\"}.fa-image-polaroid:before{content:\\\"\\\\f8c4\\\"}.fa-images:before{content:\\\"\\\\f302\\\"}.fa-imdb:before{content:\\\"\\\\f2d8\\\"}.fa-inbox:before{content:\\\"\\\\f01c\\\"}.fa-inbox-in:before{content:\\\"\\\\f310\\\"}.fa-inbox-out:before{content:\\\"\\\\f311\\\"}.fa-indent:before{content:\\\"\\\\f03c\\\"}.fa-industry:before{content:\\\"\\\\f275\\\"}.fa-industry-alt:before{content:\\\"\\\\f3b3\\\"}.fa-infinity:before{content:\\\"\\\\f534\\\"}.fa-info:before{content:\\\"\\\\f129\\\"}.fa-info-circle:before{content:\\\"\\\\f05a\\\"}.fa-info-square:before{content:\\\"\\\\f30f\\\"}.fa-inhaler:before{content:\\\"\\\\f5f9\\\"}.fa-instagram:before{content:\\\"\\\\f16d\\\"}.fa-instagram-square:before{content:\\\"\\\\f955\\\"}.fa-integral:before{content:\\\"\\\\f667\\\"}.fa-intercom:before{content:\\\"\\\\f7af\\\"}.fa-internet-explorer:before{content:\\\"\\\\f26b\\\"}.fa-intersection:before{content:\\\"\\\\f668\\\"}.fa-inventory:before{content:\\\"\\\\f480\\\"}.fa-invision:before{content:\\\"\\\\f7b0\\\"}.fa-ioxhost:before{content:\\\"\\\\f208\\\"}.fa-island-tropical:before{content:\\\"\\\\f811\\\"}.fa-italic:before{content:\\\"\\\\f033\\\"}.fa-itch-io:before{content:\\\"\\\\f83a\\\"}.fa-itunes:before{content:\\\"\\\\f3b4\\\"}.fa-itunes-note:before{content:\\\"\\\\f3b5\\\"}.fa-jack-o-lantern:before{content:\\\"\\\\f30e\\\"}.fa-java:before{content:\\\"\\\\f4e4\\\"}.fa-jedi:before{content:\\\"\\\\f669\\\"}.fa-jedi-order:before{content:\\\"\\\\f50e\\\"}.fa-jenkins:before{content:\\\"\\\\f3b6\\\"}.fa-jira:before{content:\\\"\\\\f7b1\\\"}.fa-joget:before{content:\\\"\\\\f3b7\\\"}.fa-joint:before{content:\\\"\\\\f595\\\"}.fa-joomla:before{content:\\\"\\\\f1aa\\\"}.fa-journal-whills:before{content:\\\"\\\\f66a\\\"}.fa-joystick:before{content:\\\"\\\\f8c5\\\"}.fa-js:before{content:\\\"\\\\f3b8\\\"}.fa-js-square:before{content:\\\"\\\\f3b9\\\"}.fa-jsfiddle:before{content:\\\"\\\\f1cc\\\"}.fa-jug:before{content:\\\"\\\\f8c6\\\"}.fa-kaaba:before{content:\\\"\\\\f66b\\\"}.fa-kaggle:before{content:\\\"\\\\f5fa\\\"}.fa-kazoo:before{content:\\\"\\\\f8c7\\\"}.fa-kerning:before{content:\\\"\\\\f86f\\\"}.fa-key:before{content:\\\"\\\\f084\\\"}.fa-key-skeleton:before{content:\\\"\\\\f6f3\\\"}.fa-keybase:before{content:\\\"\\\\f4f5\\\"}.fa-keyboard:before{content:\\\"\\\\f11c\\\"}.fa-keycdn:before{content:\\\"\\\\f3ba\\\"}.fa-keynote:before{content:\\\"\\\\f66c\\\"}.fa-khanda:before{content:\\\"\\\\f66d\\\"}.fa-kickstarter:before{content:\\\"\\\\f3bb\\\"}.fa-kickstarter-k:before{content:\\\"\\\\f3bc\\\"}.fa-kidneys:before{content:\\\"\\\\f5fb\\\"}.fa-kiss:before{content:\\\"\\\\f596\\\"}.fa-kiss-beam:before{content:\\\"\\\\f597\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\\f598\\\"}.fa-kite:before{content:\\\"\\\\f6f4\\\"}.fa-kiwi-bird:before{content:\\\"\\\\f535\\\"}.fa-knife-kitchen:before{content:\\\"\\\\f6f5\\\"}.fa-korvue:before{content:\\\"\\\\f42f\\\"}.fa-lambda:before{content:\\\"\\\\f66e\\\"}.fa-lamp:before{content:\\\"\\\\f4ca\\\"}.fa-lamp-desk:before{content:\\\"\\\\f914\\\"}.fa-lamp-floor:before{content:\\\"\\\\f915\\\"}.fa-landmark:before{content:\\\"\\\\f66f\\\"}.fa-landmark-alt:before{content:\\\"\\\\f752\\\"}.fa-language:before{content:\\\"\\\\f1ab\\\"}.fa-laptop:before{content:\\\"\\\\f109\\\"}.fa-laptop-code:before{content:\\\"\\\\f5fc\\\"}.fa-laptop-house:before{content:\\\"\\\\f966\\\"}.fa-laptop-medical:before{content:\\\"\\\\f812\\\"}.fa-laravel:before{content:\\\"\\\\f3bd\\\"}.fa-lasso:before{content:\\\"\\\\f8c8\\\"}.fa-lastfm:before{content:\\\"\\\\f202\\\"}.fa-lastfm-square:before{content:\\\"\\\\f203\\\"}.fa-laugh:before{content:\\\"\\\\f599\\\"}.fa-laugh-beam:before{content:\\\"\\\\f59a\\\"}.fa-laugh-squint:before{content:\\\"\\\\f59b\\\"}.fa-laugh-wink:before{content:\\\"\\\\f59c\\\"}.fa-layer-group:before{content:\\\"\\\\f5fd\\\"}.fa-layer-minus:before{content:\\\"\\\\f5fe\\\"}.fa-layer-plus:before{content:\\\"\\\\f5ff\\\"}.fa-leaf:before{content:\\\"\\\\f06c\\\"}.fa-leaf-heart:before{content:\\\"\\\\f4cb\\\"}.fa-leaf-maple:before{content:\\\"\\\\f6f6\\\"}.fa-leaf-oak:before{content:\\\"\\\\f6f7\\\"}.fa-leanpub:before{content:\\\"\\\\f212\\\"}.fa-lemon:before{content:\\\"\\\\f094\\\"}.fa-less:before{content:\\\"\\\\f41d\\\"}.fa-less-than:before{content:\\\"\\\\f536\\\"}.fa-less-than-equal:before{content:\\\"\\\\f537\\\"}.fa-level-down:before{content:\\\"\\\\f149\\\"}.fa-level-down-alt:before{content:\\\"\\\\f3be\\\"}.fa-level-up:before{content:\\\"\\\\f148\\\"}.fa-level-up-alt:before{content:\\\"\\\\f3bf\\\"}.fa-life-ring:before{content:\\\"\\\\f1cd\\\"}.fa-light-ceiling:before{content:\\\"\\\\f916\\\"}.fa-light-switch:before{content:\\\"\\\\f917\\\"}.fa-light-switch-off:before{content:\\\"\\\\f918\\\"}.fa-light-switch-on:before{content:\\\"\\\\f919\\\"}.fa-lightbulb:before{content:\\\"\\\\f0eb\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\\f670\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\\f671\\\"}.fa-lightbulb-on:before{content:\\\"\\\\f672\\\"}.fa-lightbulb-slash:before{content:\\\"\\\\f673\\\"}.fa-lights-holiday:before{content:\\\"\\\\f7b2\\\"}.fa-line:before{content:\\\"\\\\f3c0\\\"}.fa-line-columns:before{content:\\\"\\\\f870\\\"}.fa-line-height:before{content:\\\"\\\\f871\\\"}.fa-link:before{content:\\\"\\\\f0c1\\\"}.fa-linkedin:before{content:\\\"\\\\f08c\\\"}.fa-linkedin-in:before{content:\\\"\\\\f0e1\\\"}.fa-linode:before{content:\\\"\\\\f2b8\\\"}.fa-linux:before{content:\\\"\\\\f17c\\\"}.fa-lips:before{content:\\\"\\\\f600\\\"}.fa-lira-sign:before{content:\\\"\\\\f195\\\"}.fa-list:before{content:\\\"\\\\f03a\\\"}.fa-list-alt:before{content:\\\"\\\\f022\\\"}.fa-list-music:before{content:\\\"\\\\f8c9\\\"}.fa-list-ol:before{content:\\\"\\\\f0cb\\\"}.fa-list-ul:before{content:\\\"\\\\f0ca\\\"}.fa-location:before{content:\\\"\\\\f601\\\"}.fa-location-arrow:before{content:\\\"\\\\f124\\\"}.fa-location-circle:before{content:\\\"\\\\f602\\\"}.fa-location-slash:before{content:\\\"\\\\f603\\\"}.fa-lock:before{content:\\\"\\\\f023\\\"}.fa-lock-alt:before{content:\\\"\\\\f30d\\\"}.fa-lock-open:before{content:\\\"\\\\f3c1\\\"}.fa-lock-open-alt:before{content:\\\"\\\\f3c2\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\\f309\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\\f30a\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\\f30b\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\\f30c\\\"}.fa-long-arrow-down:before{content:\\\"\\\\f175\\\"}.fa-long-arrow-left:before{content:\\\"\\\\f177\\\"}.fa-long-arrow-right:before{content:\\\"\\\\f178\\\"}.fa-long-arrow-up:before{content:\\\"\\\\f176\\\"}.fa-loveseat:before{content:\\\"\\\\f4cc\\\"}.fa-low-vision:before{content:\\\"\\\\f2a8\\\"}.fa-luchador:before{content:\\\"\\\\f455\\\"}.fa-luggage-cart:before{content:\\\"\\\\f59d\\\"}.fa-lungs:before{content:\\\"\\\\f604\\\"}.fa-lungs-virus:before{content:\\\"\\\\f967\\\"}.fa-lyft:before{content:\\\"\\\\f3c3\\\"}.fa-mace:before{content:\\\"\\\\f6f8\\\"}.fa-magento:before{content:\\\"\\\\f3c4\\\"}.fa-magic:before{content:\\\"\\\\f0d0\\\"}.fa-magnet:before{content:\\\"\\\\f076\\\"}.fa-mail-bulk:before{content:\\\"\\\\f674\\\"}.fa-mailbox:before{content:\\\"\\\\f813\\\"}.fa-mailchimp:before{content:\\\"\\\\f59e\\\"}.fa-male:before{content:\\\"\\\\f183\\\"}.fa-mandalorian:before{content:\\\"\\\\f50f\\\"}.fa-mandolin:before{content:\\\"\\\\f6f9\\\"}.fa-map:before{content:\\\"\\\\f279\\\"}.fa-map-marked:before{content:\\\"\\\\f59f\\\"}.fa-map-marked-alt:before{content:\\\"\\\\f5a0\\\"}.fa-map-marker:before{content:\\\"\\\\f041\\\"}.fa-map-marker-alt:before{content:\\\"\\\\f3c5\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\\f605\\\"}.fa-map-marker-check:before{content:\\\"\\\\f606\\\"}.fa-map-marker-edit:before{content:\\\"\\\\f607\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\\f608\\\"}.fa-map-marker-minus:before{content:\\\"\\\\f609\\\"}.fa-map-marker-plus:before{content:\\\"\\\\f60a\\\"}.fa-map-marker-question:before{content:\\\"\\\\f60b\\\"}.fa-map-marker-slash:before{content:\\\"\\\\f60c\\\"}.fa-map-marker-smile:before{content:\\\"\\\\f60d\\\"}.fa-map-marker-times:before{content:\\\"\\\\f60e\\\"}.fa-map-pin:before{content:\\\"\\\\f276\\\"}.fa-map-signs:before{content:\\\"\\\\f277\\\"}.fa-markdown:before{content:\\\"\\\\f60f\\\"}.fa-marker:before{content:\\\"\\\\f5a1\\\"}.fa-mars:before{content:\\\"\\\\f222\\\"}.fa-mars-double:before{content:\\\"\\\\f227\\\"}.fa-mars-stroke:before{content:\\\"\\\\f229\\\"}.fa-mars-stroke-h:before{content:\\\"\\\\f22b\\\"}.fa-mars-stroke-v:before{content:\\\"\\\\f22a\\\"}.fa-mask:before{content:\\\"\\\\f6fa\\\"}.fa-mastodon:before{content:\\\"\\\\f4f6\\\"}.fa-maxcdn:before{content:\\\"\\\\f136\\\"}.fa-mdb:before{content:\\\"\\\\f8ca\\\"}.fa-meat:before{content:\\\"\\\\f814\\\"}.fa-medal:before{content:\\\"\\\\f5a2\\\"}.fa-medapps:before{content:\\\"\\\\f3c6\\\"}.fa-medium:before{content:\\\"\\\\f23a\\\"}.fa-medium-m:before{content:\\\"\\\\f3c7\\\"}.fa-medkit:before{content:\\\"\\\\f0fa\\\"}.fa-medrt:before{content:\\\"\\\\f3c8\\\"}.fa-meetup:before{content:\\\"\\\\f2e0\\\"}.fa-megaphone:before{content:\\\"\\\\f675\\\"}.fa-megaport:before{content:\\\"\\\\f5a3\\\"}.fa-meh:before{content:\\\"\\\\f11a\\\"}.fa-meh-blank:before{content:\\\"\\\\f5a4\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\\f5a5\\\"}.fa-memory:before{content:\\\"\\\\f538\\\"}.fa-mendeley:before{content:\\\"\\\\f7b3\\\"}.fa-menorah:before{content:\\\"\\\\f676\\\"}.fa-mercury:before{content:\\\"\\\\f223\\\"}.fa-meteor:before{content:\\\"\\\\f753\\\"}.fa-microblog:before{content:\\\"\\\\f91a\\\"}.fa-microchip:before{content:\\\"\\\\f2db\\\"}.fa-microphone:before{content:\\\"\\\\f130\\\"}.fa-microphone-alt:before{content:\\\"\\\\f3c9\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\\f539\\\"}.fa-microphone-slash:before{content:\\\"\\\\f131\\\"}.fa-microphone-stand:before{content:\\\"\\\\f8cb\\\"}.fa-microscope:before{content:\\\"\\\\f610\\\"}.fa-microsoft:before{content:\\\"\\\\f3ca\\\"}.fa-microwave:before{content:\\\"\\\\f91b\\\"}.fa-mind-share:before{content:\\\"\\\\f677\\\"}.fa-minus:before{content:\\\"\\\\f068\\\"}.fa-minus-circle:before{content:\\\"\\\\f056\\\"}.fa-minus-hexagon:before{content:\\\"\\\\f307\\\"}.fa-minus-octagon:before{content:\\\"\\\\f308\\\"}.fa-minus-square:before{content:\\\"\\\\f146\\\"}.fa-mistletoe:before{content:\\\"\\\\f7b4\\\"}.fa-mitten:before{content:\\\"\\\\f7b5\\\"}.fa-mix:before{content:\\\"\\\\f3cb\\\"}.fa-mixcloud:before{content:\\\"\\\\f289\\\"}.fa-mixer:before{content:\\\"\\\\f956\\\"}.fa-mizuni:before{content:\\\"\\\\f3cc\\\"}.fa-mobile:before{content:\\\"\\\\f10b\\\"}.fa-mobile-alt:before{content:\\\"\\\\f3cd\\\"}.fa-mobile-android:before{content:\\\"\\\\f3ce\\\"}.fa-mobile-android-alt:before{content:\\\"\\\\f3cf\\\"}.fa-modx:before{content:\\\"\\\\f285\\\"}.fa-monero:before{content:\\\"\\\\f3d0\\\"}.fa-money-bill:before{content:\\\"\\\\f0d6\\\"}.fa-money-bill-alt:before{content:\\\"\\\\f3d1\\\"}.fa-money-bill-wave:before{content:\\\"\\\\f53a\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\\f53b\\\"}.fa-money-check:before{content:\\\"\\\\f53c\\\"}.fa-money-check-alt:before{content:\\\"\\\\f53d\\\"}.fa-money-check-edit:before{content:\\\"\\\\f872\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\\f873\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\\f611\\\"}.fa-monkey:before{content:\\\"\\\\f6fb\\\"}.fa-monument:before{content:\\\"\\\\f5a6\\\"}.fa-moon:before{content:\\\"\\\\f186\\\"}.fa-moon-cloud:before{content:\\\"\\\\f754\\\"}.fa-moon-stars:before{content:\\\"\\\\f755\\\"}.fa-mortar-pestle:before{content:\\\"\\\\f5a7\\\"}.fa-mosque:before{content:\\\"\\\\f678\\\"}.fa-motorcycle:before{content:\\\"\\\\f21c\\\"}.fa-mountain:before{content:\\\"\\\\f6fc\\\"}.fa-mountains:before{content:\\\"\\\\f6fd\\\"}.fa-mouse:before{content:\\\"\\\\f8cc\\\"}.fa-mouse-alt:before{content:\\\"\\\\f8cd\\\"}.fa-mouse-pointer:before{content:\\\"\\\\f245\\\"}.fa-mp3-player:before{content:\\\"\\\\f8ce\\\"}.fa-mug:before{content:\\\"\\\\f874\\\"}.fa-mug-hot:before{content:\\\"\\\\f7b6\\\"}.fa-mug-marshmallows:before{content:\\\"\\\\f7b7\\\"}.fa-mug-tea:before{content:\\\"\\\\f875\\\"}.fa-music:before{content:\\\"\\\\f001\\\"}.fa-music-alt:before{content:\\\"\\\\f8cf\\\"}.fa-music-alt-slash:before{content:\\\"\\\\f8d0\\\"}.fa-music-slash:before{content:\\\"\\\\f8d1\\\"}.fa-napster:before{content:\\\"\\\\f3d2\\\"}.fa-narwhal:before{content:\\\"\\\\f6fe\\\"}.fa-neos:before{content:\\\"\\\\f612\\\"}.fa-network-wired:before{content:\\\"\\\\f6ff\\\"}.fa-neuter:before{content:\\\"\\\\f22c\\\"}.fa-newspaper:before{content:\\\"\\\\f1ea\\\"}.fa-nimblr:before{content:\\\"\\\\f5a8\\\"}.fa-node:before{content:\\\"\\\\f419\\\"}.fa-node-js:before{content:\\\"\\\\f3d3\\\"}.fa-not-equal:before{content:\\\"\\\\f53e\\\"}.fa-notes-medical:before{content:\\\"\\\\f481\\\"}.fa-npm:before{content:\\\"\\\\f3d4\\\"}.fa-ns8:before{content:\\\"\\\\f3d5\\\"}.fa-nutritionix:before{content:\\\"\\\\f3d6\\\"}.fa-object-group:before{content:\\\"\\\\f247\\\"}.fa-object-ungroup:before{content:\\\"\\\\f248\\\"}.fa-octagon:before{content:\\\"\\\\f306\\\"}.fa-odnoklassniki:before{content:\\\"\\\\f263\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\\f264\\\"}.fa-oil-can:before{content:\\\"\\\\f613\\\"}.fa-oil-temp:before{content:\\\"\\\\f614\\\"}.fa-old-republic:before{content:\\\"\\\\f510\\\"}.fa-om:before{content:\\\"\\\\f679\\\"}.fa-omega:before{content:\\\"\\\\f67a\\\"}.fa-opencart:before{content:\\\"\\\\f23d\\\"}.fa-openid:before{content:\\\"\\\\f19b\\\"}.fa-opera:before{content:\\\"\\\\f26a\\\"}.fa-optin-monster:before{content:\\\"\\\\f23c\\\"}.fa-orcid:before{content:\\\"\\\\f8d2\\\"}.fa-ornament:before{content:\\\"\\\\f7b8\\\"}.fa-osi:before{content:\\\"\\\\f41a\\\"}.fa-otter:before{content:\\\"\\\\f700\\\"}.fa-outdent:before{content:\\\"\\\\f03b\\\"}.fa-outlet:before{content:\\\"\\\\f91c\\\"}.fa-oven:before{content:\\\"\\\\f91d\\\"}.fa-overline:before{content:\\\"\\\\f876\\\"}.fa-page-break:before{content:\\\"\\\\f877\\\"}.fa-page4:before{content:\\\"\\\\f3d7\\\"}.fa-pagelines:before{content:\\\"\\\\f18c\\\"}.fa-pager:before{content:\\\"\\\\f815\\\"}.fa-paint-brush:before{content:\\\"\\\\f1fc\\\"}.fa-paint-brush-alt:before{content:\\\"\\\\f5a9\\\"}.fa-paint-roller:before{content:\\\"\\\\f5aa\\\"}.fa-palette:before{content:\\\"\\\\f53f\\\"}.fa-palfed:before{content:\\\"\\\\f3d8\\\"}.fa-pallet:before{content:\\\"\\\\f482\\\"}.fa-pallet-alt:before{content:\\\"\\\\f483\\\"}.fa-paper-plane:before{content:\\\"\\\\f1d8\\\"}.fa-paperclip:before{content:\\\"\\\\f0c6\\\"}.fa-parachute-box:before{content:\\\"\\\\f4cd\\\"}.fa-paragraph:before{content:\\\"\\\\f1dd\\\"}.fa-paragraph-rtl:before{content:\\\"\\\\f878\\\"}.fa-parking:before{content:\\\"\\\\f540\\\"}.fa-parking-circle:before{content:\\\"\\\\f615\\\"}.fa-parking-circle-slash:before{content:\\\"\\\\f616\\\"}.fa-parking-slash:before{content:\\\"\\\\f617\\\"}.fa-passport:before{content:\\\"\\\\f5ab\\\"}.fa-pastafarianism:before{content:\\\"\\\\f67b\\\"}.fa-paste:before{content:\\\"\\\\f0ea\\\"}.fa-patreon:before{content:\\\"\\\\f3d9\\\"}.fa-pause:before{content:\\\"\\\\f04c\\\"}.fa-pause-circle:before{content:\\\"\\\\f28b\\\"}.fa-paw:before{content:\\\"\\\\f1b0\\\"}.fa-paw-alt:before{content:\\\"\\\\f701\\\"}.fa-paw-claws:before{content:\\\"\\\\f702\\\"}.fa-paypal:before{content:\\\"\\\\f1ed\\\"}.fa-peace:before{content:\\\"\\\\f67c\\\"}.fa-pegasus:before{content:\\\"\\\\f703\\\"}.fa-pen:before{content:\\\"\\\\f304\\\"}.fa-pen-alt:before{content:\\\"\\\\f305\\\"}.fa-pen-fancy:before{content:\\\"\\\\f5ac\\\"}.fa-pen-nib:before{content:\\\"\\\\f5ad\\\"}.fa-pen-square:before{content:\\\"\\\\f14b\\\"}.fa-pencil:before{content:\\\"\\\\f040\\\"}.fa-pencil-alt:before{content:\\\"\\\\f303\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\\f618\\\"}.fa-pencil-ruler:before{content:\\\"\\\\f5ae\\\"}.fa-pennant:before{content:\\\"\\\\f456\\\"}.fa-penny-arcade:before{content:\\\"\\\\f704\\\"}.fa-people-arrows:before{content:\\\"\\\\f968\\\"}.fa-people-carry:before{content:\\\"\\\\f4ce\\\"}.fa-pepper-hot:before{content:\\\"\\\\f816\\\"}.fa-percent:before{content:\\\"\\\\f295\\\"}.fa-percentage:before{content:\\\"\\\\f541\\\"}.fa-periscope:before{content:\\\"\\\\f3da\\\"}.fa-person-booth:before{content:\\\"\\\\f756\\\"}.fa-person-carry:before{content:\\\"\\\\f4cf\\\"}.fa-person-dolly:before{content:\\\"\\\\f4d0\\\"}.fa-person-dolly-empty:before{content:\\\"\\\\f4d1\\\"}.fa-person-sign:before{content:\\\"\\\\f757\\\"}.fa-phabricator:before{content:\\\"\\\\f3db\\\"}.fa-phoenix-framework:before{content:\\\"\\\\f3dc\\\"}.fa-phoenix-squadron:before{content:\\\"\\\\f511\\\"}.fa-phone:before{content:\\\"\\\\f095\\\"}.fa-phone-alt:before{content:\\\"\\\\f879\\\"}.fa-phone-laptop:before{content:\\\"\\\\f87a\\\"}.fa-phone-office:before{content:\\\"\\\\f67d\\\"}.fa-phone-plus:before{content:\\\"\\\\f4d2\\\"}.fa-phone-rotary:before{content:\\\"\\\\f8d3\\\"}.fa-phone-slash:before{content:\\\"\\\\f3dd\\\"}.fa-phone-square:before{content:\\\"\\\\f098\\\"}.fa-phone-square-alt:before{content:\\\"\\\\f87b\\\"}.fa-phone-volume:before{content:\\\"\\\\f2a0\\\"}.fa-photo-video:before{content:\\\"\\\\f87c\\\"}.fa-php:before{content:\\\"\\\\f457\\\"}.fa-pi:before{content:\\\"\\\\f67e\\\"}.fa-piano:before{content:\\\"\\\\f8d4\\\"}.fa-piano-keyboard:before{content:\\\"\\\\f8d5\\\"}.fa-pie:before{content:\\\"\\\\f705\\\"}.fa-pied-piper:before{content:\\\"\\\\f2ae\\\"}.fa-pied-piper-alt:before{content:\\\"\\\\f1a8\\\"}.fa-pied-piper-hat:before{content:\\\"\\\\f4e5\\\"}.fa-pied-piper-pp:before{content:\\\"\\\\f1a7\\\"}.fa-pied-piper-square:before{content:\\\"\\\\f91e\\\"}.fa-pig:before{content:\\\"\\\\f706\\\"}.fa-piggy-bank:before{content:\\\"\\\\f4d3\\\"}.fa-pills:before{content:\\\"\\\\f484\\\"}.fa-pinterest:before{content:\\\"\\\\f0d2\\\"}.fa-pinterest-p:before{content:\\\"\\\\f231\\\"}.fa-pinterest-square:before{content:\\\"\\\\f0d3\\\"}.fa-pizza:before{content:\\\"\\\\f817\\\"}.fa-pizza-slice:before{content:\\\"\\\\f818\\\"}.fa-place-of-worship:before{content:\\\"\\\\f67f\\\"}.fa-plane:before{content:\\\"\\\\f072\\\"}.fa-plane-alt:before{content:\\\"\\\\f3de\\\"}.fa-plane-arrival:before{content:\\\"\\\\f5af\\\"}.fa-plane-departure:before{content:\\\"\\\\f5b0\\\"}.fa-plane-slash:before{content:\\\"\\\\f969\\\"}.fa-planet-moon:before{content:\\\"\\\\f91f\\\"}.fa-planet-ringed:before{content:\\\"\\\\f920\\\"}.fa-play:before{content:\\\"\\\\f04b\\\"}.fa-play-circle:before{content:\\\"\\\\f144\\\"}.fa-playstation:before{content:\\\"\\\\f3df\\\"}.fa-plug:before{content:\\\"\\\\f1e6\\\"}.fa-plus:before{content:\\\"\\\\f067\\\"}.fa-plus-circle:before{content:\\\"\\\\f055\\\"}.fa-plus-hexagon:before{content:\\\"\\\\f300\\\"}.fa-plus-octagon:before{content:\\\"\\\\f301\\\"}.fa-plus-square:before{content:\\\"\\\\f0fe\\\"}.fa-podcast:before{content:\\\"\\\\f2ce\\\"}.fa-podium:before{content:\\\"\\\\f680\\\"}.fa-podium-star:before{content:\\\"\\\\f758\\\"}.fa-police-box:before{content:\\\"\\\\f921\\\"}.fa-poll:before{content:\\\"\\\\f681\\\"}.fa-poll-h:before{content:\\\"\\\\f682\\\"}.fa-poll-people:before{content:\\\"\\\\f759\\\"}.fa-poo:before{content:\\\"\\\\f2fe\\\"}.fa-poo-storm:before{content:\\\"\\\\f75a\\\"}.fa-poop:before{content:\\\"\\\\f619\\\"}.fa-popcorn:before{content:\\\"\\\\f819\\\"}.fa-portal-enter:before{content:\\\"\\\\f922\\\"}.fa-portal-exit:before{content:\\\"\\\\f923\\\"}.fa-portrait:before{content:\\\"\\\\f3e0\\\"}.fa-pound-sign:before{content:\\\"\\\\f154\\\"}.fa-power-off:before{content:\\\"\\\\f011\\\"}.fa-pray:before{content:\\\"\\\\f683\\\"}.fa-praying-hands:before{content:\\\"\\\\f684\\\"}.fa-prescription:before{content:\\\"\\\\f5b1\\\"}.fa-prescription-bottle:before{content:\\\"\\\\f485\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\\f486\\\"}.fa-presentation:before{content:\\\"\\\\f685\\\"}.fa-print:before{content:\\\"\\\\f02f\\\"}.fa-print-search:before{content:\\\"\\\\f81a\\\"}.fa-print-slash:before{content:\\\"\\\\f686\\\"}.fa-procedures:before{content:\\\"\\\\f487\\\"}.fa-product-hunt:before{content:\\\"\\\\f288\\\"}.fa-project-diagram:before{content:\\\"\\\\f542\\\"}.fa-projector:before{content:\\\"\\\\f8d6\\\"}.fa-pump-medical:before{content:\\\"\\\\f96a\\\"}.fa-pump-soap:before{content:\\\"\\\\f96b\\\"}.fa-pumpkin:before{content:\\\"\\\\f707\\\"}.fa-pushed:before{content:\\\"\\\\f3e1\\\"}.fa-puzzle-piece:before{content:\\\"\\\\f12e\\\"}.fa-python:before{content:\\\"\\\\f3e2\\\"}.fa-qq:before{content:\\\"\\\\f1d6\\\"}.fa-qrcode:before{content:\\\"\\\\f029\\\"}.fa-question:before{content:\\\"\\\\f128\\\"}.fa-question-circle:before{content:\\\"\\\\f059\\\"}.fa-question-square:before{content:\\\"\\\\f2fd\\\"}.fa-quidditch:before{content:\\\"\\\\f458\\\"}.fa-quinscape:before{content:\\\"\\\\f459\\\"}.fa-quora:before{content:\\\"\\\\f2c4\\\"}.fa-quote-left:before{content:\\\"\\\\f10d\\\"}.fa-quote-right:before{content:\\\"\\\\f10e\\\"}.fa-quran:before{content:\\\"\\\\f687\\\"}.fa-r-project:before{content:\\\"\\\\f4f7\\\"}.fa-rabbit:before{content:\\\"\\\\f708\\\"}.fa-rabbit-fast:before{content:\\\"\\\\f709\\\"}.fa-racquet:before{content:\\\"\\\\f45a\\\"}.fa-radar:before{content:\\\"\\\\f924\\\"}.fa-radiation:before{content:\\\"\\\\f7b9\\\"}.fa-radiation-alt:before{content:\\\"\\\\f7ba\\\"}.fa-radio:before{content:\\\"\\\\f8d7\\\"}.fa-radio-alt:before{content:\\\"\\\\f8d8\\\"}.fa-rainbow:before{content:\\\"\\\\f75b\\\"}.fa-raindrops:before{content:\\\"\\\\f75c\\\"}.fa-ram:before{content:\\\"\\\\f70a\\\"}.fa-ramp-loading:before{content:\\\"\\\\f4d4\\\"}.fa-random:before{content:\\\"\\\\f074\\\"}.fa-raspberry-pi:before{content:\\\"\\\\f7bb\\\"}.fa-ravelry:before{content:\\\"\\\\f2d9\\\"}.fa-raygun:before{content:\\\"\\\\f925\\\"}.fa-react:before{content:\\\"\\\\f41b\\\"}.fa-reacteurope:before{content:\\\"\\\\f75d\\\"}.fa-readme:before{content:\\\"\\\\f4d5\\\"}.fa-rebel:before{content:\\\"\\\\f1d0\\\"}.fa-receipt:before{content:\\\"\\\\f543\\\"}.fa-record-vinyl:before{content:\\\"\\\\f8d9\\\"}.fa-rectangle-landscape:before{content:\\\"\\\\f2fa\\\"}.fa-rectangle-portrait:before{content:\\\"\\\\f2fb\\\"}.fa-rectangle-wide:before{content:\\\"\\\\f2fc\\\"}.fa-recycle:before{content:\\\"\\\\f1b8\\\"}.fa-red-river:before{content:\\\"\\\\f3e3\\\"}.fa-reddit:before{content:\\\"\\\\f1a1\\\"}.fa-reddit-alien:before{content:\\\"\\\\f281\\\"}.fa-reddit-square:before{content:\\\"\\\\f1a2\\\"}.fa-redhat:before{content:\\\"\\\\f7bc\\\"}.fa-redo:before{content:\\\"\\\\f01e\\\"}.fa-redo-alt:before{content:\\\"\\\\f2f9\\\"}.fa-refrigerator:before{content:\\\"\\\\f926\\\"}.fa-registered:before{content:\\\"\\\\f25d\\\"}.fa-remove-format:before{content:\\\"\\\\f87d\\\"}.fa-renren:before{content:\\\"\\\\f18b\\\"}.fa-repeat:before{content:\\\"\\\\f363\\\"}.fa-repeat-1:before{content:\\\"\\\\f365\\\"}.fa-repeat-1-alt:before{content:\\\"\\\\f366\\\"}.fa-repeat-alt:before{content:\\\"\\\\f364\\\"}.fa-reply:before{content:\\\"\\\\f3e5\\\"}.fa-reply-all:before{content:\\\"\\\\f122\\\"}.fa-replyd:before{content:\\\"\\\\f3e6\\\"}.fa-republican:before{content:\\\"\\\\f75e\\\"}.fa-researchgate:before{content:\\\"\\\\f4f8\\\"}.fa-resolving:before{content:\\\"\\\\f3e7\\\"}.fa-restroom:before{content:\\\"\\\\f7bd\\\"}.fa-retweet:before{content:\\\"\\\\f079\\\"}.fa-retweet-alt:before{content:\\\"\\\\f361\\\"}.fa-rev:before{content:\\\"\\\\f5b2\\\"}.fa-ribbon:before{content:\\\"\\\\f4d6\\\"}.fa-ring:before{content:\\\"\\\\f70b\\\"}.fa-rings-wedding:before{content:\\\"\\\\f81b\\\"}.fa-road:before{content:\\\"\\\\f018\\\"}.fa-robot:before{content:\\\"\\\\f544\\\"}.fa-rocket:before{content:\\\"\\\\f135\\\"}.fa-rocket-launch:before{content:\\\"\\\\f927\\\"}.fa-rocketchat:before{content:\\\"\\\\f3e8\\\"}.fa-rockrms:before{content:\\\"\\\\f3e9\\\"}.fa-route:before{content:\\\"\\\\f4d7\\\"}.fa-route-highway:before{content:\\\"\\\\f61a\\\"}.fa-route-interstate:before{content:\\\"\\\\f61b\\\"}.fa-router:before{content:\\\"\\\\f8da\\\"}.fa-rss:before{content:\\\"\\\\f09e\\\"}.fa-rss-square:before{content:\\\"\\\\f143\\\"}.fa-ruble-sign:before{content:\\\"\\\\f158\\\"}.fa-ruler:before{content:\\\"\\\\f545\\\"}.fa-ruler-combined:before{content:\\\"\\\\f546\\\"}.fa-ruler-horizontal:before{content:\\\"\\\\f547\\\"}.fa-ruler-triangle:before{content:\\\"\\\\f61c\\\"}.fa-ruler-vertical:before{content:\\\"\\\\f548\\\"}.fa-running:before{content:\\\"\\\\f70c\\\"}.fa-rupee-sign:before{content:\\\"\\\\f156\\\"}.fa-rv:before{content:\\\"\\\\f7be\\\"}.fa-sack:before{content:\\\"\\\\f81c\\\"}.fa-sack-dollar:before{content:\\\"\\\\f81d\\\"}.fa-sad-cry:before{content:\\\"\\\\f5b3\\\"}.fa-sad-tear:before{content:\\\"\\\\f5b4\\\"}.fa-safari:before{content:\\\"\\\\f267\\\"}.fa-salad:before{content:\\\"\\\\f81e\\\"}.fa-salesforce:before{content:\\\"\\\\f83b\\\"}.fa-sandwich:before{content:\\\"\\\\f81f\\\"}.fa-sass:before{content:\\\"\\\\f41e\\\"}.fa-satellite:before{content:\\\"\\\\f7bf\\\"}.fa-satellite-dish:before{content:\\\"\\\\f7c0\\\"}.fa-sausage:before{content:\\\"\\\\f820\\\"}.fa-save:before{content:\\\"\\\\f0c7\\\"}.fa-sax-hot:before{content:\\\"\\\\f8db\\\"}.fa-saxophone:before{content:\\\"\\\\f8dc\\\"}.fa-scalpel:before{content:\\\"\\\\f61d\\\"}.fa-scalpel-path:before{content:\\\"\\\\f61e\\\"}.fa-scanner:before{content:\\\"\\\\f488\\\"}.fa-scanner-image:before{content:\\\"\\\\f8f3\\\"}.fa-scanner-keyboard:before{content:\\\"\\\\f489\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\\f48a\\\"}.fa-scarecrow:before{content:\\\"\\\\f70d\\\"}.fa-scarf:before{content:\\\"\\\\f7c1\\\"}.fa-schlix:before{content:\\\"\\\\f3ea\\\"}.fa-school:before{content:\\\"\\\\f549\\\"}.fa-screwdriver:before{content:\\\"\\\\f54a\\\"}.fa-scribd:before{content:\\\"\\\\f28a\\\"}.fa-scroll:before{content:\\\"\\\\f70e\\\"}.fa-scroll-old:before{content:\\\"\\\\f70f\\\"}.fa-scrubber:before{content:\\\"\\\\f2f8\\\"}.fa-scythe:before{content:\\\"\\\\f710\\\"}.fa-sd-card:before{content:\\\"\\\\f7c2\\\"}.fa-search:before{content:\\\"\\\\f002\\\"}.fa-search-dollar:before{content:\\\"\\\\f688\\\"}.fa-search-location:before{content:\\\"\\\\f689\\\"}.fa-search-minus:before{content:\\\"\\\\f010\\\"}.fa-search-plus:before{content:\\\"\\\\f00e\\\"}.fa-searchengin:before{content:\\\"\\\\f3eb\\\"}.fa-seedling:before{content:\\\"\\\\f4d8\\\"}.fa-sellcast:before{content:\\\"\\\\f2da\\\"}.fa-sellsy:before{content:\\\"\\\\f213\\\"}.fa-send-back:before{content:\\\"\\\\f87e\\\"}.fa-send-backward:before{content:\\\"\\\\f87f\\\"}.fa-sensor:before{content:\\\"\\\\f928\\\"}.fa-sensor-alert:before{content:\\\"\\\\f929\\\"}.fa-sensor-fire:before{content:\\\"\\\\f92a\\\"}.fa-sensor-on:before{content:\\\"\\\\f92b\\\"}.fa-sensor-smoke:before{content:\\\"\\\\f92c\\\"}.fa-server:before{content:\\\"\\\\f233\\\"}.fa-servicestack:before{content:\\\"\\\\f3ec\\\"}.fa-shapes:before{content:\\\"\\\\f61f\\\"}.fa-share:before{content:\\\"\\\\f064\\\"}.fa-share-all:before{content:\\\"\\\\f367\\\"}.fa-share-alt:before{content:\\\"\\\\f1e0\\\"}.fa-share-alt-square:before{content:\\\"\\\\f1e1\\\"}.fa-share-square:before{content:\\\"\\\\f14d\\\"}.fa-sheep:before{content:\\\"\\\\f711\\\"}.fa-shekel-sign:before{content:\\\"\\\\f20b\\\"}.fa-shield:before{content:\\\"\\\\f132\\\"}.fa-shield-alt:before{content:\\\"\\\\f3ed\\\"}.fa-shield-check:before{content:\\\"\\\\f2f7\\\"}.fa-shield-cross:before{content:\\\"\\\\f712\\\"}.fa-shield-virus:before{content:\\\"\\\\f96c\\\"}.fa-ship:before{content:\\\"\\\\f21a\\\"}.fa-shipping-fast:before{content:\\\"\\\\f48b\\\"}.fa-shipping-timed:before{content:\\\"\\\\f48c\\\"}.fa-shirtsinbulk:before{content:\\\"\\\\f214\\\"}.fa-shish-kebab:before{content:\\\"\\\\f821\\\"}.fa-shoe-prints:before{content:\\\"\\\\f54b\\\"}.fa-shopify:before{content:\\\"\\\\f957\\\"}.fa-shopping-bag:before{content:\\\"\\\\f290\\\"}.fa-shopping-basket:before{content:\\\"\\\\f291\\\"}.fa-shopping-cart:before{content:\\\"\\\\f07a\\\"}.fa-shopware:before{content:\\\"\\\\f5b5\\\"}.fa-shovel:before{content:\\\"\\\\f713\\\"}.fa-shovel-snow:before{content:\\\"\\\\f7c3\\\"}.fa-shower:before{content:\\\"\\\\f2cc\\\"}.fa-shredder:before{content:\\\"\\\\f68a\\\"}.fa-shuttle-van:before{content:\\\"\\\\f5b6\\\"}.fa-shuttlecock:before{content:\\\"\\\\f45b\\\"}.fa-sickle:before{content:\\\"\\\\f822\\\"}.fa-sigma:before{content:\\\"\\\\f68b\\\"}.fa-sign:before{content:\\\"\\\\f4d9\\\"}.fa-sign-in:before{content:\\\"\\\\f090\\\"}.fa-sign-in-alt:before{content:\\\"\\\\f2f6\\\"}.fa-sign-language:before{content:\\\"\\\\f2a7\\\"}.fa-sign-out:before{content:\\\"\\\\f08b\\\"}.fa-sign-out-alt:before{content:\\\"\\\\f2f5\\\"}.fa-signal:before{content:\\\"\\\\f012\\\"}.fa-signal-1:before{content:\\\"\\\\f68c\\\"}.fa-signal-2:before{content:\\\"\\\\f68d\\\"}.fa-signal-3:before{content:\\\"\\\\f68e\\\"}.fa-signal-4:before{content:\\\"\\\\f68f\\\"}.fa-signal-alt:before{content:\\\"\\\\f690\\\"}.fa-signal-alt-1:before{content:\\\"\\\\f691\\\"}.fa-signal-alt-2:before{content:\\\"\\\\f692\\\"}.fa-signal-alt-3:before{content:\\\"\\\\f693\\\"}.fa-signal-alt-slash:before{content:\\\"\\\\f694\\\"}.fa-signal-slash:before{content:\\\"\\\\f695\\\"}.fa-signal-stream:before{content:\\\"\\\\f8dd\\\"}.fa-signature:before{content:\\\"\\\\f5b7\\\"}.fa-sim-card:before{content:\\\"\\\\f7c4\\\"}.fa-simplybuilt:before{content:\\\"\\\\f215\\\"}.fa-sink:before{content:\\\"\\\\f96d\\\"}.fa-siren:before{content:\\\"\\\\f92d\\\"}.fa-siren-on:before{content:\\\"\\\\f92e\\\"}.fa-sistrix:before{content:\\\"\\\\f3ee\\\"}.fa-sitemap:before{content:\\\"\\\\f0e8\\\"}.fa-sith:before{content:\\\"\\\\f512\\\"}.fa-skating:before{content:\\\"\\\\f7c5\\\"}.fa-skeleton:before{content:\\\"\\\\f620\\\"}.fa-sketch:before{content:\\\"\\\\f7c6\\\"}.fa-ski-jump:before{content:\\\"\\\\f7c7\\\"}.fa-ski-lift:before{content:\\\"\\\\f7c8\\\"}.fa-skiing:before{content:\\\"\\\\f7c9\\\"}.fa-skiing-nordic:before{content:\\\"\\\\f7ca\\\"}.fa-skull:before{content:\\\"\\\\f54c\\\"}.fa-skull-cow:before{content:\\\"\\\\f8de\\\"}.fa-skull-crossbones:before{content:\\\"\\\\f714\\\"}.fa-skyatlas:before{content:\\\"\\\\f216\\\"}.fa-skype:before{content:\\\"\\\\f17e\\\"}.fa-slack:before{content:\\\"\\\\f198\\\"}.fa-slack-hash:before{content:\\\"\\\\f3ef\\\"}.fa-slash:before{content:\\\"\\\\f715\\\"}.fa-sledding:before{content:\\\"\\\\f7cb\\\"}.fa-sleigh:before{content:\\\"\\\\f7cc\\\"}.fa-sliders-h:before{content:\\\"\\\\f1de\\\"}.fa-sliders-h-square:before{content:\\\"\\\\f3f0\\\"}.fa-sliders-v:before{content:\\\"\\\\f3f1\\\"}.fa-sliders-v-square:before{content:\\\"\\\\f3f2\\\"}.fa-slideshare:before{content:\\\"\\\\f1e7\\\"}.fa-smile:before{content:\\\"\\\\f118\\\"}.fa-smile-beam:before{content:\\\"\\\\f5b8\\\"}.fa-smile-plus:before{content:\\\"\\\\f5b9\\\"}.fa-smile-wink:before{content:\\\"\\\\f4da\\\"}.fa-smog:before{content:\\\"\\\\f75f\\\"}.fa-smoke:before{content:\\\"\\\\f760\\\"}.fa-smoking:before{content:\\\"\\\\f48d\\\"}.fa-smoking-ban:before{content:\\\"\\\\f54d\\\"}.fa-sms:before{content:\\\"\\\\f7cd\\\"}.fa-snake:before{content:\\\"\\\\f716\\\"}.fa-snapchat:before{content:\\\"\\\\f2ab\\\"}.fa-snapchat-ghost:before{content:\\\"\\\\f2ac\\\"}.fa-snapchat-square:before{content:\\\"\\\\f2ad\\\"}.fa-snooze:before{content:\\\"\\\\f880\\\"}.fa-snow-blowing:before{content:\\\"\\\\f761\\\"}.fa-snowboarding:before{content:\\\"\\\\f7ce\\\"}.fa-snowflake:before{content:\\\"\\\\f2dc\\\"}.fa-snowflakes:before{content:\\\"\\\\f7cf\\\"}.fa-snowman:before{content:\\\"\\\\f7d0\\\"}.fa-snowmobile:before{content:\\\"\\\\f7d1\\\"}.fa-snowplow:before{content:\\\"\\\\f7d2\\\"}.fa-soap:before{content:\\\"\\\\f96e\\\"}.fa-socks:before{content:\\\"\\\\f696\\\"}.fa-solar-panel:before{content:\\\"\\\\f5ba\\\"}.fa-solar-system:before{content:\\\"\\\\f92f\\\"}.fa-sort:before{content:\\\"\\\\f0dc\\\"}.fa-sort-alpha-down:before{content:\\\"\\\\f15d\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\\f881\\\"}.fa-sort-alpha-up:before{content:\\\"\\\\f15e\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\\f882\\\"}.fa-sort-alt:before{content:\\\"\\\\f883\\\"}.fa-sort-amount-down:before{content:\\\"\\\\f160\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\\f884\\\"}.fa-sort-amount-up:before{content:\\\"\\\\f161\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\\f885\\\"}.fa-sort-circle:before{content:\\\"\\\\f930\\\"}.fa-sort-circle-down:before{content:\\\"\\\\f931\\\"}.fa-sort-circle-up:before{content:\\\"\\\\f932\\\"}.fa-sort-down:before{content:\\\"\\\\f0dd\\\"}.fa-sort-numeric-down:before{content:\\\"\\\\f162\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\\f886\\\"}.fa-sort-numeric-up:before{content:\\\"\\\\f163\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\\f887\\\"}.fa-sort-shapes-down:before{content:\\\"\\\\f888\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\\f889\\\"}.fa-sort-shapes-up:before{content:\\\"\\\\f88a\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\\f88b\\\"}.fa-sort-size-down:before{content:\\\"\\\\f88c\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\\f88d\\\"}.fa-sort-size-up:before{content:\\\"\\\\f88e\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\\f88f\\\"}.fa-sort-up:before{content:\\\"\\\\f0de\\\"}.fa-soundcloud:before{content:\\\"\\\\f1be\\\"}.fa-soup:before{content:\\\"\\\\f823\\\"}.fa-sourcetree:before{content:\\\"\\\\f7d3\\\"}.fa-spa:before{content:\\\"\\\\f5bb\\\"}.fa-space-shuttle:before{content:\\\"\\\\f197\\\"}.fa-space-station-moon:before{content:\\\"\\\\f933\\\"}.fa-space-station-moon-alt:before{content:\\\"\\\\f934\\\"}.fa-spade:before{content:\\\"\\\\f2f4\\\"}.fa-sparkles:before{content:\\\"\\\\f890\\\"}.fa-speakap:before{content:\\\"\\\\f3f3\\\"}.fa-speaker:before{content:\\\"\\\\f8df\\\"}.fa-speaker-deck:before{content:\\\"\\\\f83c\\\"}.fa-speakers:before{content:\\\"\\\\f8e0\\\"}.fa-spell-check:before{content:\\\"\\\\f891\\\"}.fa-spider:before{content:\\\"\\\\f717\\\"}.fa-spider-black-widow:before{content:\\\"\\\\f718\\\"}.fa-spider-web:before{content:\\\"\\\\f719\\\"}.fa-spinner:before{content:\\\"\\\\f110\\\"}.fa-spinner-third:before{content:\\\"\\\\f3f4\\\"}.fa-splotch:before{content:\\\"\\\\f5bc\\\"}.fa-spotify:before{content:\\\"\\\\f1bc\\\"}.fa-spray-can:before{content:\\\"\\\\f5bd\\\"}.fa-sprinkler:before{content:\\\"\\\\f935\\\"}.fa-square:before{content:\\\"\\\\f0c8\\\"}.fa-square-full:before{content:\\\"\\\\f45c\\\"}.fa-square-root:before{content:\\\"\\\\f697\\\"}.fa-square-root-alt:before{content:\\\"\\\\f698\\\"}.fa-squarespace:before{content:\\\"\\\\f5be\\\"}.fa-squirrel:before{content:\\\"\\\\f71a\\\"}.fa-stack-exchange:before{content:\\\"\\\\f18d\\\"}.fa-stack-overflow:before{content:\\\"\\\\f16c\\\"}.fa-stackpath:before{content:\\\"\\\\f842\\\"}.fa-staff:before{content:\\\"\\\\f71b\\\"}.fa-stamp:before{content:\\\"\\\\f5bf\\\"}.fa-star:before{content:\\\"\\\\f005\\\"}.fa-star-and-crescent:before{content:\\\"\\\\f699\\\"}.fa-star-christmas:before{content:\\\"\\\\f7d4\\\"}.fa-star-exclamation:before{content:\\\"\\\\f2f3\\\"}.fa-star-half:before{content:\\\"\\\\f089\\\"}.fa-star-half-alt:before{content:\\\"\\\\f5c0\\\"}.fa-star-of-david:before{content:\\\"\\\\f69a\\\"}.fa-star-of-life:before{content:\\\"\\\\f621\\\"}.fa-star-shooting:before{content:\\\"\\\\f936\\\"}.fa-starfighter:before{content:\\\"\\\\f937\\\"}.fa-starfighter-alt:before{content:\\\"\\\\f938\\\"}.fa-stars:before{content:\\\"\\\\f762\\\"}.fa-starship:before{content:\\\"\\\\f939\\\"}.fa-starship-freighter:before{content:\\\"\\\\f93a\\\"}.fa-staylinked:before{content:\\\"\\\\f3f5\\\"}.fa-steak:before{content:\\\"\\\\f824\\\"}.fa-steam:before{content:\\\"\\\\f1b6\\\"}.fa-steam-square:before{content:\\\"\\\\f1b7\\\"}.fa-steam-symbol:before{content:\\\"\\\\f3f6\\\"}.fa-steering-wheel:before{content:\\\"\\\\f622\\\"}.fa-step-backward:before{content:\\\"\\\\f048\\\"}.fa-step-forward:before{content:\\\"\\\\f051\\\"}.fa-stethoscope:before{content:\\\"\\\\f0f1\\\"}.fa-sticker-mule:before{content:\\\"\\\\f3f7\\\"}.fa-sticky-note:before{content:\\\"\\\\f249\\\"}.fa-stocking:before{content:\\\"\\\\f7d5\\\"}.fa-stomach:before{content:\\\"\\\\f623\\\"}.fa-stop:before{content:\\\"\\\\f04d\\\"}.fa-stop-circle:before{content:\\\"\\\\f28d\\\"}.fa-stopwatch:before{content:\\\"\\\\f2f2\\\"}.fa-stopwatch-20:before{content:\\\"\\\\f96f\\\"}.fa-store:before{content:\\\"\\\\f54e\\\"}.fa-store-alt:before{content:\\\"\\\\f54f\\\"}.fa-store-alt-slash:before{content:\\\"\\\\f970\\\"}.fa-store-slash:before{content:\\\"\\\\f971\\\"}.fa-strava:before{content:\\\"\\\\f428\\\"}.fa-stream:before{content:\\\"\\\\f550\\\"}.fa-street-view:before{content:\\\"\\\\f21d\\\"}.fa-stretcher:before{content:\\\"\\\\f825\\\"}.fa-strikethrough:before{content:\\\"\\\\f0cc\\\"}.fa-stripe:before{content:\\\"\\\\f429\\\"}.fa-stripe-s:before{content:\\\"\\\\f42a\\\"}.fa-stroopwafel:before{content:\\\"\\\\f551\\\"}.fa-studiovinari:before{content:\\\"\\\\f3f8\\\"}.fa-stumbleupon:before{content:\\\"\\\\f1a4\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\\f1a3\\\"}.fa-subscript:before{content:\\\"\\\\f12c\\\"}.fa-subway:before{content:\\\"\\\\f239\\\"}.fa-suitcase:before{content:\\\"\\\\f0f2\\\"}.fa-suitcase-rolling:before{content:\\\"\\\\f5c1\\\"}.fa-sun:before{content:\\\"\\\\f185\\\"}.fa-sun-cloud:before{content:\\\"\\\\f763\\\"}.fa-sun-dust:before{content:\\\"\\\\f764\\\"}.fa-sun-haze:before{content:\\\"\\\\f765\\\"}.fa-sunglasses:before{content:\\\"\\\\f892\\\"}.fa-sunrise:before{content:\\\"\\\\f766\\\"}.fa-sunset:before{content:\\\"\\\\f767\\\"}.fa-superpowers:before{content:\\\"\\\\f2dd\\\"}.fa-superscript:before{content:\\\"\\\\f12b\\\"}.fa-supple:before{content:\\\"\\\\f3f9\\\"}.fa-surprise:before{content:\\\"\\\\f5c2\\\"}.fa-suse:before{content:\\\"\\\\f7d6\\\"}.fa-swatchbook:before{content:\\\"\\\\f5c3\\\"}.fa-swift:before{content:\\\"\\\\f8e1\\\"}.fa-swimmer:before{content:\\\"\\\\f5c4\\\"}.fa-swimming-pool:before{content:\\\"\\\\f5c5\\\"}.fa-sword:before{content:\\\"\\\\f71c\\\"}.fa-sword-laser:before{content:\\\"\\\\f93b\\\"}.fa-sword-laser-alt:before{content:\\\"\\\\f93c\\\"}.fa-swords:before{content:\\\"\\\\f71d\\\"}.fa-swords-laser:before{content:\\\"\\\\f93d\\\"}.fa-symfony:before{content:\\\"\\\\f83d\\\"}.fa-synagogue:before{content:\\\"\\\\f69b\\\"}.fa-sync:before{content:\\\"\\\\f021\\\"}.fa-sync-alt:before{content:\\\"\\\\f2f1\\\"}.fa-syringe:before{content:\\\"\\\\f48e\\\"}.fa-table:before{content:\\\"\\\\f0ce\\\"}.fa-table-tennis:before{content:\\\"\\\\f45d\\\"}.fa-tablet:before{content:\\\"\\\\f10a\\\"}.fa-tablet-alt:before{content:\\\"\\\\f3fa\\\"}.fa-tablet-android:before{content:\\\"\\\\f3fb\\\"}.fa-tablet-android-alt:before{content:\\\"\\\\f3fc\\\"}.fa-tablet-rugged:before{content:\\\"\\\\f48f\\\"}.fa-tablets:before{content:\\\"\\\\f490\\\"}.fa-tachometer:before{content:\\\"\\\\f0e4\\\"}.fa-tachometer-alt:before{content:\\\"\\\\f3fd\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\\f624\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\\f625\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\\f626\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\\f627\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\\f628\\\"}.fa-tachometer-average:before{content:\\\"\\\\f629\\\"}.fa-tachometer-fast:before{content:\\\"\\\\f62a\\\"}.fa-tachometer-fastest:before{content:\\\"\\\\f62b\\\"}.fa-tachometer-slow:before{content:\\\"\\\\f62c\\\"}.fa-tachometer-slowest:before{content:\\\"\\\\f62d\\\"}.fa-taco:before{content:\\\"\\\\f826\\\"}.fa-tag:before{content:\\\"\\\\f02b\\\"}.fa-tags:before{content:\\\"\\\\f02c\\\"}.fa-tally:before{content:\\\"\\\\f69c\\\"}.fa-tanakh:before{content:\\\"\\\\f827\\\"}.fa-tape:before{content:\\\"\\\\f4db\\\"}.fa-tasks:before{content:\\\"\\\\f0ae\\\"}.fa-tasks-alt:before{content:\\\"\\\\f828\\\"}.fa-taxi:before{content:\\\"\\\\f1ba\\\"}.fa-teamspeak:before{content:\\\"\\\\f4f9\\\"}.fa-teeth:before{content:\\\"\\\\f62e\\\"}.fa-teeth-open:before{content:\\\"\\\\f62f\\\"}.fa-telegram:before{content:\\\"\\\\f2c6\\\"}.fa-telegram-plane:before{content:\\\"\\\\f3fe\\\"}.fa-telescope:before{content:\\\"\\\\f93e\\\"}.fa-temperature-down:before{content:\\\"\\\\f93f\\\"}.fa-temperature-frigid:before{content:\\\"\\\\f768\\\"}.fa-temperature-high:before{content:\\\"\\\\f769\\\"}.fa-temperature-hot:before{content:\\\"\\\\f76a\\\"}.fa-temperature-low:before{content:\\\"\\\\f76b\\\"}.fa-temperature-up:before{content:\\\"\\\\f940\\\"}.fa-tencent-weibo:before{content:\\\"\\\\f1d5\\\"}.fa-tenge:before{content:\\\"\\\\f7d7\\\"}.fa-tennis-ball:before{content:\\\"\\\\f45e\\\"}.fa-terminal:before{content:\\\"\\\\f120\\\"}.fa-text:before{content:\\\"\\\\f893\\\"}.fa-text-height:before{content:\\\"\\\\f034\\\"}.fa-text-size:before{content:\\\"\\\\f894\\\"}.fa-text-width:before{content:\\\"\\\\f035\\\"}.fa-th:before{content:\\\"\\\\f00a\\\"}.fa-th-large:before{content:\\\"\\\\f009\\\"}.fa-th-list:before{content:\\\"\\\\f00b\\\"}.fa-the-red-yeti:before{content:\\\"\\\\f69d\\\"}.fa-theater-masks:before{content:\\\"\\\\f630\\\"}.fa-themeco:before{content:\\\"\\\\f5c6\\\"}.fa-themeisle:before{content:\\\"\\\\f2b2\\\"}.fa-thermometer:before{content:\\\"\\\\f491\\\"}.fa-thermometer-empty:before{content:\\\"\\\\f2cb\\\"}.fa-thermometer-full:before{content:\\\"\\\\f2c7\\\"}.fa-thermometer-half:before{content:\\\"\\\\f2c9\\\"}.fa-thermometer-quarter:before{content:\\\"\\\\f2ca\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\\f2c8\\\"}.fa-theta:before{content:\\\"\\\\f69e\\\"}.fa-think-peaks:before{content:\\\"\\\\f731\\\"}.fa-thumbs-down:before{content:\\\"\\\\f165\\\"}.fa-thumbs-up:before{content:\\\"\\\\f164\\\"}.fa-thumbtack:before{content:\\\"\\\\f08d\\\"}.fa-thunderstorm:before{content:\\\"\\\\f76c\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\\f76d\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\\f76e\\\"}.fa-ticket:before{content:\\\"\\\\f145\\\"}.fa-ticket-alt:before{content:\\\"\\\\f3ff\\\"}.fa-tilde:before{content:\\\"\\\\f69f\\\"}.fa-times:before{content:\\\"\\\\f00d\\\"}.fa-times-circle:before{content:\\\"\\\\f057\\\"}.fa-times-hexagon:before{content:\\\"\\\\f2ee\\\"}.fa-times-octagon:before{content:\\\"\\\\f2f0\\\"}.fa-times-square:before{content:\\\"\\\\f2d3\\\"}.fa-tint:before{content:\\\"\\\\f043\\\"}.fa-tint-slash:before{content:\\\"\\\\f5c7\\\"}.fa-tire:before{content:\\\"\\\\f631\\\"}.fa-tire-flat:before{content:\\\"\\\\f632\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\\f633\\\"}.fa-tire-rugged:before{content:\\\"\\\\f634\\\"}.fa-tired:before{content:\\\"\\\\f5c8\\\"}.fa-toggle-off:before{content:\\\"\\\\f204\\\"}.fa-toggle-on:before{content:\\\"\\\\f205\\\"}.fa-toilet:before{content:\\\"\\\\f7d8\\\"}.fa-toilet-paper:before{content:\\\"\\\\f71e\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\\f71f\\\"}.fa-toilet-paper-slash:before{content:\\\"\\\\f972\\\"}.fa-tombstone:before{content:\\\"\\\\f720\\\"}.fa-tombstone-alt:before{content:\\\"\\\\f721\\\"}.fa-toolbox:before{content:\\\"\\\\f552\\\"}.fa-tools:before{content:\\\"\\\\f7d9\\\"}.fa-tooth:before{content:\\\"\\\\f5c9\\\"}.fa-toothbrush:before{content:\\\"\\\\f635\\\"}.fa-torah:before{content:\\\"\\\\f6a0\\\"}.fa-torii-gate:before{content:\\\"\\\\f6a1\\\"}.fa-tornado:before{content:\\\"\\\\f76f\\\"}.fa-tractor:before{content:\\\"\\\\f722\\\"}.fa-trade-federation:before{content:\\\"\\\\f513\\\"}.fa-trademark:before{content:\\\"\\\\f25c\\\"}.fa-traffic-cone:before{content:\\\"\\\\f636\\\"}.fa-traffic-light:before{content:\\\"\\\\f637\\\"}.fa-traffic-light-go:before{content:\\\"\\\\f638\\\"}.fa-traffic-light-slow:before{content:\\\"\\\\f639\\\"}.fa-traffic-light-stop:before{content:\\\"\\\\f63a\\\"}.fa-trailer:before{content:\\\"\\\\f941\\\"}.fa-train:before{content:\\\"\\\\f238\\\"}.fa-tram:before{content:\\\"\\\\f7da\\\"}.fa-transgender:before{content:\\\"\\\\f224\\\"}.fa-transgender-alt:before{content:\\\"\\\\f225\\\"}.fa-transporter:before{content:\\\"\\\\f942\\\"}.fa-transporter-1:before{content:\\\"\\\\f943\\\"}.fa-transporter-2:before{content:\\\"\\\\f944\\\"}.fa-transporter-3:before{content:\\\"\\\\f945\\\"}.fa-transporter-empty:before{content:\\\"\\\\f946\\\"}.fa-trash:before{content:\\\"\\\\f1f8\\\"}.fa-trash-alt:before{content:\\\"\\\\f2ed\\\"}.fa-trash-restore:before{content:\\\"\\\\f829\\\"}.fa-trash-restore-alt:before{content:\\\"\\\\f82a\\\"}.fa-trash-undo:before{content:\\\"\\\\f895\\\"}.fa-trash-undo-alt:before{content:\\\"\\\\f896\\\"}.fa-treasure-chest:before{content:\\\"\\\\f723\\\"}.fa-tree:before{content:\\\"\\\\f1bb\\\"}.fa-tree-alt:before{content:\\\"\\\\f400\\\"}.fa-tree-christmas:before{content:\\\"\\\\f7db\\\"}.fa-tree-decorated:before{content:\\\"\\\\f7dc\\\"}.fa-tree-large:before{content:\\\"\\\\f7dd\\\"}.fa-tree-palm:before{content:\\\"\\\\f82b\\\"}.fa-trees:before{content:\\\"\\\\f724\\\"}.fa-trello:before{content:\\\"\\\\f181\\\"}.fa-triangle:before{content:\\\"\\\\f2ec\\\"}.fa-triangle-music:before{content:\\\"\\\\f8e2\\\"}.fa-tripadvisor:before{content:\\\"\\\\f262\\\"}.fa-trophy:before{content:\\\"\\\\f091\\\"}.fa-trophy-alt:before{content:\\\"\\\\f2eb\\\"}.fa-truck:before{content:\\\"\\\\f0d1\\\"}.fa-truck-container:before{content:\\\"\\\\f4dc\\\"}.fa-truck-couch:before{content:\\\"\\\\f4dd\\\"}.fa-truck-loading:before{content:\\\"\\\\f4de\\\"}.fa-truck-monster:before{content:\\\"\\\\f63b\\\"}.fa-truck-moving:before{content:\\\"\\\\f4df\\\"}.fa-truck-pickup:before{content:\\\"\\\\f63c\\\"}.fa-truck-plow:before{content:\\\"\\\\f7de\\\"}.fa-truck-ramp:before{content:\\\"\\\\f4e0\\\"}.fa-trumpet:before{content:\\\"\\\\f8e3\\\"}.fa-tshirt:before{content:\\\"\\\\f553\\\"}.fa-tty:before{content:\\\"\\\\f1e4\\\"}.fa-tumblr:before{content:\\\"\\\\f173\\\"}.fa-tumblr-square:before{content:\\\"\\\\f174\\\"}.fa-turkey:before{content:\\\"\\\\f725\\\"}.fa-turntable:before{content:\\\"\\\\f8e4\\\"}.fa-turtle:before{content:\\\"\\\\f726\\\"}.fa-tv:before{content:\\\"\\\\f26c\\\"}.fa-tv-alt:before{content:\\\"\\\\f8e5\\\"}.fa-tv-music:before{content:\\\"\\\\f8e6\\\"}.fa-tv-retro:before{content:\\\"\\\\f401\\\"}.fa-twitch:before{content:\\\"\\\\f1e8\\\"}.fa-twitter:before{content:\\\"\\\\f099\\\"}.fa-twitter-square:before{content:\\\"\\\\f081\\\"}.fa-typewriter:before{content:\\\"\\\\f8e7\\\"}.fa-typo3:before{content:\\\"\\\\f42b\\\"}.fa-uber:before{content:\\\"\\\\f402\\\"}.fa-ubuntu:before{content:\\\"\\\\f7df\\\"}.fa-ufo:before{content:\\\"\\\\f947\\\"}.fa-ufo-beam:before{content:\\\"\\\\f948\\\"}.fa-uikit:before{content:\\\"\\\\f403\\\"}.fa-umbraco:before{content:\\\"\\\\f8e8\\\"}.fa-umbrella:before{content:\\\"\\\\f0e9\\\"}.fa-umbrella-beach:before{content:\\\"\\\\f5ca\\\"}.fa-underline:before{content:\\\"\\\\f0cd\\\"}.fa-undo:before{content:\\\"\\\\f0e2\\\"}.fa-undo-alt:before{content:\\\"\\\\f2ea\\\"}.fa-unicorn:before{content:\\\"\\\\f727\\\"}.fa-union:before{content:\\\"\\\\f6a2\\\"}.fa-uniregistry:before{content:\\\"\\\\f404\\\"}.fa-unity:before{content:\\\"\\\\f949\\\"}.fa-universal-access:before{content:\\\"\\\\f29a\\\"}.fa-university:before{content:\\\"\\\\f19c\\\"}.fa-unlink:before{content:\\\"\\\\f127\\\"}.fa-unlock:before{content:\\\"\\\\f09c\\\"}.fa-unlock-alt:before{content:\\\"\\\\f13e\\\"}.fa-untappd:before{content:\\\"\\\\f405\\\"}.fa-upload:before{content:\\\"\\\\f093\\\"}.fa-ups:before{content:\\\"\\\\f7e0\\\"}.fa-usb:before{content:\\\"\\\\f287\\\"}.fa-usb-drive:before{content:\\\"\\\\f8e9\\\"}.fa-usd-circle:before{content:\\\"\\\\f2e8\\\"}.fa-usd-square:before{content:\\\"\\\\f2e9\\\"}.fa-user:before{content:\\\"\\\\f007\\\"}.fa-user-alien:before{content:\\\"\\\\f94a\\\"}.fa-user-alt:before{content:\\\"\\\\f406\\\"}.fa-user-alt-slash:before{content:\\\"\\\\f4fa\\\"}.fa-user-astronaut:before{content:\\\"\\\\f4fb\\\"}.fa-user-chart:before{content:\\\"\\\\f6a3\\\"}.fa-user-check:before{content:\\\"\\\\f4fc\\\"}.fa-user-circle:before{content:\\\"\\\\f2bd\\\"}.fa-user-clock:before{content:\\\"\\\\f4fd\\\"}.fa-user-cog:before{content:\\\"\\\\f4fe\\\"}.fa-user-cowboy:before{content:\\\"\\\\f8ea\\\"}.fa-user-crown:before{content:\\\"\\\\f6a4\\\"}.fa-user-edit:before{content:\\\"\\\\f4ff\\\"}.fa-user-friends:before{content:\\\"\\\\f500\\\"}.fa-user-graduate:before{content:\\\"\\\\f501\\\"}.fa-user-hard-hat:before{content:\\\"\\\\f82c\\\"}.fa-user-headset:before{content:\\\"\\\\f82d\\\"}.fa-user-injured:before{content:\\\"\\\\f728\\\"}.fa-user-lock:before{content:\\\"\\\\f502\\\"}.fa-user-md:before{content:\\\"\\\\f0f0\\\"}.fa-user-md-chat:before{content:\\\"\\\\f82e\\\"}.fa-user-minus:before{content:\\\"\\\\f503\\\"}.fa-user-music:before{content:\\\"\\\\f8eb\\\"}.fa-user-ninja:before{content:\\\"\\\\f504\\\"}.fa-user-nurse:before{content:\\\"\\\\f82f\\\"}.fa-user-plus:before{content:\\\"\\\\f234\\\"}.fa-user-robot:before{content:\\\"\\\\f94b\\\"}.fa-user-secret:before{content:\\\"\\\\f21b\\\"}.fa-user-shield:before{content:\\\"\\\\f505\\\"}.fa-user-slash:before{content:\\\"\\\\f506\\\"}.fa-user-tag:before{content:\\\"\\\\f507\\\"}.fa-user-tie:before{content:\\\"\\\\f508\\\"}.fa-user-times:before{content:\\\"\\\\f235\\\"}.fa-user-unlock:before{content:\\\"\\\\f958\\\"}.fa-user-visor:before{content:\\\"\\\\f94c\\\"}.fa-users:before{content:\\\"\\\\f0c0\\\"}.fa-users-class:before{content:\\\"\\\\f63d\\\"}.fa-users-cog:before{content:\\\"\\\\f509\\\"}.fa-users-crown:before{content:\\\"\\\\f6a5\\\"}.fa-users-medical:before{content:\\\"\\\\f830\\\"}.fa-users-slash:before{content:\\\"\\\\f973\\\"}.fa-usps:before{content:\\\"\\\\f7e1\\\"}.fa-ussunnah:before{content:\\\"\\\\f407\\\"}.fa-utensil-fork:before{content:\\\"\\\\f2e3\\\"}.fa-utensil-knife:before{content:\\\"\\\\f2e4\\\"}.fa-utensil-spoon:before{content:\\\"\\\\f2e5\\\"}.fa-utensils:before{content:\\\"\\\\f2e7\\\"}.fa-utensils-alt:before{content:\\\"\\\\f2e6\\\"}.fa-vaadin:before{content:\\\"\\\\f408\\\"}.fa-vacuum:before{content:\\\"\\\\f94d\\\"}.fa-vacuum-robot:before{content:\\\"\\\\f94e\\\"}.fa-value-absolute:before{content:\\\"\\\\f6a6\\\"}.fa-vector-square:before{content:\\\"\\\\f5cb\\\"}.fa-venus:before{content:\\\"\\\\f221\\\"}.fa-venus-double:before{content:\\\"\\\\f226\\\"}.fa-venus-mars:before{content:\\\"\\\\f228\\\"}.fa-vhs:before{content:\\\"\\\\f8ec\\\"}.fa-viacoin:before{content:\\\"\\\\f237\\\"}.fa-viadeo:before{content:\\\"\\\\f2a9\\\"}.fa-viadeo-square:before{content:\\\"\\\\f2aa\\\"}.fa-vial:before{content:\\\"\\\\f492\\\"}.fa-vials:before{content:\\\"\\\\f493\\\"}.fa-viber:before{content:\\\"\\\\f409\\\"}.fa-video:before{content:\\\"\\\\f03d\\\"}.fa-video-plus:before{content:\\\"\\\\f4e1\\\"}.fa-video-slash:before{content:\\\"\\\\f4e2\\\"}.fa-vihara:before{content:\\\"\\\\f6a7\\\"}.fa-vimeo:before{content:\\\"\\\\f40a\\\"}.fa-vimeo-square:before{content:\\\"\\\\f194\\\"}.fa-vimeo-v:before{content:\\\"\\\\f27d\\\"}.fa-vine:before{content:\\\"\\\\f1ca\\\"}.fa-violin:before{content:\\\"\\\\f8ed\\\"}.fa-virus:before{content:\\\"\\\\f974\\\"}.fa-virus-slash:before{content:\\\"\\\\f975\\\"}.fa-viruses:before{content:\\\"\\\\f976\\\"}.fa-vk:before{content:\\\"\\\\f189\\\"}.fa-vnv:before{content:\\\"\\\\f40b\\\"}.fa-voicemail:before{content:\\\"\\\\f897\\\"}.fa-volcano:before{content:\\\"\\\\f770\\\"}.fa-volleyball-ball:before{content:\\\"\\\\f45f\\\"}.fa-volume:before{content:\\\"\\\\f6a8\\\"}.fa-volume-down:before{content:\\\"\\\\f027\\\"}.fa-volume-mute:before{content:\\\"\\\\f6a9\\\"}.fa-volume-off:before{content:\\\"\\\\f026\\\"}.fa-volume-slash:before{content:\\\"\\\\f2e2\\\"}.fa-volume-up:before{content:\\\"\\\\f028\\\"}.fa-vote-nay:before{content:\\\"\\\\f771\\\"}.fa-vote-yea:before{content:\\\"\\\\f772\\\"}.fa-vr-cardboard:before{content:\\\"\\\\f729\\\"}.fa-vuejs:before{content:\\\"\\\\f41f\\\"}.fa-wagon-covered:before{content:\\\"\\\\f8ee\\\"}.fa-walker:before{content:\\\"\\\\f831\\\"}.fa-walkie-talkie:before{content:\\\"\\\\f8ef\\\"}.fa-walking:before{content:\\\"\\\\f554\\\"}.fa-wallet:before{content:\\\"\\\\f555\\\"}.fa-wand:before{content:\\\"\\\\f72a\\\"}.fa-wand-magic:before{content:\\\"\\\\f72b\\\"}.fa-warehouse:before{content:\\\"\\\\f494\\\"}.fa-warehouse-alt:before{content:\\\"\\\\f495\\\"}.fa-washer:before{content:\\\"\\\\f898\\\"}.fa-watch:before{content:\\\"\\\\f2e1\\\"}.fa-watch-calculator:before{content:\\\"\\\\f8f0\\\"}.fa-watch-fitness:before{content:\\\"\\\\f63e\\\"}.fa-water:before{content:\\\"\\\\f773\\\"}.fa-water-lower:before{content:\\\"\\\\f774\\\"}.fa-water-rise:before{content:\\\"\\\\f775\\\"}.fa-wave-sine:before{content:\\\"\\\\f899\\\"}.fa-wave-square:before{content:\\\"\\\\f83e\\\"}.fa-wave-triangle:before{content:\\\"\\\\f89a\\\"}.fa-waveform:before{content:\\\"\\\\f8f1\\\"}.fa-waveform-path:before{content:\\\"\\\\f8f2\\\"}.fa-waze:before{content:\\\"\\\\f83f\\\"}.fa-webcam:before{content:\\\"\\\\f832\\\"}.fa-webcam-slash:before{content:\\\"\\\\f833\\\"}.fa-weebly:before{content:\\\"\\\\f5cc\\\"}.fa-weibo:before{content:\\\"\\\\f18a\\\"}.fa-weight:before{content:\\\"\\\\f496\\\"}.fa-weight-hanging:before{content:\\\"\\\\f5cd\\\"}.fa-weixin:before{content:\\\"\\\\f1d7\\\"}.fa-whale:before{content:\\\"\\\\f72c\\\"}.fa-whatsapp:before{content:\\\"\\\\f232\\\"}.fa-whatsapp-square:before{content:\\\"\\\\f40c\\\"}.fa-wheat:before{content:\\\"\\\\f72d\\\"}.fa-wheelchair:before{content:\\\"\\\\f193\\\"}.fa-whistle:before{content:\\\"\\\\f460\\\"}.fa-whmcs:before{content:\\\"\\\\f40d\\\"}.fa-wifi:before{content:\\\"\\\\f1eb\\\"}.fa-wifi-1:before{content:\\\"\\\\f6aa\\\"}.fa-wifi-2:before{content:\\\"\\\\f6ab\\\"}.fa-wifi-slash:before{content:\\\"\\\\f6ac\\\"}.fa-wikipedia-w:before{content:\\\"\\\\f266\\\"}.fa-wind:before{content:\\\"\\\\f72e\\\"}.fa-wind-turbine:before{content:\\\"\\\\f89b\\\"}.fa-wind-warning:before{content:\\\"\\\\f776\\\"}.fa-window:before{content:\\\"\\\\f40e\\\"}.fa-window-alt:before{content:\\\"\\\\f40f\\\"}.fa-window-close:before{content:\\\"\\\\f410\\\"}.fa-window-frame:before{content:\\\"\\\\f94f\\\"}.fa-window-frame-open:before{content:\\\"\\\\f950\\\"}.fa-window-maximize:before{content:\\\"\\\\f2d0\\\"}.fa-window-minimize:before{content:\\\"\\\\f2d1\\\"}.fa-window-restore:before{content:\\\"\\\\f2d2\\\"}.fa-windows:before{content:\\\"\\\\f17a\\\"}.fa-windsock:before{content:\\\"\\\\f777\\\"}.fa-wine-bottle:before{content:\\\"\\\\f72f\\\"}.fa-wine-glass:before{content:\\\"\\\\f4e3\\\"}.fa-wine-glass-alt:before{content:\\\"\\\\f5ce\\\"}.fa-wix:before{content:\\\"\\\\f5cf\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\\f730\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\\f514\\\"}.fa-won-sign:before{content:\\\"\\\\f159\\\"}.fa-wordpress:before{content:\\\"\\\\f19a\\\"}.fa-wordpress-simple:before{content:\\\"\\\\f411\\\"}.fa-wpbeginner:before{content:\\\"\\\\f297\\\"}.fa-wpexplorer:before{content:\\\"\\\\f2de\\\"}.fa-wpforms:before{content:\\\"\\\\f298\\\"}.fa-wpressr:before{content:\\\"\\\\f3e4\\\"}.fa-wreath:before{content:\\\"\\\\f7e2\\\"}.fa-wrench:before{content:\\\"\\\\f0ad\\\"}.fa-x-ray:before{content:\\\"\\\\f497\\\"}.fa-xbox:before{content:\\\"\\\\f412\\\"}.fa-xing:before{content:\\\"\\\\f168\\\"}.fa-xing-square:before{content:\\\"\\\\f169\\\"}.fa-y-combinator:before{content:\\\"\\\\f23b\\\"}.fa-yahoo:before{content:\\\"\\\\f19e\\\"}.fa-yammer:before{content:\\\"\\\\f840\\\"}.fa-yandex:before{content:\\\"\\\\f413\\\"}.fa-yandex-international:before{content:\\\"\\\\f414\\\"}.fa-yarn:before{content:\\\"\\\\f7e3\\\"}.fa-yelp:before{content:\\\"\\\\f1e9\\\"}.fa-yen-sign:before{content:\\\"\\\\f157\\\"}.fa-yin-yang:before{content:\\\"\\\\f6ad\\\"}.fa-yoast:before{content:\\\"\\\\f2b1\\\"}.fa-youtube:before{content:\\\"\\\\f167\\\"}.fa-youtube-square:before{content:\\\"\\\\f431\\\"}.fa-zhihu:before{content:\\\"\\\\f63f\\\"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-brands-400.eot);src:url(/src/static/webfonts/fa-brands-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-brands-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-brands-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-brands-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-brands-400.svg#fontawesome) format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-duotone-900.eot);src:url(/src/static/webfonts/fa-duotone-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-duotone-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-duotone-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-duotone-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-duotone-900.svg#fontawesome) format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity,1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"\\\\10f640\\\"}.fad.fa-acorn:after{content:\\\"\\\\10f6ae\\\"}.fad.fa-ad:after{content:\\\"\\\\10f641\\\"}.fad.fa-address-book:after{content:\\\"\\\\10f2b9\\\"}.fad.fa-address-card:after{content:\\\"\\\\10f2bb\\\"}.fad.fa-adjust:after{content:\\\"\\\\10f042\\\"}.fad.fa-air-conditioner:after{content:\\\"\\\\10f8f4\\\"}.fad.fa-air-freshener:after{content:\\\"\\\\10f5d0\\\"}.fad.fa-alarm-clock:after{content:\\\"\\\\10f34e\\\"}.fad.fa-alarm-exclamation:after{content:\\\"\\\\10f843\\\"}.fad.fa-alarm-plus:after{content:\\\"\\\\10f844\\\"}.fad.fa-alarm-snooze:after{content:\\\"\\\\10f845\\\"}.fad.fa-album:after{content:\\\"\\\\10f89f\\\"}.fad.fa-album-collection:after{content:\\\"\\\\10f8a0\\\"}.fad.fa-alicorn:after{content:\\\"\\\\10f6b0\\\"}.fad.fa-alien:after{content:\\\"\\\\10f8f5\\\"}.fad.fa-alien-monster:after{content:\\\"\\\\10f8f6\\\"}.fad.fa-align-center:after{content:\\\"\\\\10f037\\\"}.fad.fa-align-justify:after{content:\\\"\\\\10f039\\\"}.fad.fa-align-left:after{content:\\\"\\\\10f036\\\"}.fad.fa-align-right:after{content:\\\"\\\\10f038\\\"}.fad.fa-align-slash:after{content:\\\"\\\\10f846\\\"}.fad.fa-allergies:after{content:\\\"\\\\10f461\\\"}.fad.fa-ambulance:after{content:\\\"\\\\10f0f9\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"\\\\10f2a3\\\"}.fad.fa-amp-guitar:after{content:\\\"\\\\10f8a1\\\"}.fad.fa-analytics:after{content:\\\"\\\\10f643\\\"}.fad.fa-anchor:after{content:\\\"\\\\10f13d\\\"}.fad.fa-angel:after{content:\\\"\\\\10f779\\\"}.fad.fa-angle-double-down:after{content:\\\"\\\\10f103\\\"}.fad.fa-angle-double-left:after{content:\\\"\\\\10f100\\\"}.fad.fa-angle-double-right:after{content:\\\"\\\\10f101\\\"}.fad.fa-angle-double-up:after{content:\\\"\\\\10f102\\\"}.fad.fa-angle-down:after{content:\\\"\\\\10f107\\\"}.fad.fa-angle-left:after{content:\\\"\\\\10f104\\\"}.fad.fa-angle-right:after{content:\\\"\\\\10f105\\\"}.fad.fa-angle-up:after{content:\\\"\\\\10f106\\\"}.fad.fa-angry:after{content:\\\"\\\\10f556\\\"}.fad.fa-ankh:after{content:\\\"\\\\10f644\\\"}.fad.fa-apple-alt:after{content:\\\"\\\\10f5d1\\\"}.fad.fa-apple-crate:after{content:\\\"\\\\10f6b1\\\"}.fad.fa-archive:after{content:\\\"\\\\10f187\\\"}.fad.fa-archway:after{content:\\\"\\\\10f557\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"\\\\10f358\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"\\\\10f359\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"\\\\10f35a\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"\\\\10f35b\\\"}.fad.fa-arrow-alt-down:after{content:\\\"\\\\10f354\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"\\\\10f346\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"\\\\10f347\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"\\\\10f348\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"\\\\10f349\\\"}.fad.fa-arrow-alt-left:after{content:\\\"\\\\10f355\\\"}.fad.fa-arrow-alt-right:after{content:\\\"\\\\10f356\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"\\\\10f350\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"\\\\10f351\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"\\\\10f352\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"\\\\10f353\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"\\\\10f34a\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"\\\\10f34b\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"\\\\10f34c\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"\\\\10f34d\\\"}.fad.fa-arrow-alt-up:after{content:\\\"\\\\10f357\\\"}.fad.fa-arrow-circle-down:after{content:\\\"\\\\10f0ab\\\"}.fad.fa-arrow-circle-left:after{content:\\\"\\\\10f0a8\\\"}.fad.fa-arrow-circle-right:after{content:\\\"\\\\10f0a9\\\"}.fad.fa-arrow-circle-up:after{content:\\\"\\\\10f0aa\\\"}.fad.fa-arrow-down:after{content:\\\"\\\\10f063\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"\\\\10f342\\\"}.fad.fa-arrow-from-left:after{content:\\\"\\\\10f343\\\"}.fad.fa-arrow-from-right:after{content:\\\"\\\\10f344\\\"}.fad.fa-arrow-from-top:after{content:\\\"\\\\10f345\\\"}.fad.fa-arrow-left:after{content:\\\"\\\\10f060\\\"}.fad.fa-arrow-right:after{content:\\\"\\\\10f061\\\"}.fad.fa-arrow-square-down:after{content:\\\"\\\\10f339\\\"}.fad.fa-arrow-square-left:after{content:\\\"\\\\10f33a\\\"}.fad.fa-arrow-square-right:after{content:\\\"\\\\10f33b\\\"}.fad.fa-arrow-square-up:after{content:\\\"\\\\10f33c\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"\\\\10f33d\\\"}.fad.fa-arrow-to-left:after{content:\\\"\\\\10f33e\\\"}.fad.fa-arrow-to-right:after{content:\\\"\\\\10f340\\\"}.fad.fa-arrow-to-top:after{content:\\\"\\\\10f341\\\"}.fad.fa-arrow-up:after{content:\\\"\\\\10f062\\\"}.fad.fa-arrows:after{content:\\\"\\\\10f047\\\"}.fad.fa-arrows-alt:after{content:\\\"\\\\10f0b2\\\"}.fad.fa-arrows-alt-h:after{content:\\\"\\\\10f337\\\"}.fad.fa-arrows-alt-v:after{content:\\\"\\\\10f338\\\"}.fad.fa-arrows-h:after{content:\\\"\\\\10f07e\\\"}.fad.fa-arrows-v:after{content:\\\"\\\\10f07d\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"\\\\10f2a2\\\"}.fad.fa-asterisk:after{content:\\\"\\\\10f069\\\"}.fad.fa-at:after{content:\\\"\\\\10f1fa\\\"}.fad.fa-atlas:after{content:\\\"\\\\10f558\\\"}.fad.fa-atom:after{content:\\\"\\\\10f5d2\\\"}.fad.fa-atom-alt:after{content:\\\"\\\\10f5d3\\\"}.fad.fa-audio-description:after{content:\\\"\\\\10f29e\\\"}.fad.fa-award:after{content:\\\"\\\\10f559\\\"}.fad.fa-axe:after{content:\\\"\\\\10f6b2\\\"}.fad.fa-axe-battle:after{content:\\\"\\\\10f6b3\\\"}.fad.fa-baby:after{content:\\\"\\\\10f77c\\\"}.fad.fa-baby-carriage:after{content:\\\"\\\\10f77d\\\"}.fad.fa-backpack:after{content:\\\"\\\\10f5d4\\\"}.fad.fa-backspace:after{content:\\\"\\\\10f55a\\\"}.fad.fa-backward:after{content:\\\"\\\\10f04a\\\"}.fad.fa-bacon:after{content:\\\"\\\\10f7e5\\\"}.fad.fa-bacteria:after{content:\\\"\\\\10f959\\\"}.fad.fa-bacterium:after{content:\\\"\\\\10f95a\\\"}.fad.fa-badge:after{content:\\\"\\\\10f335\\\"}.fad.fa-badge-check:after{content:\\\"\\\\10f336\\\"}.fad.fa-badge-dollar:after{content:\\\"\\\\10f645\\\"}.fad.fa-badge-percent:after{content:\\\"\\\\10f646\\\"}.fad.fa-badge-sheriff:after{content:\\\"\\\\10f8a2\\\"}.fad.fa-badger-honey:after{content:\\\"\\\\10f6b4\\\"}.fad.fa-bags-shopping:after{content:\\\"\\\\10f847\\\"}.fad.fa-bahai:after{content:\\\"\\\\10f666\\\"}.fad.fa-balance-scale:after{content:\\\"\\\\10f24e\\\"}.fad.fa-balance-scale-left:after{content:\\\"\\\\10f515\\\"}.fad.fa-balance-scale-right:after{content:\\\"\\\\10f516\\\"}.fad.fa-ball-pile:after{content:\\\"\\\\10f77e\\\"}.fad.fa-ballot:after{content:\\\"\\\\10f732\\\"}.fad.fa-ballot-check:after{content:\\\"\\\\10f733\\\"}.fad.fa-ban:after{content:\\\"\\\\10f05e\\\"}.fad.fa-band-aid:after{content:\\\"\\\\10f462\\\"}.fad.fa-banjo:after{content:\\\"\\\\10f8a3\\\"}.fad.fa-barcode:after{content:\\\"\\\\10f02a\\\"}.fad.fa-barcode-alt:after{content:\\\"\\\\10f463\\\"}.fad.fa-barcode-read:after{content:\\\"\\\\10f464\\\"}.fad.fa-barcode-scan:after{content:\\\"\\\\10f465\\\"}.fad.fa-bars:after{content:\\\"\\\\10f0c9\\\"}.fad.fa-baseball:after{content:\\\"\\\\10f432\\\"}.fad.fa-baseball-ball:after{content:\\\"\\\\10f433\\\"}.fad.fa-basketball-ball:after{content:\\\"\\\\10f434\\\"}.fad.fa-basketball-hoop:after{content:\\\"\\\\10f435\\\"}.fad.fa-bat:after{content:\\\"\\\\10f6b5\\\"}.fad.fa-bath:after{content:\\\"\\\\10f2cd\\\"}.fad.fa-battery-bolt:after{content:\\\"\\\\10f376\\\"}.fad.fa-battery-empty:after{content:\\\"\\\\10f244\\\"}.fad.fa-battery-full:after{content:\\\"\\\\10f240\\\"}.fad.fa-battery-half:after{content:\\\"\\\\10f242\\\"}.fad.fa-battery-quarter:after{content:\\\"\\\\10f243\\\"}.fad.fa-battery-slash:after{content:\\\"\\\\10f377\\\"}.fad.fa-battery-three-quarters:after{content:\\\"\\\\10f241\\\"}.fad.fa-bed:after{content:\\\"\\\\10f236\\\"}.fad.fa-bed-alt:after{content:\\\"\\\\10f8f7\\\"}.fad.fa-bed-bunk:after{content:\\\"\\\\10f8f8\\\"}.fad.fa-bed-empty:after{content:\\\"\\\\10f8f9\\\"}.fad.fa-beer:after{content:\\\"\\\\10f0fc\\\"}.fad.fa-bell:after{content:\\\"\\\\10f0f3\\\"}.fad.fa-bell-exclamation:after{content:\\\"\\\\10f848\\\"}.fad.fa-bell-on:after{content:\\\"\\\\10f8fa\\\"}.fad.fa-bell-plus:after{content:\\\"\\\\10f849\\\"}.fad.fa-bell-school:after{content:\\\"\\\\10f5d5\\\"}.fad.fa-bell-school-slash:after{content:\\\"\\\\10f5d6\\\"}.fad.fa-bell-slash:after{content:\\\"\\\\10f1f6\\\"}.fad.fa-bells:after{content:\\\"\\\\10f77f\\\"}.fad.fa-betamax:after{content:\\\"\\\\10f8a4\\\"}.fad.fa-bezier-curve:after{content:\\\"\\\\10f55b\\\"}.fad.fa-bible:after{content:\\\"\\\\10f647\\\"}.fad.fa-bicycle:after{content:\\\"\\\\10f206\\\"}.fad.fa-biking:after{content:\\\"\\\\10f84a\\\"}.fad.fa-biking-mountain:after{content:\\\"\\\\10f84b\\\"}.fad.fa-binoculars:after{content:\\\"\\\\10f1e5\\\"}.fad.fa-biohazard:after{content:\\\"\\\\10f780\\\"}.fad.fa-birthday-cake:after{content:\\\"\\\\10f1fd\\\"}.fad.fa-blanket:after{content:\\\"\\\\10f498\\\"}.fad.fa-blender:after{content:\\\"\\\\10f517\\\"}.fad.fa-blender-phone:after{content:\\\"\\\\10f6b6\\\"}.fad.fa-blind:after{content:\\\"\\\\10f29d\\\"}.fad.fa-blinds:after{content:\\\"\\\\10f8fb\\\"}.fad.fa-blinds-open:after{content:\\\"\\\\10f8fc\\\"}.fad.fa-blinds-raised:after{content:\\\"\\\\10f8fd\\\"}.fad.fa-blog:after{content:\\\"\\\\10f781\\\"}.fad.fa-bold:after{content:\\\"\\\\10f032\\\"}.fad.fa-bolt:after{content:\\\"\\\\10f0e7\\\"}.fad.fa-bomb:after{content:\\\"\\\\10f1e2\\\"}.fad.fa-bone:after{content:\\\"\\\\10f5d7\\\"}.fad.fa-bone-break:after{content:\\\"\\\\10f5d8\\\"}.fad.fa-bong:after{content:\\\"\\\\10f55c\\\"}.fad.fa-book:after{content:\\\"\\\\10f02d\\\"}.fad.fa-book-alt:after{content:\\\"\\\\10f5d9\\\"}.fad.fa-book-dead:after{content:\\\"\\\\10f6b7\\\"}.fad.fa-book-heart:after{content:\\\"\\\\10f499\\\"}.fad.fa-book-medical:after{content:\\\"\\\\10f7e6\\\"}.fad.fa-book-open:after{content:\\\"\\\\10f518\\\"}.fad.fa-book-reader:after{content:\\\"\\\\10f5da\\\"}.fad.fa-book-spells:after{content:\\\"\\\\10f6b8\\\"}.fad.fa-book-user:after{content:\\\"\\\\10f7e7\\\"}.fad.fa-bookmark:after{content:\\\"\\\\10f02e\\\"}.fad.fa-books:after{content:\\\"\\\\10f5db\\\"}.fad.fa-books-medical:after{content:\\\"\\\\10f7e8\\\"}.fad.fa-boombox:after{content:\\\"\\\\10f8a5\\\"}.fad.fa-boot:after{content:\\\"\\\\10f782\\\"}.fad.fa-booth-curtain:after{content:\\\"\\\\10f734\\\"}.fad.fa-border-all:after{content:\\\"\\\\10f84c\\\"}.fad.fa-border-bottom:after{content:\\\"\\\\10f84d\\\"}.fad.fa-border-center-h:after{content:\\\"\\\\10f89c\\\"}.fad.fa-border-center-v:after{content:\\\"\\\\10f89d\\\"}.fad.fa-border-inner:after{content:\\\"\\\\10f84e\\\"}.fad.fa-border-left:after{content:\\\"\\\\10f84f\\\"}.fad.fa-border-none:after{content:\\\"\\\\10f850\\\"}.fad.fa-border-outer:after{content:\\\"\\\\10f851\\\"}.fad.fa-border-right:after{content:\\\"\\\\10f852\\\"}.fad.fa-border-style:after{content:\\\"\\\\10f853\\\"}.fad.fa-border-style-alt:after{content:\\\"\\\\10f854\\\"}.fad.fa-border-top:after{content:\\\"\\\\10f855\\\"}.fad.fa-bow-arrow:after{content:\\\"\\\\10f6b9\\\"}.fad.fa-bowling-ball:after{content:\\\"\\\\10f436\\\"}.fad.fa-bowling-pins:after{content:\\\"\\\\10f437\\\"}.fad.fa-box:after{content:\\\"\\\\10f466\\\"}.fad.fa-box-alt:after{content:\\\"\\\\10f49a\\\"}.fad.fa-box-ballot:after{content:\\\"\\\\10f735\\\"}.fad.fa-box-check:after{content:\\\"\\\\10f467\\\"}.fad.fa-box-fragile:after{content:\\\"\\\\10f49b\\\"}.fad.fa-box-full:after{content:\\\"\\\\10f49c\\\"}.fad.fa-box-heart:after{content:\\\"\\\\10f49d\\\"}.fad.fa-box-open:after{content:\\\"\\\\10f49e\\\"}.fad.fa-box-tissue:after{content:\\\"\\\\10f95b\\\"}.fad.fa-box-up:after{content:\\\"\\\\10f49f\\\"}.fad.fa-box-usd:after{content:\\\"\\\\10f4a0\\\"}.fad.fa-boxes:after{content:\\\"\\\\10f468\\\"}.fad.fa-boxes-alt:after{content:\\\"\\\\10f4a1\\\"}.fad.fa-boxing-glove:after{content:\\\"\\\\10f438\\\"}.fad.fa-brackets:after{content:\\\"\\\\10f7e9\\\"}.fad.fa-brackets-curly:after{content:\\\"\\\\10f7ea\\\"}.fad.fa-braille:after{content:\\\"\\\\10f2a1\\\"}.fad.fa-brain:after{content:\\\"\\\\10f5dc\\\"}.fad.fa-bread-loaf:after{content:\\\"\\\\10f7eb\\\"}.fad.fa-bread-slice:after{content:\\\"\\\\10f7ec\\\"}.fad.fa-briefcase:after{content:\\\"\\\\10f0b1\\\"}.fad.fa-briefcase-medical:after{content:\\\"\\\\10f469\\\"}.fad.fa-bring-forward:after{content:\\\"\\\\10f856\\\"}.fad.fa-bring-front:after{content:\\\"\\\\10f857\\\"}.fad.fa-broadcast-tower:after{content:\\\"\\\\10f519\\\"}.fad.fa-broom:after{content:\\\"\\\\10f51a\\\"}.fad.fa-browser:after{content:\\\"\\\\10f37e\\\"}.fad.fa-brush:after{content:\\\"\\\\10f55d\\\"}.fad.fa-bug:after{content:\\\"\\\\10f188\\\"}.fad.fa-building:after{content:\\\"\\\\10f1ad\\\"}.fad.fa-bullhorn:after{content:\\\"\\\\10f0a1\\\"}.fad.fa-bullseye:after{content:\\\"\\\\10f140\\\"}.fad.fa-bullseye-arrow:after{content:\\\"\\\\10f648\\\"}.fad.fa-bullseye-pointer:after{content:\\\"\\\\10f649\\\"}.fad.fa-burger-soda:after{content:\\\"\\\\10f858\\\"}.fad.fa-burn:after{content:\\\"\\\\10f46a\\\"}.fad.fa-burrito:after{content:\\\"\\\\10f7ed\\\"}.fad.fa-bus:after{content:\\\"\\\\10f207\\\"}.fad.fa-bus-alt:after{content:\\\"\\\\10f55e\\\"}.fad.fa-bus-school:after{content:\\\"\\\\10f5dd\\\"}.fad.fa-business-time:after{content:\\\"\\\\10f64a\\\"}.fad.fa-cabinet-filing:after{content:\\\"\\\\10f64b\\\"}.fad.fa-cactus:after{content:\\\"\\\\10f8a7\\\"}.fad.fa-calculator:after{content:\\\"\\\\10f1ec\\\"}.fad.fa-calculator-alt:after{content:\\\"\\\\10f64c\\\"}.fad.fa-calendar:after{content:\\\"\\\\10f133\\\"}.fad.fa-calendar-alt:after{content:\\\"\\\\10f073\\\"}.fad.fa-calendar-check:after{content:\\\"\\\\10f274\\\"}.fad.fa-calendar-day:after{content:\\\"\\\\10f783\\\"}.fad.fa-calendar-edit:after{content:\\\"\\\\10f333\\\"}.fad.fa-calendar-exclamation:after{content:\\\"\\\\10f334\\\"}.fad.fa-calendar-minus:after{content:\\\"\\\\10f272\\\"}.fad.fa-calendar-plus:after{content:\\\"\\\\10f271\\\"}.fad.fa-calendar-star:after{content:\\\"\\\\10f736\\\"}.fad.fa-calendar-times:after{content:\\\"\\\\10f273\\\"}.fad.fa-calendar-week:after{content:\\\"\\\\10f784\\\"}.fad.fa-camcorder:after{content:\\\"\\\\10f8a8\\\"}.fad.fa-camera:after{content:\\\"\\\\10f030\\\"}.fad.fa-camera-alt:after{content:\\\"\\\\10f332\\\"}.fad.fa-camera-home:after{content:\\\"\\\\10f8fe\\\"}.fad.fa-camera-movie:after{content:\\\"\\\\10f8a9\\\"}.fad.fa-camera-polaroid:after{content:\\\"\\\\10f8aa\\\"}.fad.fa-camera-retro:after{content:\\\"\\\\10f083\\\"}.fad.fa-campfire:after{content:\\\"\\\\10f6ba\\\"}.fad.fa-campground:after{content:\\\"\\\\10f6bb\\\"}.fad.fa-candle-holder:after{content:\\\"\\\\10f6bc\\\"}.fad.fa-candy-cane:after{content:\\\"\\\\10f786\\\"}.fad.fa-candy-corn:after{content:\\\"\\\\10f6bd\\\"}.fad.fa-cannabis:after{content:\\\"\\\\10f55f\\\"}.fad.fa-capsules:after{content:\\\"\\\\10f46b\\\"}.fad.fa-car:after{content:\\\"\\\\10f1b9\\\"}.fad.fa-car-alt:after{content:\\\"\\\\10f5de\\\"}.fad.fa-car-battery:after{content:\\\"\\\\10f5df\\\"}.fad.fa-car-building:after{content:\\\"\\\\10f859\\\"}.fad.fa-car-bump:after{content:\\\"\\\\10f5e0\\\"}.fad.fa-car-bus:after{content:\\\"\\\\10f85a\\\"}.fad.fa-car-crash:after{content:\\\"\\\\10f5e1\\\"}.fad.fa-car-garage:after{content:\\\"\\\\10f5e2\\\"}.fad.fa-car-mechanic:after{content:\\\"\\\\10f5e3\\\"}.fad.fa-car-side:after{content:\\\"\\\\10f5e4\\\"}.fad.fa-car-tilt:after{content:\\\"\\\\10f5e5\\\"}.fad.fa-car-wash:after{content:\\\"\\\\10f5e6\\\"}.fad.fa-caravan:after{content:\\\"\\\\10f8ff\\\"}.fad.fa-caravan-alt:after{content:\\\"\\\\10f900\\\"}.fad.fa-caret-circle-down:after{content:\\\"\\\\10f32d\\\"}.fad.fa-caret-circle-left:after{content:\\\"\\\\10f32e\\\"}.fad.fa-caret-circle-right:after{content:\\\"\\\\10f330\\\"}.fad.fa-caret-circle-up:after{content:\\\"\\\\10f331\\\"}.fad.fa-caret-down:after{content:\\\"\\\\10f0d7\\\"}.fad.fa-caret-left:after{content:\\\"\\\\10f0d9\\\"}.fad.fa-caret-right:after{content:\\\"\\\\10f0da\\\"}.fad.fa-caret-square-down:after{content:\\\"\\\\10f150\\\"}.fad.fa-caret-square-left:after{content:\\\"\\\\10f191\\\"}.fad.fa-caret-square-right:after{content:\\\"\\\\10f152\\\"}.fad.fa-caret-square-up:after{content:\\\"\\\\10f151\\\"}.fad.fa-caret-up:after{content:\\\"\\\\10f0d8\\\"}.fad.fa-carrot:after{content:\\\"\\\\10f787\\\"}.fad.fa-cars:after{content:\\\"\\\\10f85b\\\"}.fad.fa-cart-arrow-down:after{content:\\\"\\\\10f218\\\"}.fad.fa-cart-plus:after{content:\\\"\\\\10f217\\\"}.fad.fa-cash-register:after{content:\\\"\\\\10f788\\\"}.fad.fa-cassette-tape:after{content:\\\"\\\\10f8ab\\\"}.fad.fa-cat:after{content:\\\"\\\\10f6be\\\"}.fad.fa-cat-space:after{content:\\\"\\\\10f901\\\"}.fad.fa-cauldron:after{content:\\\"\\\\10f6bf\\\"}.fad.fa-cctv:after{content:\\\"\\\\10f8ac\\\"}.fad.fa-certificate:after{content:\\\"\\\\10f0a3\\\"}.fad.fa-chair:after{content:\\\"\\\\10f6c0\\\"}.fad.fa-chair-office:after{content:\\\"\\\\10f6c1\\\"}.fad.fa-chalkboard:after{content:\\\"\\\\10f51b\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"\\\\10f51c\\\"}.fad.fa-charging-station:after{content:\\\"\\\\10f5e7\\\"}.fad.fa-chart-area:after{content:\\\"\\\\10f1fe\\\"}.fad.fa-chart-bar:after{content:\\\"\\\\10f080\\\"}.fad.fa-chart-line:after{content:\\\"\\\\10f201\\\"}.fad.fa-chart-line-down:after{content:\\\"\\\\10f64d\\\"}.fad.fa-chart-network:after{content:\\\"\\\\10f78a\\\"}.fad.fa-chart-pie:after{content:\\\"\\\\10f200\\\"}.fad.fa-chart-pie-alt:after{content:\\\"\\\\10f64e\\\"}.fad.fa-chart-scatter:after{content:\\\"\\\\10f7ee\\\"}.fad.fa-check:after{content:\\\"\\\\10f00c\\\"}.fad.fa-check-circle:after{content:\\\"\\\\10f058\\\"}.fad.fa-check-double:after{content:\\\"\\\\10f560\\\"}.fad.fa-check-square:after{content:\\\"\\\\10f14a\\\"}.fad.fa-cheese:after{content:\\\"\\\\10f7ef\\\"}.fad.fa-cheese-swiss:after{content:\\\"\\\\10f7f0\\\"}.fad.fa-cheeseburger:after{content:\\\"\\\\10f7f1\\\"}.fad.fa-chess:after{content:\\\"\\\\10f439\\\"}.fad.fa-chess-bishop:after{content:\\\"\\\\10f43a\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"\\\\10f43b\\\"}.fad.fa-chess-board:after{content:\\\"\\\\10f43c\\\"}.fad.fa-chess-clock:after{content:\\\"\\\\10f43d\\\"}.fad.fa-chess-clock-alt:after{content:\\\"\\\\10f43e\\\"}.fad.fa-chess-king:after{content:\\\"\\\\10f43f\\\"}.fad.fa-chess-king-alt:after{content:\\\"\\\\10f440\\\"}.fad.fa-chess-knight:after{content:\\\"\\\\10f441\\\"}.fad.fa-chess-knight-alt:after{content:\\\"\\\\10f442\\\"}.fad.fa-chess-pawn:after{content:\\\"\\\\10f443\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"\\\\10f444\\\"}.fad.fa-chess-queen:after{content:\\\"\\\\10f445\\\"}.fad.fa-chess-queen-alt:after{content:\\\"\\\\10f446\\\"}.fad.fa-chess-rook:after{content:\\\"\\\\10f447\\\"}.fad.fa-chess-rook-alt:after{content:\\\"\\\\10f448\\\"}.fad.fa-chevron-circle-down:after{content:\\\"\\\\10f13a\\\"}.fad.fa-chevron-circle-left:after{content:\\\"\\\\10f137\\\"}.fad.fa-chevron-circle-right:after{content:\\\"\\\\10f138\\\"}.fad.fa-chevron-circle-up:after{content:\\\"\\\\10f139\\\"}.fad.fa-chevron-double-down:after{content:\\\"\\\\10f322\\\"}.fad.fa-chevron-double-left:after{content:\\\"\\\\10f323\\\"}.fad.fa-chevron-double-right:after{content:\\\"\\\\10f324\\\"}.fad.fa-chevron-double-up:after{content:\\\"\\\\10f325\\\"}.fad.fa-chevron-down:after{content:\\\"\\\\10f078\\\"}.fad.fa-chevron-left:after{content:\\\"\\\\10f053\\\"}.fad.fa-chevron-right:after{content:\\\"\\\\10f054\\\"}.fad.fa-chevron-square-down:after{content:\\\"\\\\10f329\\\"}.fad.fa-chevron-square-left:after{content:\\\"\\\\10f32a\\\"}.fad.fa-chevron-square-right:after{content:\\\"\\\\10f32b\\\"}.fad.fa-chevron-square-up:after{content:\\\"\\\\10f32c\\\"}.fad.fa-chevron-up:after{content:\\\"\\\\10f077\\\"}.fad.fa-child:after{content:\\\"\\\\10f1ae\\\"}.fad.fa-chimney:after{content:\\\"\\\\10f78b\\\"}.fad.fa-church:after{content:\\\"\\\\10f51d\\\"}.fad.fa-circle:after{content:\\\"\\\\10f111\\\"}.fad.fa-circle-notch:after{content:\\\"\\\\10f1ce\\\"}.fad.fa-city:after{content:\\\"\\\\10f64f\\\"}.fad.fa-clarinet:after{content:\\\"\\\\10f8ad\\\"}.fad.fa-claw-marks:after{content:\\\"\\\\10f6c2\\\"}.fad.fa-clinic-medical:after{content:\\\"\\\\10f7f2\\\"}.fad.fa-clipboard:after{content:\\\"\\\\10f328\\\"}.fad.fa-clipboard-check:after{content:\\\"\\\\10f46c\\\"}.fad.fa-clipboard-list:after{content:\\\"\\\\10f46d\\\"}.fad.fa-clipboard-list-check:after{content:\\\"\\\\10f737\\\"}.fad.fa-clipboard-prescription:after{content:\\\"\\\\10f5e8\\\"}.fad.fa-clipboard-user:after{content:\\\"\\\\10f7f3\\\"}.fad.fa-clock:after{content:\\\"\\\\10f017\\\"}.fad.fa-clone:after{content:\\\"\\\\10f24d\\\"}.fad.fa-closed-captioning:after{content:\\\"\\\\10f20a\\\"}.fad.fa-cloud:after{content:\\\"\\\\10f0c2\\\"}.fad.fa-cloud-download:after{content:\\\"\\\\10f0ed\\\"}.fad.fa-cloud-download-alt:after{content:\\\"\\\\10f381\\\"}.fad.fa-cloud-drizzle:after{content:\\\"\\\\10f738\\\"}.fad.fa-cloud-hail:after{content:\\\"\\\\10f739\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"\\\\10f73a\\\"}.fad.fa-cloud-meatball:after{content:\\\"\\\\10f73b\\\"}.fad.fa-cloud-moon:after{content:\\\"\\\\10f6c3\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"\\\\10f73c\\\"}.fad.fa-cloud-music:after{content:\\\"\\\\10f8ae\\\"}.fad.fa-cloud-rain:after{content:\\\"\\\\10f73d\\\"}.fad.fa-cloud-rainbow:after{content:\\\"\\\\10f73e\\\"}.fad.fa-cloud-showers:after{content:\\\"\\\\10f73f\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"\\\\10f740\\\"}.fad.fa-cloud-sleet:after{content:\\\"\\\\10f741\\\"}.fad.fa-cloud-snow:after{content:\\\"\\\\10f742\\\"}.fad.fa-cloud-sun:after{content:\\\"\\\\10f6c4\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"\\\\10f743\\\"}.fad.fa-cloud-upload:after{content:\\\"\\\\10f0ee\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"\\\\10f382\\\"}.fad.fa-clouds:after{content:\\\"\\\\10f744\\\"}.fad.fa-clouds-moon:after{content:\\\"\\\\10f745\\\"}.fad.fa-clouds-sun:after{content:\\\"\\\\10f746\\\"}.fad.fa-club:after{content:\\\"\\\\10f327\\\"}.fad.fa-cocktail:after{content:\\\"\\\\10f561\\\"}.fad.fa-code:after{content:\\\"\\\\10f121\\\"}.fad.fa-code-branch:after{content:\\\"\\\\10f126\\\"}.fad.fa-code-commit:after{content:\\\"\\\\10f386\\\"}.fad.fa-code-merge:after{content:\\\"\\\\10f387\\\"}.fad.fa-coffee:after{content:\\\"\\\\10f0f4\\\"}.fad.fa-coffee-pot:after{content:\\\"\\\\10f902\\\"}.fad.fa-coffee-togo:after{content:\\\"\\\\10f6c5\\\"}.fad.fa-coffin:after{content:\\\"\\\\10f6c6\\\"}.fad.fa-coffin-cross:after{content:\\\"\\\\10f951\\\"}.fad.fa-cog:after{content:\\\"\\\\10f013\\\"}.fad.fa-cogs:after{content:\\\"\\\\10f085\\\"}.fad.fa-coin:after{content:\\\"\\\\10f85c\\\"}.fad.fa-coins:after{content:\\\"\\\\10f51e\\\"}.fad.fa-columns:after{content:\\\"\\\\10f0db\\\"}.fad.fa-comet:after{content:\\\"\\\\10f903\\\"}.fad.fa-comment:after{content:\\\"\\\\10f075\\\"}.fad.fa-comment-alt:after{content:\\\"\\\\10f27a\\\"}.fad.fa-comment-alt-check:after{content:\\\"\\\\10f4a2\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"\\\\10f650\\\"}.fad.fa-comment-alt-dots:after{content:\\\"\\\\10f4a3\\\"}.fad.fa-comment-alt-edit:after{content:\\\"\\\\10f4a4\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"\\\\10f4a5\\\"}.fad.fa-comment-alt-lines:after{content:\\\"\\\\10f4a6\\\"}.fad.fa-comment-alt-medical:after{content:\\\"\\\\10f7f4\\\"}.fad.fa-comment-alt-minus:after{content:\\\"\\\\10f4a7\\\"}.fad.fa-comment-alt-music:after{content:\\\"\\\\10f8af\\\"}.fad.fa-comment-alt-plus:after{content:\\\"\\\\10f4a8\\\"}.fad.fa-comment-alt-slash:after{content:\\\"\\\\10f4a9\\\"}.fad.fa-comment-alt-smile:after{content:\\\"\\\\10f4aa\\\"}.fad.fa-comment-alt-times:after{content:\\\"\\\\10f4ab\\\"}.fad.fa-comment-check:after{content:\\\"\\\\10f4ac\\\"}.fad.fa-comment-dollar:after{content:\\\"\\\\10f651\\\"}.fad.fa-comment-dots:after{content:\\\"\\\\10f4ad\\\"}.fad.fa-comment-edit:after{content:\\\"\\\\10f4ae\\\"}.fad.fa-comment-exclamation:after{content:\\\"\\\\10f4af\\\"}.fad.fa-comment-lines:after{content:\\\"\\\\10f4b0\\\"}.fad.fa-comment-medical:after{content:\\\"\\\\10f7f5\\\"}.fad.fa-comment-minus:after{content:\\\"\\\\10f4b1\\\"}.fad.fa-comment-music:after{content:\\\"\\\\10f8b0\\\"}.fad.fa-comment-plus:after{content:\\\"\\\\10f4b2\\\"}.fad.fa-comment-slash:after{content:\\\"\\\\10f4b3\\\"}.fad.fa-comment-smile:after{content:\\\"\\\\10f4b4\\\"}.fad.fa-comment-times:after{content:\\\"\\\\10f4b5\\\"}.fad.fa-comments:after{content:\\\"\\\\10f086\\\"}.fad.fa-comments-alt:after{content:\\\"\\\\10f4b6\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"\\\\10f652\\\"}.fad.fa-comments-dollar:after{content:\\\"\\\\10f653\\\"}.fad.fa-compact-disc:after{content:\\\"\\\\10f51f\\\"}.fad.fa-compass:after{content:\\\"\\\\10f14e\\\"}.fad.fa-compass-slash:after{content:\\\"\\\\10f5e9\\\"}.fad.fa-compress:after{content:\\\"\\\\10f066\\\"}.fad.fa-compress-alt:after{content:\\\"\\\\10f422\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"\\\\10f78c\\\"}.fad.fa-compress-wide:after{content:\\\"\\\\10f326\\\"}.fad.fa-computer-classic:after{content:\\\"\\\\10f8b1\\\"}.fad.fa-computer-speaker:after{content:\\\"\\\\10f8b2\\\"}.fad.fa-concierge-bell:after{content:\\\"\\\\10f562\\\"}.fad.fa-construction:after{content:\\\"\\\\10f85d\\\"}.fad.fa-container-storage:after{content:\\\"\\\\10f4b7\\\"}.fad.fa-conveyor-belt:after{content:\\\"\\\\10f46e\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"\\\\10f46f\\\"}.fad.fa-cookie:after{content:\\\"\\\\10f563\\\"}.fad.fa-cookie-bite:after{content:\\\"\\\\10f564\\\"}.fad.fa-copy:after{content:\\\"\\\\10f0c5\\\"}.fad.fa-copyright:after{content:\\\"\\\\10f1f9\\\"}.fad.fa-corn:after{content:\\\"\\\\10f6c7\\\"}.fad.fa-couch:after{content:\\\"\\\\10f4b8\\\"}.fad.fa-cow:after{content:\\\"\\\\10f6c8\\\"}.fad.fa-cowbell:after{content:\\\"\\\\10f8b3\\\"}.fad.fa-cowbell-more:after{content:\\\"\\\\10f8b4\\\"}.fad.fa-credit-card:after{content:\\\"\\\\10f09d\\\"}.fad.fa-credit-card-blank:after{content:\\\"\\\\10f389\\\"}.fad.fa-credit-card-front:after{content:\\\"\\\\10f38a\\\"}.fad.fa-cricket:after{content:\\\"\\\\10f449\\\"}.fad.fa-croissant:after{content:\\\"\\\\10f7f6\\\"}.fad.fa-crop:after{content:\\\"\\\\10f125\\\"}.fad.fa-crop-alt:after{content:\\\"\\\\10f565\\\"}.fad.fa-cross:after{content:\\\"\\\\10f654\\\"}.fad.fa-crosshairs:after{content:\\\"\\\\10f05b\\\"}.fad.fa-crow:after{content:\\\"\\\\10f520\\\"}.fad.fa-crown:after{content:\\\"\\\\10f521\\\"}.fad.fa-crutch:after{content:\\\"\\\\10f7f7\\\"}.fad.fa-crutches:after{content:\\\"\\\\10f7f8\\\"}.fad.fa-cube:after{content:\\\"\\\\10f1b2\\\"}.fad.fa-cubes:after{content:\\\"\\\\10f1b3\\\"}.fad.fa-curling:after{content:\\\"\\\\10f44a\\\"}.fad.fa-cut:after{content:\\\"\\\\10f0c4\\\"}.fad.fa-dagger:after{content:\\\"\\\\10f6cb\\\"}.fad.fa-database:after{content:\\\"\\\\10f1c0\\\"}.fad.fa-deaf:after{content:\\\"\\\\10f2a4\\\"}.fad.fa-debug:after{content:\\\"\\\\10f7f9\\\"}.fad.fa-deer:after{content:\\\"\\\\10f78e\\\"}.fad.fa-deer-rudolph:after{content:\\\"\\\\10f78f\\\"}.fad.fa-democrat:after{content:\\\"\\\\10f747\\\"}.fad.fa-desktop:after{content:\\\"\\\\10f108\\\"}.fad.fa-desktop-alt:after{content:\\\"\\\\10f390\\\"}.fad.fa-dewpoint:after{content:\\\"\\\\10f748\\\"}.fad.fa-dharmachakra:after{content:\\\"\\\\10f655\\\"}.fad.fa-diagnoses:after{content:\\\"\\\\10f470\\\"}.fad.fa-diamond:after{content:\\\"\\\\10f219\\\"}.fad.fa-dice:after{content:\\\"\\\\10f522\\\"}.fad.fa-dice-d10:after{content:\\\"\\\\10f6cd\\\"}.fad.fa-dice-d12:after{content:\\\"\\\\10f6ce\\\"}.fad.fa-dice-d20:after{content:\\\"\\\\10f6cf\\\"}.fad.fa-dice-d4:after{content:\\\"\\\\10f6d0\\\"}.fad.fa-dice-d6:after{content:\\\"\\\\10f6d1\\\"}.fad.fa-dice-d8:after{content:\\\"\\\\10f6d2\\\"}.fad.fa-dice-five:after{content:\\\"\\\\10f523\\\"}.fad.fa-dice-four:after{content:\\\"\\\\10f524\\\"}.fad.fa-dice-one:after{content:\\\"\\\\10f525\\\"}.fad.fa-dice-six:after{content:\\\"\\\\10f526\\\"}.fad.fa-dice-three:after{content:\\\"\\\\10f527\\\"}.fad.fa-dice-two:after{content:\\\"\\\\10f528\\\"}.fad.fa-digging:after{content:\\\"\\\\10f85e\\\"}.fad.fa-digital-tachograph:after{content:\\\"\\\\10f566\\\"}.fad.fa-diploma:after{content:\\\"\\\\10f5ea\\\"}.fad.fa-directions:after{content:\\\"\\\\10f5eb\\\"}.fad.fa-disc-drive:after{content:\\\"\\\\10f8b5\\\"}.fad.fa-disease:after{content:\\\"\\\\10f7fa\\\"}.fad.fa-divide:after{content:\\\"\\\\10f529\\\"}.fad.fa-dizzy:after{content:\\\"\\\\10f567\\\"}.fad.fa-dna:after{content:\\\"\\\\10f471\\\"}.fad.fa-do-not-enter:after{content:\\\"\\\\10f5ec\\\"}.fad.fa-dog:after{content:\\\"\\\\10f6d3\\\"}.fad.fa-dog-leashed:after{content:\\\"\\\\10f6d4\\\"}.fad.fa-dollar-sign:after{content:\\\"\\\\10f155\\\"}.fad.fa-dolly:after{content:\\\"\\\\10f472\\\"}.fad.fa-dolly-empty:after{content:\\\"\\\\10f473\\\"}.fad.fa-dolly-flatbed:after{content:\\\"\\\\10f474\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"\\\\10f475\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"\\\\10f476\\\"}.fad.fa-donate:after{content:\\\"\\\\10f4b9\\\"}.fad.fa-door-closed:after{content:\\\"\\\\10f52a\\\"}.fad.fa-door-open:after{content:\\\"\\\\10f52b\\\"}.fad.fa-dot-circle:after{content:\\\"\\\\10f192\\\"}.fad.fa-dove:after{content:\\\"\\\\10f4ba\\\"}.fad.fa-download:after{content:\\\"\\\\10f019\\\"}.fad.fa-drafting-compass:after{content:\\\"\\\\10f568\\\"}.fad.fa-dragon:after{content:\\\"\\\\10f6d5\\\"}.fad.fa-draw-circle:after{content:\\\"\\\\10f5ed\\\"}.fad.fa-draw-polygon:after{content:\\\"\\\\10f5ee\\\"}.fad.fa-draw-square:after{content:\\\"\\\\10f5ef\\\"}.fad.fa-dreidel:after{content:\\\"\\\\10f792\\\"}.fad.fa-drone:after{content:\\\"\\\\10f85f\\\"}.fad.fa-drone-alt:after{content:\\\"\\\\10f860\\\"}.fad.fa-drum:after{content:\\\"\\\\10f569\\\"}.fad.fa-drum-steelpan:after{content:\\\"\\\\10f56a\\\"}.fad.fa-drumstick:after{content:\\\"\\\\10f6d6\\\"}.fad.fa-drumstick-bite:after{content:\\\"\\\\10f6d7\\\"}.fad.fa-dryer:after{content:\\\"\\\\10f861\\\"}.fad.fa-dryer-alt:after{content:\\\"\\\\10f862\\\"}.fad.fa-duck:after{content:\\\"\\\\10f6d8\\\"}.fad.fa-dumbbell:after{content:\\\"\\\\10f44b\\\"}.fad.fa-dumpster:after{content:\\\"\\\\10f793\\\"}.fad.fa-dumpster-fire:after{content:\\\"\\\\10f794\\\"}.fad.fa-dungeon:after{content:\\\"\\\\10f6d9\\\"}.fad.fa-ear:after{content:\\\"\\\\10f5f0\\\"}.fad.fa-ear-muffs:after{content:\\\"\\\\10f795\\\"}.fad.fa-eclipse:after{content:\\\"\\\\10f749\\\"}.fad.fa-eclipse-alt:after{content:\\\"\\\\10f74a\\\"}.fad.fa-edit:after{content:\\\"\\\\10f044\\\"}.fad.fa-egg:after{content:\\\"\\\\10f7fb\\\"}.fad.fa-egg-fried:after{content:\\\"\\\\10f7fc\\\"}.fad.fa-eject:after{content:\\\"\\\\10f052\\\"}.fad.fa-elephant:after{content:\\\"\\\\10f6da\\\"}.fad.fa-ellipsis-h:after{content:\\\"\\\\10f141\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"\\\\10f39b\\\"}.fad.fa-ellipsis-v:after{content:\\\"\\\\10f142\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"\\\\10f39c\\\"}.fad.fa-empty-set:after{content:\\\"\\\\10f656\\\"}.fad.fa-engine-warning:after{content:\\\"\\\\10f5f2\\\"}.fad.fa-envelope:after{content:\\\"\\\\10f0e0\\\"}.fad.fa-envelope-open:after{content:\\\"\\\\10f2b6\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"\\\\10f657\\\"}.fad.fa-envelope-open-text:after{content:\\\"\\\\10f658\\\"}.fad.fa-envelope-square:after{content:\\\"\\\\10f199\\\"}.fad.fa-equals:after{content:\\\"\\\\10f52c\\\"}.fad.fa-eraser:after{content:\\\"\\\\10f12d\\\"}.fad.fa-ethernet:after{content:\\\"\\\\10f796\\\"}.fad.fa-euro-sign:after{content:\\\"\\\\10f153\\\"}.fad.fa-exchange:after{content:\\\"\\\\10f0ec\\\"}.fad.fa-exchange-alt:after{content:\\\"\\\\10f362\\\"}.fad.fa-exclamation:after{content:\\\"\\\\10f12a\\\"}.fad.fa-exclamation-circle:after{content:\\\"\\\\10f06a\\\"}.fad.fa-exclamation-square:after{content:\\\"\\\\10f321\\\"}.fad.fa-exclamation-triangle:after{content:\\\"\\\\10f071\\\"}.fad.fa-expand:after{content:\\\"\\\\10f065\\\"}.fad.fa-expand-alt:after{content:\\\"\\\\10f424\\\"}.fad.fa-expand-arrows:after{content:\\\"\\\\10f31d\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"\\\\10f31e\\\"}.fad.fa-expand-wide:after{content:\\\"\\\\10f320\\\"}.fad.fa-external-link:after{content:\\\"\\\\10f08e\\\"}.fad.fa-external-link-alt:after{content:\\\"\\\\10f35d\\\"}.fad.fa-external-link-square:after{content:\\\"\\\\10f14c\\\"}.fad.fa-external-link-square-alt:after{content:\\\"\\\\10f360\\\"}.fad.fa-eye:after{content:\\\"\\\\10f06e\\\"}.fad.fa-eye-dropper:after{content:\\\"\\\\10f1fb\\\"}.fad.fa-eye-evil:after{content:\\\"\\\\10f6db\\\"}.fad.fa-eye-slash:after{content:\\\"\\\\10f070\\\"}.fad.fa-fan:after{content:\\\"\\\\10f863\\\"}.fad.fa-fan-table:after{content:\\\"\\\\10f904\\\"}.fad.fa-farm:after{content:\\\"\\\\10f864\\\"}.fad.fa-fast-backward:after{content:\\\"\\\\10f049\\\"}.fad.fa-fast-forward:after{content:\\\"\\\\10f050\\\"}.fad.fa-faucet:after{content:\\\"\\\\10f905\\\"}.fad.fa-faucet-drip:after{content:\\\"\\\\10f906\\\"}.fad.fa-fax:after{content:\\\"\\\\10f1ac\\\"}.fad.fa-feather:after{content:\\\"\\\\10f52d\\\"}.fad.fa-feather-alt:after{content:\\\"\\\\10f56b\\\"}.fad.fa-female:after{content:\\\"\\\\10f182\\\"}.fad.fa-field-hockey:after{content:\\\"\\\\10f44c\\\"}.fad.fa-fighter-jet:after{content:\\\"\\\\10f0fb\\\"}.fad.fa-file:after{content:\\\"\\\\10f15b\\\"}.fad.fa-file-alt:after{content:\\\"\\\\10f15c\\\"}.fad.fa-file-archive:after{content:\\\"\\\\10f1c6\\\"}.fad.fa-file-audio:after{content:\\\"\\\\10f1c7\\\"}.fad.fa-file-certificate:after{content:\\\"\\\\10f5f3\\\"}.fad.fa-file-chart-line:after{content:\\\"\\\\10f659\\\"}.fad.fa-file-chart-pie:after{content:\\\"\\\\10f65a\\\"}.fad.fa-file-check:after{content:\\\"\\\\10f316\\\"}.fad.fa-file-code:after{content:\\\"\\\\10f1c9\\\"}.fad.fa-file-contract:after{content:\\\"\\\\10f56c\\\"}.fad.fa-file-csv:after{content:\\\"\\\\10f6dd\\\"}.fad.fa-file-download:after{content:\\\"\\\\10f56d\\\"}.fad.fa-file-edit:after{content:\\\"\\\\10f31c\\\"}.fad.fa-file-excel:after{content:\\\"\\\\10f1c3\\\"}.fad.fa-file-exclamation:after{content:\\\"\\\\10f31a\\\"}.fad.fa-file-export:after{content:\\\"\\\\10f56e\\\"}.fad.fa-file-image:after{content:\\\"\\\\10f1c5\\\"}.fad.fa-file-import:after{content:\\\"\\\\10f56f\\\"}.fad.fa-file-invoice:after{content:\\\"\\\\10f570\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"\\\\10f571\\\"}.fad.fa-file-medical:after{content:\\\"\\\\10f477\\\"}.fad.fa-file-medical-alt:after{content:\\\"\\\\10f478\\\"}.fad.fa-file-minus:after{content:\\\"\\\\10f318\\\"}.fad.fa-file-music:after{content:\\\"\\\\10f8b6\\\"}.fad.fa-file-pdf:after{content:\\\"\\\\10f1c1\\\"}.fad.fa-file-plus:after{content:\\\"\\\\10f319\\\"}.fad.fa-file-powerpoint:after{content:\\\"\\\\10f1c4\\\"}.fad.fa-file-prescription:after{content:\\\"\\\\10f572\\\"}.fad.fa-file-search:after{content:\\\"\\\\10f865\\\"}.fad.fa-file-signature:after{content:\\\"\\\\10f573\\\"}.fad.fa-file-spreadsheet:after{content:\\\"\\\\10f65b\\\"}.fad.fa-file-times:after{content:\\\"\\\\10f317\\\"}.fad.fa-file-upload:after{content:\\\"\\\\10f574\\\"}.fad.fa-file-user:after{content:\\\"\\\\10f65c\\\"}.fad.fa-file-video:after{content:\\\"\\\\10f1c8\\\"}.fad.fa-file-word:after{content:\\\"\\\\10f1c2\\\"}.fad.fa-files-medical:after{content:\\\"\\\\10f7fd\\\"}.fad.fa-fill:after{content:\\\"\\\\10f575\\\"}.fad.fa-fill-drip:after{content:\\\"\\\\10f576\\\"}.fad.fa-film:after{content:\\\"\\\\10f008\\\"}.fad.fa-film-alt:after{content:\\\"\\\\10f3a0\\\"}.fad.fa-film-canister:after{content:\\\"\\\\10f8b7\\\"}.fad.fa-filter:after{content:\\\"\\\\10f0b0\\\"}.fad.fa-fingerprint:after{content:\\\"\\\\10f577\\\"}.fad.fa-fire:after{content:\\\"\\\\10f06d\\\"}.fad.fa-fire-alt:after{content:\\\"\\\\10f7e4\\\"}.fad.fa-fire-extinguisher:after{content:\\\"\\\\10f134\\\"}.fad.fa-fire-smoke:after{content:\\\"\\\\10f74b\\\"}.fad.fa-fireplace:after{content:\\\"\\\\10f79a\\\"}.fad.fa-first-aid:after{content:\\\"\\\\10f479\\\"}.fad.fa-fish:after{content:\\\"\\\\10f578\\\"}.fad.fa-fish-cooked:after{content:\\\"\\\\10f7fe\\\"}.fad.fa-fist-raised:after{content:\\\"\\\\10f6de\\\"}.fad.fa-flag:after{content:\\\"\\\\10f024\\\"}.fad.fa-flag-alt:after{content:\\\"\\\\10f74c\\\"}.fad.fa-flag-checkered:after{content:\\\"\\\\10f11e\\\"}.fad.fa-flag-usa:after{content:\\\"\\\\10f74d\\\"}.fad.fa-flame:after{content:\\\"\\\\10f6df\\\"}.fad.fa-flashlight:after{content:\\\"\\\\10f8b8\\\"}.fad.fa-flask:after{content:\\\"\\\\10f0c3\\\"}.fad.fa-flask-poison:after{content:\\\"\\\\10f6e0\\\"}.fad.fa-flask-potion:after{content:\\\"\\\\10f6e1\\\"}.fad.fa-flower:after{content:\\\"\\\\10f7ff\\\"}.fad.fa-flower-daffodil:after{content:\\\"\\\\10f800\\\"}.fad.fa-flower-tulip:after{content:\\\"\\\\10f801\\\"}.fad.fa-flushed:after{content:\\\"\\\\10f579\\\"}.fad.fa-flute:after{content:\\\"\\\\10f8b9\\\"}.fad.fa-flux-capacitor:after{content:\\\"\\\\10f8ba\\\"}.fad.fa-fog:after{content:\\\"\\\\10f74e\\\"}.fad.fa-folder:after{content:\\\"\\\\10f07b\\\"}.fad.fa-folder-download:after{content:\\\"\\\\10f953\\\"}.fad.fa-folder-minus:after{content:\\\"\\\\10f65d\\\"}.fad.fa-folder-open:after{content:\\\"\\\\10f07c\\\"}.fad.fa-folder-plus:after{content:\\\"\\\\10f65e\\\"}.fad.fa-folder-times:after{content:\\\"\\\\10f65f\\\"}.fad.fa-folder-tree:after{content:\\\"\\\\10f802\\\"}.fad.fa-folder-upload:after{content:\\\"\\\\10f954\\\"}.fad.fa-folders:after{content:\\\"\\\\10f660\\\"}.fad.fa-font:after{content:\\\"\\\\10f031\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"\\\\10f4e6\\\"}.fad.fa-font-case:after{content:\\\"\\\\10f866\\\"}.fad.fa-football-ball:after{content:\\\"\\\\10f44e\\\"}.fad.fa-football-helmet:after{content:\\\"\\\\10f44f\\\"}.fad.fa-forklift:after{content:\\\"\\\\10f47a\\\"}.fad.fa-forward:after{content:\\\"\\\\10f04e\\\"}.fad.fa-fragile:after{content:\\\"\\\\10f4bb\\\"}.fad.fa-french-fries:after{content:\\\"\\\\10f803\\\"}.fad.fa-frog:after{content:\\\"\\\\10f52e\\\"}.fad.fa-frosty-head:after{content:\\\"\\\\10f79b\\\"}.fad.fa-frown:after{content:\\\"\\\\10f119\\\"}.fad.fa-frown-open:after{content:\\\"\\\\10f57a\\\"}.fad.fa-function:after{content:\\\"\\\\10f661\\\"}.fad.fa-funnel-dollar:after{content:\\\"\\\\10f662\\\"}.fad.fa-futbol:after{content:\\\"\\\\10f1e3\\\"}.fad.fa-galaxy:after{content:\\\"\\\\10f908\\\"}.fad.fa-game-board:after{content:\\\"\\\\10f867\\\"}.fad.fa-game-board-alt:after{content:\\\"\\\\10f868\\\"}.fad.fa-game-console-handheld:after{content:\\\"\\\\10f8bb\\\"}.fad.fa-gamepad:after{content:\\\"\\\\10f11b\\\"}.fad.fa-gamepad-alt:after{content:\\\"\\\\10f8bc\\\"}.fad.fa-garage:after{content:\\\"\\\\10f909\\\"}.fad.fa-garage-car:after{content:\\\"\\\\10f90a\\\"}.fad.fa-garage-open:after{content:\\\"\\\\10f90b\\\"}.fad.fa-gas-pump:after{content:\\\"\\\\10f52f\\\"}.fad.fa-gas-pump-slash:after{content:\\\"\\\\10f5f4\\\"}.fad.fa-gavel:after{content:\\\"\\\\10f0e3\\\"}.fad.fa-gem:after{content:\\\"\\\\10f3a5\\\"}.fad.fa-genderless:after{content:\\\"\\\\10f22d\\\"}.fad.fa-ghost:after{content:\\\"\\\\10f6e2\\\"}.fad.fa-gift:after{content:\\\"\\\\10f06b\\\"}.fad.fa-gift-card:after{content:\\\"\\\\10f663\\\"}.fad.fa-gifts:after{content:\\\"\\\\10f79c\\\"}.fad.fa-gingerbread-man:after{content:\\\"\\\\10f79d\\\"}.fad.fa-glass:after{content:\\\"\\\\10f804\\\"}.fad.fa-glass-champagne:after{content:\\\"\\\\10f79e\\\"}.fad.fa-glass-cheers:after{content:\\\"\\\\10f79f\\\"}.fad.fa-glass-citrus:after{content:\\\"\\\\10f869\\\"}.fad.fa-glass-martini:after{content:\\\"\\\\10f000\\\"}.fad.fa-glass-martini-alt:after{content:\\\"\\\\10f57b\\\"}.fad.fa-glass-whiskey:after{content:\\\"\\\\10f7a0\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"\\\\10f7a1\\\"}.fad.fa-glasses:after{content:\\\"\\\\10f530\\\"}.fad.fa-glasses-alt:after{content:\\\"\\\\10f5f5\\\"}.fad.fa-globe:after{content:\\\"\\\\10f0ac\\\"}.fad.fa-globe-africa:after{content:\\\"\\\\10f57c\\\"}.fad.fa-globe-americas:after{content:\\\"\\\\10f57d\\\"}.fad.fa-globe-asia:after{content:\\\"\\\\10f57e\\\"}.fad.fa-globe-europe:after{content:\\\"\\\\10f7a2\\\"}.fad.fa-globe-snow:after{content:\\\"\\\\10f7a3\\\"}.fad.fa-globe-stand:after{content:\\\"\\\\10f5f6\\\"}.fad.fa-golf-ball:after{content:\\\"\\\\10f450\\\"}.fad.fa-golf-club:after{content:\\\"\\\\10f451\\\"}.fad.fa-gopuram:after{content:\\\"\\\\10f664\\\"}.fad.fa-graduation-cap:after{content:\\\"\\\\10f19d\\\"}.fad.fa-gramophone:after{content:\\\"\\\\10f8bd\\\"}.fad.fa-greater-than:after{content:\\\"\\\\10f531\\\"}.fad.fa-greater-than-equal:after{content:\\\"\\\\10f532\\\"}.fad.fa-grimace:after{content:\\\"\\\\10f57f\\\"}.fad.fa-grin:after{content:\\\"\\\\10f580\\\"}.fad.fa-grin-alt:after{content:\\\"\\\\10f581\\\"}.fad.fa-grin-beam:after{content:\\\"\\\\10f582\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"\\\\10f583\\\"}.fad.fa-grin-hearts:after{content:\\\"\\\\10f584\\\"}.fad.fa-grin-squint:after{content:\\\"\\\\10f585\\\"}.fad.fa-grin-squint-tears:after{content:\\\"\\\\10f586\\\"}.fad.fa-grin-stars:after{content:\\\"\\\\10f587\\\"}.fad.fa-grin-tears:after{content:\\\"\\\\10f588\\\"}.fad.fa-grin-tongue:after{content:\\\"\\\\10f589\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"\\\\10f58a\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"\\\\10f58b\\\"}.fad.fa-grin-wink:after{content:\\\"\\\\10f58c\\\"}.fad.fa-grip-horizontal:after{content:\\\"\\\\10f58d\\\"}.fad.fa-grip-lines:after{content:\\\"\\\\10f7a4\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"\\\\10f7a5\\\"}.fad.fa-grip-vertical:after{content:\\\"\\\\10f58e\\\"}.fad.fa-guitar:after{content:\\\"\\\\10f7a6\\\"}.fad.fa-guitar-electric:after{content:\\\"\\\\10f8be\\\"}.fad.fa-guitars:after{content:\\\"\\\\10f8bf\\\"}.fad.fa-h-square:after{content:\\\"\\\\10f0fd\\\"}.fad.fa-h1:after{content:\\\"\\\\10f313\\\"}.fad.fa-h2:after{content:\\\"\\\\10f314\\\"}.fad.fa-h3:after{content:\\\"\\\\10f315\\\"}.fad.fa-h4:after{content:\\\"\\\\10f86a\\\"}.fad.fa-hamburger:after{content:\\\"\\\\10f805\\\"}.fad.fa-hammer:after{content:\\\"\\\\10f6e3\\\"}.fad.fa-hammer-war:after{content:\\\"\\\\10f6e4\\\"}.fad.fa-hamsa:after{content:\\\"\\\\10f665\\\"}.fad.fa-hand-heart:after{content:\\\"\\\\10f4bc\\\"}.fad.fa-hand-holding:after{content:\\\"\\\\10f4bd\\\"}.fad.fa-hand-holding-box:after{content:\\\"\\\\10f47b\\\"}.fad.fa-hand-holding-heart:after{content:\\\"\\\\10f4be\\\"}.fad.fa-hand-holding-magic:after{content:\\\"\\\\10f6e5\\\"}.fad.fa-hand-holding-medical:after{content:\\\"\\\\10f95c\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"\\\\10f4bf\\\"}.fad.fa-hand-holding-usd:after{content:\\\"\\\\10f4c0\\\"}.fad.fa-hand-holding-water:after{content:\\\"\\\\10f4c1\\\"}.fad.fa-hand-lizard:after{content:\\\"\\\\10f258\\\"}.fad.fa-hand-middle-finger:after{content:\\\"\\\\10f806\\\"}.fad.fa-hand-paper:after{content:\\\"\\\\10f256\\\"}.fad.fa-hand-peace:after{content:\\\"\\\\10f25b\\\"}.fad.fa-hand-point-down:after{content:\\\"\\\\10f0a7\\\"}.fad.fa-hand-point-left:after{content:\\\"\\\\10f0a5\\\"}.fad.fa-hand-point-right:after{content:\\\"\\\\10f0a4\\\"}.fad.fa-hand-point-up:after{content:\\\"\\\\10f0a6\\\"}.fad.fa-hand-pointer:after{content:\\\"\\\\10f25a\\\"}.fad.fa-hand-receiving:after{content:\\\"\\\\10f47c\\\"}.fad.fa-hand-rock:after{content:\\\"\\\\10f255\\\"}.fad.fa-hand-scissors:after{content:\\\"\\\\10f257\\\"}.fad.fa-hand-sparkles:after{content:\\\"\\\\10f95d\\\"}.fad.fa-hand-spock:after{content:\\\"\\\\10f259\\\"}.fad.fa-hands:after{content:\\\"\\\\10f4c2\\\"}.fad.fa-hands-heart:after{content:\\\"\\\\10f4c3\\\"}.fad.fa-hands-helping:after{content:\\\"\\\\10f4c4\\\"}.fad.fa-hands-usd:after{content:\\\"\\\\10f4c5\\\"}.fad.fa-hands-wash:after{content:\\\"\\\\10f95e\\\"}.fad.fa-handshake:after{content:\\\"\\\\10f2b5\\\"}.fad.fa-handshake-alt:after{content:\\\"\\\\10f4c6\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"\\\\10f95f\\\"}.fad.fa-handshake-slash:after{content:\\\"\\\\10f960\\\"}.fad.fa-hanukiah:after{content:\\\"\\\\10f6e6\\\"}.fad.fa-hard-hat:after{content:\\\"\\\\10f807\\\"}.fad.fa-hashtag:after{content:\\\"\\\\10f292\\\"}.fad.fa-hat-chef:after{content:\\\"\\\\10f86b\\\"}.fad.fa-hat-cowboy:after{content:\\\"\\\\10f8c0\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"\\\\10f8c1\\\"}.fad.fa-hat-santa:after{content:\\\"\\\\10f7a7\\\"}.fad.fa-hat-winter:after{content:\\\"\\\\10f7a8\\\"}.fad.fa-hat-witch:after{content:\\\"\\\\10f6e7\\\"}.fad.fa-hat-wizard:after{content:\\\"\\\\10f6e8\\\"}.fad.fa-hdd:after{content:\\\"\\\\10f0a0\\\"}.fad.fa-head-side:after{content:\\\"\\\\10f6e9\\\"}.fad.fa-head-side-brain:after{content:\\\"\\\\10f808\\\"}.fad.fa-head-side-cough:after{content:\\\"\\\\10f961\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"\\\\10f962\\\"}.fad.fa-head-side-headphones:after{content:\\\"\\\\10f8c2\\\"}.fad.fa-head-side-mask:after{content:\\\"\\\\10f963\\\"}.fad.fa-head-side-medical:after{content:\\\"\\\\10f809\\\"}.fad.fa-head-side-virus:after{content:\\\"\\\\10f964\\\"}.fad.fa-head-vr:after{content:\\\"\\\\10f6ea\\\"}.fad.fa-heading:after{content:\\\"\\\\10f1dc\\\"}.fad.fa-headphones:after{content:\\\"\\\\10f025\\\"}.fad.fa-headphones-alt:after{content:\\\"\\\\10f58f\\\"}.fad.fa-headset:after{content:\\\"\\\\10f590\\\"}.fad.fa-heart:after{content:\\\"\\\\10f004\\\"}.fad.fa-heart-broken:after{content:\\\"\\\\10f7a9\\\"}.fad.fa-heart-circle:after{content:\\\"\\\\10f4c7\\\"}.fad.fa-heart-rate:after{content:\\\"\\\\10f5f8\\\"}.fad.fa-heart-square:after{content:\\\"\\\\10f4c8\\\"}.fad.fa-heartbeat:after{content:\\\"\\\\10f21e\\\"}.fad.fa-heat:after{content:\\\"\\\\10f90c\\\"}.fad.fa-helicopter:after{content:\\\"\\\\10f533\\\"}.fad.fa-helmet-battle:after{content:\\\"\\\\10f6eb\\\"}.fad.fa-hexagon:after{content:\\\"\\\\10f312\\\"}.fad.fa-highlighter:after{content:\\\"\\\\10f591\\\"}.fad.fa-hiking:after{content:\\\"\\\\10f6ec\\\"}.fad.fa-hippo:after{content:\\\"\\\\10f6ed\\\"}.fad.fa-history:after{content:\\\"\\\\10f1da\\\"}.fad.fa-hockey-mask:after{content:\\\"\\\\10f6ee\\\"}.fad.fa-hockey-puck:after{content:\\\"\\\\10f453\\\"}.fad.fa-hockey-sticks:after{content:\\\"\\\\10f454\\\"}.fad.fa-holly-berry:after{content:\\\"\\\\10f7aa\\\"}.fad.fa-home:after{content:\\\"\\\\10f015\\\"}.fad.fa-home-alt:after{content:\\\"\\\\10f80a\\\"}.fad.fa-home-heart:after{content:\\\"\\\\10f4c9\\\"}.fad.fa-home-lg:after{content:\\\"\\\\10f80b\\\"}.fad.fa-home-lg-alt:after{content:\\\"\\\\10f80c\\\"}.fad.fa-hood-cloak:after{content:\\\"\\\\10f6ef\\\"}.fad.fa-horizontal-rule:after{content:\\\"\\\\10f86c\\\"}.fad.fa-horse:after{content:\\\"\\\\10f6f0\\\"}.fad.fa-horse-head:after{content:\\\"\\\\10f7ab\\\"}.fad.fa-horse-saddle:after{content:\\\"\\\\10f8c3\\\"}.fad.fa-hospital:after{content:\\\"\\\\10f0f8\\\"}.fad.fa-hospital-alt:after{content:\\\"\\\\10f47d\\\"}.fad.fa-hospital-symbol:after{content:\\\"\\\\10f47e\\\"}.fad.fa-hospital-user:after{content:\\\"\\\\10f80d\\\"}.fad.fa-hospitals:after{content:\\\"\\\\10f80e\\\"}.fad.fa-hot-tub:after{content:\\\"\\\\10f593\\\"}.fad.fa-hotdog:after{content:\\\"\\\\10f80f\\\"}.fad.fa-hotel:after{content:\\\"\\\\10f594\\\"}.fad.fa-hourglass:after{content:\\\"\\\\10f254\\\"}.fad.fa-hourglass-end:after{content:\\\"\\\\10f253\\\"}.fad.fa-hourglass-half:after{content:\\\"\\\\10f252\\\"}.fad.fa-hourglass-start:after{content:\\\"\\\\10f251\\\"}.fad.fa-house:after{content:\\\"\\\\10f90d\\\"}.fad.fa-house-damage:after{content:\\\"\\\\10f6f1\\\"}.fad.fa-house-day:after{content:\\\"\\\\10f90e\\\"}.fad.fa-house-flood:after{content:\\\"\\\\10f74f\\\"}.fad.fa-house-leave:after{content:\\\"\\\\10f90f\\\"}.fad.fa-house-night:after{content:\\\"\\\\10f910\\\"}.fad.fa-house-return:after{content:\\\"\\\\10f911\\\"}.fad.fa-house-signal:after{content:\\\"\\\\10f912\\\"}.fad.fa-house-user:after{content:\\\"\\\\10f965\\\"}.fad.fa-hryvnia:after{content:\\\"\\\\10f6f2\\\"}.fad.fa-humidity:after{content:\\\"\\\\10f750\\\"}.fad.fa-hurricane:after{content:\\\"\\\\10f751\\\"}.fad.fa-i-cursor:after{content:\\\"\\\\10f246\\\"}.fad.fa-ice-cream:after{content:\\\"\\\\10f810\\\"}.fad.fa-ice-skate:after{content:\\\"\\\\10f7ac\\\"}.fad.fa-icicles:after{content:\\\"\\\\10f7ad\\\"}.fad.fa-icons:after{content:\\\"\\\\10f86d\\\"}.fad.fa-icons-alt:after{content:\\\"\\\\10f86e\\\"}.fad.fa-id-badge:after{content:\\\"\\\\10f2c1\\\"}.fad.fa-id-card:after{content:\\\"\\\\10f2c2\\\"}.fad.fa-id-card-alt:after{content:\\\"\\\\10f47f\\\"}.fad.fa-igloo:after{content:\\\"\\\\10f7ae\\\"}.fad.fa-image:after{content:\\\"\\\\10f03e\\\"}.fad.fa-image-polaroid:after{content:\\\"\\\\10f8c4\\\"}.fad.fa-images:after{content:\\\"\\\\10f302\\\"}.fad.fa-inbox:after{content:\\\"\\\\10f01c\\\"}.fad.fa-inbox-in:after{content:\\\"\\\\10f310\\\"}.fad.fa-inbox-out:after{content:\\\"\\\\10f311\\\"}.fad.fa-indent:after{content:\\\"\\\\10f03c\\\"}.fad.fa-industry:after{content:\\\"\\\\10f275\\\"}.fad.fa-industry-alt:after{content:\\\"\\\\10f3b3\\\"}.fad.fa-infinity:after{content:\\\"\\\\10f534\\\"}.fad.fa-info:after{content:\\\"\\\\10f129\\\"}.fad.fa-info-circle:after{content:\\\"\\\\10f05a\\\"}.fad.fa-info-square:after{content:\\\"\\\\10f30f\\\"}.fad.fa-inhaler:after{content:\\\"\\\\10f5f9\\\"}.fad.fa-integral:after{content:\\\"\\\\10f667\\\"}.fad.fa-intersection:after{content:\\\"\\\\10f668\\\"}.fad.fa-inventory:after{content:\\\"\\\\10f480\\\"}.fad.fa-island-tropical:after{content:\\\"\\\\10f811\\\"}.fad.fa-italic:after{content:\\\"\\\\10f033\\\"}.fad.fa-jack-o-lantern:after{content:\\\"\\\\10f30e\\\"}.fad.fa-jedi:after{content:\\\"\\\\10f669\\\"}.fad.fa-joint:after{content:\\\"\\\\10f595\\\"}.fad.fa-journal-whills:after{content:\\\"\\\\10f66a\\\"}.fad.fa-joystick:after{content:\\\"\\\\10f8c5\\\"}.fad.fa-jug:after{content:\\\"\\\\10f8c6\\\"}.fad.fa-kaaba:after{content:\\\"\\\\10f66b\\\"}.fad.fa-kazoo:after{content:\\\"\\\\10f8c7\\\"}.fad.fa-kerning:after{content:\\\"\\\\10f86f\\\"}.fad.fa-key:after{content:\\\"\\\\10f084\\\"}.fad.fa-key-skeleton:after{content:\\\"\\\\10f6f3\\\"}.fad.fa-keyboard:after{content:\\\"\\\\10f11c\\\"}.fad.fa-keynote:after{content:\\\"\\\\10f66c\\\"}.fad.fa-khanda:after{content:\\\"\\\\10f66d\\\"}.fad.fa-kidneys:after{content:\\\"\\\\10f5fb\\\"}.fad.fa-kiss:after{content:\\\"\\\\10f596\\\"}.fad.fa-kiss-beam:after{content:\\\"\\\\10f597\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"\\\\10f598\\\"}.fad.fa-kite:after{content:\\\"\\\\10f6f4\\\"}.fad.fa-kiwi-bird:after{content:\\\"\\\\10f535\\\"}.fad.fa-knife-kitchen:after{content:\\\"\\\\10f6f5\\\"}.fad.fa-lambda:after{content:\\\"\\\\10f66e\\\"}.fad.fa-lamp:after{content:\\\"\\\\10f4ca\\\"}.fad.fa-lamp-desk:after{content:\\\"\\\\10f914\\\"}.fad.fa-lamp-floor:after{content:\\\"\\\\10f915\\\"}.fad.fa-landmark:after{content:\\\"\\\\10f66f\\\"}.fad.fa-landmark-alt:after{content:\\\"\\\\10f752\\\"}.fad.fa-language:after{content:\\\"\\\\10f1ab\\\"}.fad.fa-laptop:after{content:\\\"\\\\10f109\\\"}.fad.fa-laptop-code:after{content:\\\"\\\\10f5fc\\\"}.fad.fa-laptop-house:after{content:\\\"\\\\10f966\\\"}.fad.fa-laptop-medical:after{content:\\\"\\\\10f812\\\"}.fad.fa-lasso:after{content:\\\"\\\\10f8c8\\\"}.fad.fa-laugh:after{content:\\\"\\\\10f599\\\"}.fad.fa-laugh-beam:after{content:\\\"\\\\10f59a\\\"}.fad.fa-laugh-squint:after{content:\\\"\\\\10f59b\\\"}.fad.fa-laugh-wink:after{content:\\\"\\\\10f59c\\\"}.fad.fa-layer-group:after{content:\\\"\\\\10f5fd\\\"}.fad.fa-layer-minus:after{content:\\\"\\\\10f5fe\\\"}.fad.fa-layer-plus:after{content:\\\"\\\\10f5ff\\\"}.fad.fa-leaf:after{content:\\\"\\\\10f06c\\\"}.fad.fa-leaf-heart:after{content:\\\"\\\\10f4cb\\\"}.fad.fa-leaf-maple:after{content:\\\"\\\\10f6f6\\\"}.fad.fa-leaf-oak:after{content:\\\"\\\\10f6f7\\\"}.fad.fa-lemon:after{content:\\\"\\\\10f094\\\"}.fad.fa-less-than:after{content:\\\"\\\\10f536\\\"}.fad.fa-less-than-equal:after{content:\\\"\\\\10f537\\\"}.fad.fa-level-down:after{content:\\\"\\\\10f149\\\"}.fad.fa-level-down-alt:after{content:\\\"\\\\10f3be\\\"}.fad.fa-level-up:after{content:\\\"\\\\10f148\\\"}.fad.fa-level-up-alt:after{content:\\\"\\\\10f3bf\\\"}.fad.fa-life-ring:after{content:\\\"\\\\10f1cd\\\"}.fad.fa-light-ceiling:after{content:\\\"\\\\10f916\\\"}.fad.fa-light-switch:after{content:\\\"\\\\10f917\\\"}.fad.fa-light-switch-off:after{content:\\\"\\\\10f918\\\"}.fad.fa-light-switch-on:after{content:\\\"\\\\10f919\\\"}.fad.fa-lightbulb:after{content:\\\"\\\\10f0eb\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"\\\\10f670\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"\\\\10f671\\\"}.fad.fa-lightbulb-on:after{content:\\\"\\\\10f672\\\"}.fad.fa-lightbulb-slash:after{content:\\\"\\\\10f673\\\"}.fad.fa-lights-holiday:after{content:\\\"\\\\10f7b2\\\"}.fad.fa-line-columns:after{content:\\\"\\\\10f870\\\"}.fad.fa-line-height:after{content:\\\"\\\\10f871\\\"}.fad.fa-link:after{content:\\\"\\\\10f0c1\\\"}.fad.fa-lips:after{content:\\\"\\\\10f600\\\"}.fad.fa-lira-sign:after{content:\\\"\\\\10f195\\\"}.fad.fa-list:after{content:\\\"\\\\10f03a\\\"}.fad.fa-list-alt:after{content:\\\"\\\\10f022\\\"}.fad.fa-list-music:after{content:\\\"\\\\10f8c9\\\"}.fad.fa-list-ol:after{content:\\\"\\\\10f0cb\\\"}.fad.fa-list-ul:after{content:\\\"\\\\10f0ca\\\"}.fad.fa-location:after{content:\\\"\\\\10f601\\\"}.fad.fa-location-arrow:after{content:\\\"\\\\10f124\\\"}.fad.fa-location-circle:after{content:\\\"\\\\10f602\\\"}.fad.fa-location-slash:after{content:\\\"\\\\10f603\\\"}.fad.fa-lock:after{content:\\\"\\\\10f023\\\"}.fad.fa-lock-alt:after{content:\\\"\\\\10f30d\\\"}.fad.fa-lock-open:after{content:\\\"\\\\10f3c1\\\"}.fad.fa-lock-open-alt:after{content:\\\"\\\\10f3c2\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"\\\\10f309\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"\\\\10f30a\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"\\\\10f30b\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"\\\\10f30c\\\"}.fad.fa-long-arrow-down:after{content:\\\"\\\\10f175\\\"}.fad.fa-long-arrow-left:after{content:\\\"\\\\10f177\\\"}.fad.fa-long-arrow-right:after{content:\\\"\\\\10f178\\\"}.fad.fa-long-arrow-up:after{content:\\\"\\\\10f176\\\"}.fad.fa-loveseat:after{content:\\\"\\\\10f4cc\\\"}.fad.fa-low-vision:after{content:\\\"\\\\10f2a8\\\"}.fad.fa-luchador:after{content:\\\"\\\\10f455\\\"}.fad.fa-luggage-cart:after{content:\\\"\\\\10f59d\\\"}.fad.fa-lungs:after{content:\\\"\\\\10f604\\\"}.fad.fa-lungs-virus:after{content:\\\"\\\\10f967\\\"}.fad.fa-mace:after{content:\\\"\\\\10f6f8\\\"}.fad.fa-magic:after{content:\\\"\\\\10f0d0\\\"}.fad.fa-magnet:after{content:\\\"\\\\10f076\\\"}.fad.fa-mail-bulk:after{content:\\\"\\\\10f674\\\"}.fad.fa-mailbox:after{content:\\\"\\\\10f813\\\"}.fad.fa-male:after{content:\\\"\\\\10f183\\\"}.fad.fa-mandolin:after{content:\\\"\\\\10f6f9\\\"}.fad.fa-map:after{content:\\\"\\\\10f279\\\"}.fad.fa-map-marked:after{content:\\\"\\\\10f59f\\\"}.fad.fa-map-marked-alt:after{content:\\\"\\\\10f5a0\\\"}.fad.fa-map-marker:after{content:\\\"\\\\10f041\\\"}.fad.fa-map-marker-alt:after{content:\\\"\\\\10f3c5\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"\\\\10f605\\\"}.fad.fa-map-marker-check:after{content:\\\"\\\\10f606\\\"}.fad.fa-map-marker-edit:after{content:\\\"\\\\10f607\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"\\\\10f608\\\"}.fad.fa-map-marker-minus:after{content:\\\"\\\\10f609\\\"}.fad.fa-map-marker-plus:after{content:\\\"\\\\10f60a\\\"}.fad.fa-map-marker-question:after{content:\\\"\\\\10f60b\\\"}.fad.fa-map-marker-slash:after{content:\\\"\\\\10f60c\\\"}.fad.fa-map-marker-smile:after{content:\\\"\\\\10f60d\\\"}.fad.fa-map-marker-times:after{content:\\\"\\\\10f60e\\\"}.fad.fa-map-pin:after{content:\\\"\\\\10f276\\\"}.fad.fa-map-signs:after{content:\\\"\\\\10f277\\\"}.fad.fa-marker:after{content:\\\"\\\\10f5a1\\\"}.fad.fa-mars:after{content:\\\"\\\\10f222\\\"}.fad.fa-mars-double:after{content:\\\"\\\\10f227\\\"}.fad.fa-mars-stroke:after{content:\\\"\\\\10f229\\\"}.fad.fa-mars-stroke-h:after{content:\\\"\\\\10f22b\\\"}.fad.fa-mars-stroke-v:after{content:\\\"\\\\10f22a\\\"}.fad.fa-mask:after{content:\\\"\\\\10f6fa\\\"}.fad.fa-meat:after{content:\\\"\\\\10f814\\\"}.fad.fa-medal:after{content:\\\"\\\\10f5a2\\\"}.fad.fa-medkit:after{content:\\\"\\\\10f0fa\\\"}.fad.fa-megaphone:after{content:\\\"\\\\10f675\\\"}.fad.fa-meh:after{content:\\\"\\\\10f11a\\\"}.fad.fa-meh-blank:after{content:\\\"\\\\10f5a4\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"\\\\10f5a5\\\"}.fad.fa-memory:after{content:\\\"\\\\10f538\\\"}.fad.fa-menorah:after{content:\\\"\\\\10f676\\\"}.fad.fa-mercury:after{content:\\\"\\\\10f223\\\"}.fad.fa-meteor:after{content:\\\"\\\\10f753\\\"}.fad.fa-microchip:after{content:\\\"\\\\10f2db\\\"}.fad.fa-microphone:after{content:\\\"\\\\10f130\\\"}.fad.fa-microphone-alt:after{content:\\\"\\\\10f3c9\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"\\\\10f539\\\"}.fad.fa-microphone-slash:after{content:\\\"\\\\10f131\\\"}.fad.fa-microphone-stand:after{content:\\\"\\\\10f8cb\\\"}.fad.fa-microscope:after{content:\\\"\\\\10f610\\\"}.fad.fa-microwave:after{content:\\\"\\\\10f91b\\\"}.fad.fa-mind-share:after{content:\\\"\\\\10f677\\\"}.fad.fa-minus:after{content:\\\"\\\\10f068\\\"}.fad.fa-minus-circle:after{content:\\\"\\\\10f056\\\"}.fad.fa-minus-hexagon:after{content:\\\"\\\\10f307\\\"}.fad.fa-minus-octagon:after{content:\\\"\\\\10f308\\\"}.fad.fa-minus-square:after{content:\\\"\\\\10f146\\\"}.fad.fa-mistletoe:after{content:\\\"\\\\10f7b4\\\"}.fad.fa-mitten:after{content:\\\"\\\\10f7b5\\\"}.fad.fa-mobile:after{content:\\\"\\\\10f10b\\\"}.fad.fa-mobile-alt:after{content:\\\"\\\\10f3cd\\\"}.fad.fa-mobile-android:after{content:\\\"\\\\10f3ce\\\"}.fad.fa-mobile-android-alt:after{content:\\\"\\\\10f3cf\\\"}.fad.fa-money-bill:after{content:\\\"\\\\10f0d6\\\"}.fad.fa-money-bill-alt:after{content:\\\"\\\\10f3d1\\\"}.fad.fa-money-bill-wave:after{content:\\\"\\\\10f53a\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"\\\\10f53b\\\"}.fad.fa-money-check:after{content:\\\"\\\\10f53c\\\"}.fad.fa-money-check-alt:after{content:\\\"\\\\10f53d\\\"}.fad.fa-money-check-edit:after{content:\\\"\\\\10f872\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"\\\\10f873\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"\\\\10f611\\\"}.fad.fa-monkey:after{content:\\\"\\\\10f6fb\\\"}.fad.fa-monument:after{content:\\\"\\\\10f5a6\\\"}.fad.fa-moon:after{content:\\\"\\\\10f186\\\"}.fad.fa-moon-cloud:after{content:\\\"\\\\10f754\\\"}.fad.fa-moon-stars:after{content:\\\"\\\\10f755\\\"}.fad.fa-mortar-pestle:after{content:\\\"\\\\10f5a7\\\"}.fad.fa-mosque:after{content:\\\"\\\\10f678\\\"}.fad.fa-motorcycle:after{content:\\\"\\\\10f21c\\\"}.fad.fa-mountain:after{content:\\\"\\\\10f6fc\\\"}.fad.fa-mountains:after{content:\\\"\\\\10f6fd\\\"}.fad.fa-mouse:after{content:\\\"\\\\10f8cc\\\"}.fad.fa-mouse-alt:after{content:\\\"\\\\10f8cd\\\"}.fad.fa-mouse-pointer:after{content:\\\"\\\\10f245\\\"}.fad.fa-mp3-player:after{content:\\\"\\\\10f8ce\\\"}.fad.fa-mug:after{content:\\\"\\\\10f874\\\"}.fad.fa-mug-hot:after{content:\\\"\\\\10f7b6\\\"}.fad.fa-mug-marshmallows:after{content:\\\"\\\\10f7b7\\\"}.fad.fa-mug-tea:after{content:\\\"\\\\10f875\\\"}.fad.fa-music:after{content:\\\"\\\\10f001\\\"}.fad.fa-music-alt:after{content:\\\"\\\\10f8cf\\\"}.fad.fa-music-alt-slash:after{content:\\\"\\\\10f8d0\\\"}.fad.fa-music-slash:after{content:\\\"\\\\10f8d1\\\"}.fad.fa-narwhal:after{content:\\\"\\\\10f6fe\\\"}.fad.fa-network-wired:after{content:\\\"\\\\10f6ff\\\"}.fad.fa-neuter:after{content:\\\"\\\\10f22c\\\"}.fad.fa-newspaper:after{content:\\\"\\\\10f1ea\\\"}.fad.fa-not-equal:after{content:\\\"\\\\10f53e\\\"}.fad.fa-notes-medical:after{content:\\\"\\\\10f481\\\"}.fad.fa-object-group:after{content:\\\"\\\\10f247\\\"}.fad.fa-object-ungroup:after{content:\\\"\\\\10f248\\\"}.fad.fa-octagon:after{content:\\\"\\\\10f306\\\"}.fad.fa-oil-can:after{content:\\\"\\\\10f613\\\"}.fad.fa-oil-temp:after{content:\\\"\\\\10f614\\\"}.fad.fa-om:after{content:\\\"\\\\10f679\\\"}.fad.fa-omega:after{content:\\\"\\\\10f67a\\\"}.fad.fa-ornament:after{content:\\\"\\\\10f7b8\\\"}.fad.fa-otter:after{content:\\\"\\\\10f700\\\"}.fad.fa-outdent:after{content:\\\"\\\\10f03b\\\"}.fad.fa-outlet:after{content:\\\"\\\\10f91c\\\"}.fad.fa-oven:after{content:\\\"\\\\10f91d\\\"}.fad.fa-overline:after{content:\\\"\\\\10f876\\\"}.fad.fa-page-break:after{content:\\\"\\\\10f877\\\"}.fad.fa-pager:after{content:\\\"\\\\10f815\\\"}.fad.fa-paint-brush:after{content:\\\"\\\\10f1fc\\\"}.fad.fa-paint-brush-alt:after{content:\\\"\\\\10f5a9\\\"}.fad.fa-paint-roller:after{content:\\\"\\\\10f5aa\\\"}.fad.fa-palette:after{content:\\\"\\\\10f53f\\\"}.fad.fa-pallet:after{content:\\\"\\\\10f482\\\"}.fad.fa-pallet-alt:after{content:\\\"\\\\10f483\\\"}.fad.fa-paper-plane:after{content:\\\"\\\\10f1d8\\\"}.fad.fa-paperclip:after{content:\\\"\\\\10f0c6\\\"}.fad.fa-parachute-box:after{content:\\\"\\\\10f4cd\\\"}.fad.fa-paragraph:after{content:\\\"\\\\10f1dd\\\"}.fad.fa-paragraph-rtl:after{content:\\\"\\\\10f878\\\"}.fad.fa-parking:after{content:\\\"\\\\10f540\\\"}.fad.fa-parking-circle:after{content:\\\"\\\\10f615\\\"}.fad.fa-parking-circle-slash:after{content:\\\"\\\\10f616\\\"}.fad.fa-parking-slash:after{content:\\\"\\\\10f617\\\"}.fad.fa-passport:after{content:\\\"\\\\10f5ab\\\"}.fad.fa-pastafarianism:after{content:\\\"\\\\10f67b\\\"}.fad.fa-paste:after{content:\\\"\\\\10f0ea\\\"}.fad.fa-pause:after{content:\\\"\\\\10f04c\\\"}.fad.fa-pause-circle:after{content:\\\"\\\\10f28b\\\"}.fad.fa-paw:after{content:\\\"\\\\10f1b0\\\"}.fad.fa-paw-alt:after{content:\\\"\\\\10f701\\\"}.fad.fa-paw-claws:after{content:\\\"\\\\10f702\\\"}.fad.fa-peace:after{content:\\\"\\\\10f67c\\\"}.fad.fa-pegasus:after{content:\\\"\\\\10f703\\\"}.fad.fa-pen:after{content:\\\"\\\\10f304\\\"}.fad.fa-pen-alt:after{content:\\\"\\\\10f305\\\"}.fad.fa-pen-fancy:after{content:\\\"\\\\10f5ac\\\"}.fad.fa-pen-nib:after{content:\\\"\\\\10f5ad\\\"}.fad.fa-pen-square:after{content:\\\"\\\\10f14b\\\"}.fad.fa-pencil:after{content:\\\"\\\\10f040\\\"}.fad.fa-pencil-alt:after{content:\\\"\\\\10f303\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"\\\\10f618\\\"}.fad.fa-pencil-ruler:after{content:\\\"\\\\10f5ae\\\"}.fad.fa-pennant:after{content:\\\"\\\\10f456\\\"}.fad.fa-people-arrows:after{content:\\\"\\\\10f968\\\"}.fad.fa-people-carry:after{content:\\\"\\\\10f4ce\\\"}.fad.fa-pepper-hot:after{content:\\\"\\\\10f816\\\"}.fad.fa-percent:after{content:\\\"\\\\10f295\\\"}.fad.fa-percentage:after{content:\\\"\\\\10f541\\\"}.fad.fa-person-booth:after{content:\\\"\\\\10f756\\\"}.fad.fa-person-carry:after{content:\\\"\\\\10f4cf\\\"}.fad.fa-person-dolly:after{content:\\\"\\\\10f4d0\\\"}.fad.fa-person-dolly-empty:after{content:\\\"\\\\10f4d1\\\"}.fad.fa-person-sign:after{content:\\\"\\\\10f757\\\"}.fad.fa-phone:after{content:\\\"\\\\10f095\\\"}.fad.fa-phone-alt:after{content:\\\"\\\\10f879\\\"}.fad.fa-phone-laptop:after{content:\\\"\\\\10f87a\\\"}.fad.fa-phone-office:after{content:\\\"\\\\10f67d\\\"}.fad.fa-phone-plus:after{content:\\\"\\\\10f4d2\\\"}.fad.fa-phone-rotary:after{content:\\\"\\\\10f8d3\\\"}.fad.fa-phone-slash:after{content:\\\"\\\\10f3dd\\\"}.fad.fa-phone-square:after{content:\\\"\\\\10f098\\\"}.fad.fa-phone-square-alt:after{content:\\\"\\\\10f87b\\\"}.fad.fa-phone-volume:after{content:\\\"\\\\10f2a0\\\"}.fad.fa-photo-video:after{content:\\\"\\\\10f87c\\\"}.fad.fa-pi:after{content:\\\"\\\\10f67e\\\"}.fad.fa-piano:after{content:\\\"\\\\10f8d4\\\"}.fad.fa-piano-keyboard:after{content:\\\"\\\\10f8d5\\\"}.fad.fa-pie:after{content:\\\"\\\\10f705\\\"}.fad.fa-pig:after{content:\\\"\\\\10f706\\\"}.fad.fa-piggy-bank:after{content:\\\"\\\\10f4d3\\\"}.fad.fa-pills:after{content:\\\"\\\\10f484\\\"}.fad.fa-pizza:after{content:\\\"\\\\10f817\\\"}.fad.fa-pizza-slice:after{content:\\\"\\\\10f818\\\"}.fad.fa-place-of-worship:after{content:\\\"\\\\10f67f\\\"}.fad.fa-plane:after{content:\\\"\\\\10f072\\\"}.fad.fa-plane-alt:after{content:\\\"\\\\10f3de\\\"}.fad.fa-plane-arrival:after{content:\\\"\\\\10f5af\\\"}.fad.fa-plane-departure:after{content:\\\"\\\\10f5b0\\\"}.fad.fa-plane-slash:after{content:\\\"\\\\10f969\\\"}.fad.fa-planet-moon:after{content:\\\"\\\\10f91f\\\"}.fad.fa-planet-ringed:after{content:\\\"\\\\10f920\\\"}.fad.fa-play:after{content:\\\"\\\\10f04b\\\"}.fad.fa-play-circle:after{content:\\\"\\\\10f144\\\"}.fad.fa-plug:after{content:\\\"\\\\10f1e6\\\"}.fad.fa-plus:after{content:\\\"\\\\10f067\\\"}.fad.fa-plus-circle:after{content:\\\"\\\\10f055\\\"}.fad.fa-plus-hexagon:after{content:\\\"\\\\10f300\\\"}.fad.fa-plus-octagon:after{content:\\\"\\\\10f301\\\"}.fad.fa-plus-square:after{content:\\\"\\\\10f0fe\\\"}.fad.fa-podcast:after{content:\\\"\\\\10f2ce\\\"}.fad.fa-podium:after{content:\\\"\\\\10f680\\\"}.fad.fa-podium-star:after{content:\\\"\\\\10f758\\\"}.fad.fa-police-box:after{content:\\\"\\\\10f921\\\"}.fad.fa-poll:after{content:\\\"\\\\10f681\\\"}.fad.fa-poll-h:after{content:\\\"\\\\10f682\\\"}.fad.fa-poll-people:after{content:\\\"\\\\10f759\\\"}.fad.fa-poo:after{content:\\\"\\\\10f2fe\\\"}.fad.fa-poo-storm:after{content:\\\"\\\\10f75a\\\"}.fad.fa-poop:after{content:\\\"\\\\10f619\\\"}.fad.fa-popcorn:after{content:\\\"\\\\10f819\\\"}.fad.fa-portal-enter:after{content:\\\"\\\\10f922\\\"}.fad.fa-portal-exit:after{content:\\\"\\\\10f923\\\"}.fad.fa-portrait:after{content:\\\"\\\\10f3e0\\\"}.fad.fa-pound-sign:after{content:\\\"\\\\10f154\\\"}.fad.fa-power-off:after{content:\\\"\\\\10f011\\\"}.fad.fa-pray:after{content:\\\"\\\\10f683\\\"}.fad.fa-praying-hands:after{content:\\\"\\\\10f684\\\"}.fad.fa-prescription:after{content:\\\"\\\\10f5b1\\\"}.fad.fa-prescription-bottle:after{content:\\\"\\\\10f485\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"\\\\10f486\\\"}.fad.fa-presentation:after{content:\\\"\\\\10f685\\\"}.fad.fa-print:after{content:\\\"\\\\10f02f\\\"}.fad.fa-print-search:after{content:\\\"\\\\10f81a\\\"}.fad.fa-print-slash:after{content:\\\"\\\\10f686\\\"}.fad.fa-procedures:after{content:\\\"\\\\10f487\\\"}.fad.fa-project-diagram:after{content:\\\"\\\\10f542\\\"}.fad.fa-projector:after{content:\\\"\\\\10f8d6\\\"}.fad.fa-pump-medical:after{content:\\\"\\\\10f96a\\\"}.fad.fa-pump-soap:after{content:\\\"\\\\10f96b\\\"}.fad.fa-pumpkin:after{content:\\\"\\\\10f707\\\"}.fad.fa-puzzle-piece:after{content:\\\"\\\\10f12e\\\"}.fad.fa-qrcode:after{content:\\\"\\\\10f029\\\"}.fad.fa-question:after{content:\\\"\\\\10f128\\\"}.fad.fa-question-circle:after{content:\\\"\\\\10f059\\\"}.fad.fa-question-square:after{content:\\\"\\\\10f2fd\\\"}.fad.fa-quidditch:after{content:\\\"\\\\10f458\\\"}.fad.fa-quote-left:after{content:\\\"\\\\10f10d\\\"}.fad.fa-quote-right:after{content:\\\"\\\\10f10e\\\"}.fad.fa-quran:after{content:\\\"\\\\10f687\\\"}.fad.fa-rabbit:after{content:\\\"\\\\10f708\\\"}.fad.fa-rabbit-fast:after{content:\\\"\\\\10f709\\\"}.fad.fa-racquet:after{content:\\\"\\\\10f45a\\\"}.fad.fa-radar:after{content:\\\"\\\\10f924\\\"}.fad.fa-radiation:after{content:\\\"\\\\10f7b9\\\"}.fad.fa-radiation-alt:after{content:\\\"\\\\10f7ba\\\"}.fad.fa-radio:after{content:\\\"\\\\10f8d7\\\"}.fad.fa-radio-alt:after{content:\\\"\\\\10f8d8\\\"}.fad.fa-rainbow:after{content:\\\"\\\\10f75b\\\"}.fad.fa-raindrops:after{content:\\\"\\\\10f75c\\\"}.fad.fa-ram:after{content:\\\"\\\\10f70a\\\"}.fad.fa-ramp-loading:after{content:\\\"\\\\10f4d4\\\"}.fad.fa-random:after{content:\\\"\\\\10f074\\\"}.fad.fa-raygun:after{content:\\\"\\\\10f925\\\"}.fad.fa-receipt:after{content:\\\"\\\\10f543\\\"}.fad.fa-record-vinyl:after{content:\\\"\\\\10f8d9\\\"}.fad.fa-rectangle-landscape:after{content:\\\"\\\\10f2fa\\\"}.fad.fa-rectangle-portrait:after{content:\\\"\\\\10f2fb\\\"}.fad.fa-rectangle-wide:after{content:\\\"\\\\10f2fc\\\"}.fad.fa-recycle:after{content:\\\"\\\\10f1b8\\\"}.fad.fa-redo:after{content:\\\"\\\\10f01e\\\"}.fad.fa-redo-alt:after{content:\\\"\\\\10f2f9\\\"}.fad.fa-refrigerator:after{content:\\\"\\\\10f926\\\"}.fad.fa-registered:after{content:\\\"\\\\10f25d\\\"}.fad.fa-remove-format:after{content:\\\"\\\\10f87d\\\"}.fad.fa-repeat:after{content:\\\"\\\\10f363\\\"}.fad.fa-repeat-1:after{content:\\\"\\\\10f365\\\"}.fad.fa-repeat-1-alt:after{content:\\\"\\\\10f366\\\"}.fad.fa-repeat-alt:after{content:\\\"\\\\10f364\\\"}.fad.fa-reply:after{content:\\\"\\\\10f3e5\\\"}.fad.fa-reply-all:after{content:\\\"\\\\10f122\\\"}.fad.fa-republican:after{content:\\\"\\\\10f75e\\\"}.fad.fa-restroom:after{content:\\\"\\\\10f7bd\\\"}.fad.fa-retweet:after{content:\\\"\\\\10f079\\\"}.fad.fa-retweet-alt:after{content:\\\"\\\\10f361\\\"}.fad.fa-ribbon:after{content:\\\"\\\\10f4d6\\\"}.fad.fa-ring:after{content:\\\"\\\\10f70b\\\"}.fad.fa-rings-wedding:after{content:\\\"\\\\10f81b\\\"}.fad.fa-road:after{content:\\\"\\\\10f018\\\"}.fad.fa-robot:after{content:\\\"\\\\10f544\\\"}.fad.fa-rocket:after{content:\\\"\\\\10f135\\\"}.fad.fa-rocket-launch:after{content:\\\"\\\\10f927\\\"}.fad.fa-route:after{content:\\\"\\\\10f4d7\\\"}.fad.fa-route-highway:after{content:\\\"\\\\10f61a\\\"}.fad.fa-route-interstate:after{content:\\\"\\\\10f61b\\\"}.fad.fa-router:after{content:\\\"\\\\10f8da\\\"}.fad.fa-rss:after{content:\\\"\\\\10f09e\\\"}.fad.fa-rss-square:after{content:\\\"\\\\10f143\\\"}.fad.fa-ruble-sign:after{content:\\\"\\\\10f158\\\"}.fad.fa-ruler:after{content:\\\"\\\\10f545\\\"}.fad.fa-ruler-combined:after{content:\\\"\\\\10f546\\\"}.fad.fa-ruler-horizontal:after{content:\\\"\\\\10f547\\\"}.fad.fa-ruler-triangle:after{content:\\\"\\\\10f61c\\\"}.fad.fa-ruler-vertical:after{content:\\\"\\\\10f548\\\"}.fad.fa-running:after{content:\\\"\\\\10f70c\\\"}.fad.fa-rupee-sign:after{content:\\\"\\\\10f156\\\"}.fad.fa-rv:after{content:\\\"\\\\10f7be\\\"}.fad.fa-sack:after{content:\\\"\\\\10f81c\\\"}.fad.fa-sack-dollar:after{content:\\\"\\\\10f81d\\\"}.fad.fa-sad-cry:after{content:\\\"\\\\10f5b3\\\"}.fad.fa-sad-tear:after{content:\\\"\\\\10f5b4\\\"}.fad.fa-salad:after{content:\\\"\\\\10f81e\\\"}.fad.fa-sandwich:after{content:\\\"\\\\10f81f\\\"}.fad.fa-satellite:after{content:\\\"\\\\10f7bf\\\"}.fad.fa-satellite-dish:after{content:\\\"\\\\10f7c0\\\"}.fad.fa-sausage:after{content:\\\"\\\\10f820\\\"}.fad.fa-save:after{content:\\\"\\\\10f0c7\\\"}.fad.fa-sax-hot:after{content:\\\"\\\\10f8db\\\"}.fad.fa-saxophone:after{content:\\\"\\\\10f8dc\\\"}.fad.fa-scalpel:after{content:\\\"\\\\10f61d\\\"}.fad.fa-scalpel-path:after{content:\\\"\\\\10f61e\\\"}.fad.fa-scanner:after{content:\\\"\\\\10f488\\\"}.fad.fa-scanner-image:after{content:\\\"\\\\10f8f3\\\"}.fad.fa-scanner-keyboard:after{content:\\\"\\\\10f489\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"\\\\10f48a\\\"}.fad.fa-scarecrow:after{content:\\\"\\\\10f70d\\\"}.fad.fa-scarf:after{content:\\\"\\\\10f7c1\\\"}.fad.fa-school:after{content:\\\"\\\\10f549\\\"}.fad.fa-screwdriver:after{content:\\\"\\\\10f54a\\\"}.fad.fa-scroll:after{content:\\\"\\\\10f70e\\\"}.fad.fa-scroll-old:after{content:\\\"\\\\10f70f\\\"}.fad.fa-scrubber:after{content:\\\"\\\\10f2f8\\\"}.fad.fa-scythe:after{content:\\\"\\\\10f710\\\"}.fad.fa-sd-card:after{content:\\\"\\\\10f7c2\\\"}.fad.fa-search:after{content:\\\"\\\\10f002\\\"}.fad.fa-search-dollar:after{content:\\\"\\\\10f688\\\"}.fad.fa-search-location:after{content:\\\"\\\\10f689\\\"}.fad.fa-search-minus:after{content:\\\"\\\\10f010\\\"}.fad.fa-search-plus:after{content:\\\"\\\\10f00e\\\"}.fad.fa-seedling:after{content:\\\"\\\\10f4d8\\\"}.fad.fa-send-back:after{content:\\\"\\\\10f87e\\\"}.fad.fa-send-backward:after{content:\\\"\\\\10f87f\\\"}.fad.fa-sensor:after{content:\\\"\\\\10f928\\\"}.fad.fa-sensor-alert:after{content:\\\"\\\\10f929\\\"}.fad.fa-sensor-fire:after{content:\\\"\\\\10f92a\\\"}.fad.fa-sensor-on:after{content:\\\"\\\\10f92b\\\"}.fad.fa-sensor-smoke:after{content:\\\"\\\\10f92c\\\"}.fad.fa-server:after{content:\\\"\\\\10f233\\\"}.fad.fa-shapes:after{content:\\\"\\\\10f61f\\\"}.fad.fa-share:after{content:\\\"\\\\10f064\\\"}.fad.fa-share-all:after{content:\\\"\\\\10f367\\\"}.fad.fa-share-alt:after{content:\\\"\\\\10f1e0\\\"}.fad.fa-share-alt-square:after{content:\\\"\\\\10f1e1\\\"}.fad.fa-share-square:after{content:\\\"\\\\10f14d\\\"}.fad.fa-sheep:after{content:\\\"\\\\10f711\\\"}.fad.fa-shekel-sign:after{content:\\\"\\\\10f20b\\\"}.fad.fa-shield:after{content:\\\"\\\\10f132\\\"}.fad.fa-shield-alt:after{content:\\\"\\\\10f3ed\\\"}.fad.fa-shield-check:after{content:\\\"\\\\10f2f7\\\"}.fad.fa-shield-cross:after{content:\\\"\\\\10f712\\\"}.fad.fa-shield-virus:after{content:\\\"\\\\10f96c\\\"}.fad.fa-ship:after{content:\\\"\\\\10f21a\\\"}.fad.fa-shipping-fast:after{content:\\\"\\\\10f48b\\\"}.fad.fa-shipping-timed:after{content:\\\"\\\\10f48c\\\"}.fad.fa-shish-kebab:after{content:\\\"\\\\10f821\\\"}.fad.fa-shoe-prints:after{content:\\\"\\\\10f54b\\\"}.fad.fa-shopping-bag:after{content:\\\"\\\\10f290\\\"}.fad.fa-shopping-basket:after{content:\\\"\\\\10f291\\\"}.fad.fa-shopping-cart:after{content:\\\"\\\\10f07a\\\"}.fad.fa-shovel:after{content:\\\"\\\\10f713\\\"}.fad.fa-shovel-snow:after{content:\\\"\\\\10f7c3\\\"}.fad.fa-shower:after{content:\\\"\\\\10f2cc\\\"}.fad.fa-shredder:after{content:\\\"\\\\10f68a\\\"}.fad.fa-shuttle-van:after{content:\\\"\\\\10f5b6\\\"}.fad.fa-shuttlecock:after{content:\\\"\\\\10f45b\\\"}.fad.fa-sickle:after{content:\\\"\\\\10f822\\\"}.fad.fa-sigma:after{content:\\\"\\\\10f68b\\\"}.fad.fa-sign:after{content:\\\"\\\\10f4d9\\\"}.fad.fa-sign-in:after{content:\\\"\\\\10f090\\\"}.fad.fa-sign-in-alt:after{content:\\\"\\\\10f2f6\\\"}.fad.fa-sign-language:after{content:\\\"\\\\10f2a7\\\"}.fad.fa-sign-out:after{content:\\\"\\\\10f08b\\\"}.fad.fa-sign-out-alt:after{content:\\\"\\\\10f2f5\\\"}.fad.fa-signal:after{content:\\\"\\\\10f012\\\"}.fad.fa-signal-1:after{content:\\\"\\\\10f68c\\\"}.fad.fa-signal-2:after{content:\\\"\\\\10f68d\\\"}.fad.fa-signal-3:after{content:\\\"\\\\10f68e\\\"}.fad.fa-signal-4:after{content:\\\"\\\\10f68f\\\"}.fad.fa-signal-alt:after{content:\\\"\\\\10f690\\\"}.fad.fa-signal-alt-1:after{content:\\\"\\\\10f691\\\"}.fad.fa-signal-alt-2:after{content:\\\"\\\\10f692\\\"}.fad.fa-signal-alt-3:after{content:\\\"\\\\10f693\\\"}.fad.fa-signal-alt-slash:after{content:\\\"\\\\10f694\\\"}.fad.fa-signal-slash:after{content:\\\"\\\\10f695\\\"}.fad.fa-signal-stream:after{content:\\\"\\\\10f8dd\\\"}.fad.fa-signature:after{content:\\\"\\\\10f5b7\\\"}.fad.fa-sim-card:after{content:\\\"\\\\10f7c4\\\"}.fad.fa-sink:after{content:\\\"\\\\10f96d\\\"}.fad.fa-siren:after{content:\\\"\\\\10f92d\\\"}.fad.fa-siren-on:after{content:\\\"\\\\10f92e\\\"}.fad.fa-sitemap:after{content:\\\"\\\\10f0e8\\\"}.fad.fa-skating:after{content:\\\"\\\\10f7c5\\\"}.fad.fa-skeleton:after{content:\\\"\\\\10f620\\\"}.fad.fa-ski-jump:after{content:\\\"\\\\10f7c7\\\"}.fad.fa-ski-lift:after{content:\\\"\\\\10f7c8\\\"}.fad.fa-skiing:after{content:\\\"\\\\10f7c9\\\"}.fad.fa-skiing-nordic:after{content:\\\"\\\\10f7ca\\\"}.fad.fa-skull:after{content:\\\"\\\\10f54c\\\"}.fad.fa-skull-cow:after{content:\\\"\\\\10f8de\\\"}.fad.fa-skull-crossbones:after{content:\\\"\\\\10f714\\\"}.fad.fa-slash:after{content:\\\"\\\\10f715\\\"}.fad.fa-sledding:after{content:\\\"\\\\10f7cb\\\"}.fad.fa-sleigh:after{content:\\\"\\\\10f7cc\\\"}.fad.fa-sliders-h:after{content:\\\"\\\\10f1de\\\"}.fad.fa-sliders-h-square:after{content:\\\"\\\\10f3f0\\\"}.fad.fa-sliders-v:after{content:\\\"\\\\10f3f1\\\"}.fad.fa-sliders-v-square:after{content:\\\"\\\\10f3f2\\\"}.fad.fa-smile:after{content:\\\"\\\\10f118\\\"}.fad.fa-smile-beam:after{content:\\\"\\\\10f5b8\\\"}.fad.fa-smile-plus:after{content:\\\"\\\\10f5b9\\\"}.fad.fa-smile-wink:after{content:\\\"\\\\10f4da\\\"}.fad.fa-smog:after{content:\\\"\\\\10f75f\\\"}.fad.fa-smoke:after{content:\\\"\\\\10f760\\\"}.fad.fa-smoking:after{content:\\\"\\\\10f48d\\\"}.fad.fa-smoking-ban:after{content:\\\"\\\\10f54d\\\"}.fad.fa-sms:after{content:\\\"\\\\10f7cd\\\"}.fad.fa-snake:after{content:\\\"\\\\10f716\\\"}.fad.fa-snooze:after{content:\\\"\\\\10f880\\\"}.fad.fa-snow-blowing:after{content:\\\"\\\\10f761\\\"}.fad.fa-snowboarding:after{content:\\\"\\\\10f7ce\\\"}.fad.fa-snowflake:after{content:\\\"\\\\10f2dc\\\"}.fad.fa-snowflakes:after{content:\\\"\\\\10f7cf\\\"}.fad.fa-snowman:after{content:\\\"\\\\10f7d0\\\"}.fad.fa-snowmobile:after{content:\\\"\\\\10f7d1\\\"}.fad.fa-snowplow:after{content:\\\"\\\\10f7d2\\\"}.fad.fa-soap:after{content:\\\"\\\\10f96e\\\"}.fad.fa-socks:after{content:\\\"\\\\10f696\\\"}.fad.fa-solar-panel:after{content:\\\"\\\\10f5ba\\\"}.fad.fa-solar-system:after{content:\\\"\\\\10f92f\\\"}.fad.fa-sort:after{content:\\\"\\\\10f0dc\\\"}.fad.fa-sort-alpha-down:after{content:\\\"\\\\10f15d\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"\\\\10f881\\\"}.fad.fa-sort-alpha-up:after{content:\\\"\\\\10f15e\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"\\\\10f882\\\"}.fad.fa-sort-alt:after{content:\\\"\\\\10f883\\\"}.fad.fa-sort-amount-down:after{content:\\\"\\\\10f160\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"\\\\10f884\\\"}.fad.fa-sort-amount-up:after{content:\\\"\\\\10f161\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"\\\\10f885\\\"}.fad.fa-sort-circle:after{content:\\\"\\\\10f930\\\"}.fad.fa-sort-circle-down:after{content:\\\"\\\\10f931\\\"}.fad.fa-sort-circle-up:after{content:\\\"\\\\10f932\\\"}.fad.fa-sort-down:after{content:\\\"\\\\10f0dd\\\"}.fad.fa-sort-numeric-down:after{content:\\\"\\\\10f162\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"\\\\10f886\\\"}.fad.fa-sort-numeric-up:after{content:\\\"\\\\10f163\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"\\\\10f887\\\"}.fad.fa-sort-shapes-down:after{content:\\\"\\\\10f888\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"\\\\10f889\\\"}.fad.fa-sort-shapes-up:after{content:\\\"\\\\10f88a\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"\\\\10f88b\\\"}.fad.fa-sort-size-down:after{content:\\\"\\\\10f88c\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"\\\\10f88d\\\"}.fad.fa-sort-size-up:after{content:\\\"\\\\10f88e\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"\\\\10f88f\\\"}.fad.fa-sort-up:after{content:\\\"\\\\10f0de\\\"}.fad.fa-soup:after{content:\\\"\\\\10f823\\\"}.fad.fa-spa:after{content:\\\"\\\\10f5bb\\\"}.fad.fa-space-shuttle:after{content:\\\"\\\\10f197\\\"}.fad.fa-space-station-moon:after{content:\\\"\\\\10f933\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"\\\\10f934\\\"}.fad.fa-spade:after{content:\\\"\\\\10f2f4\\\"}.fad.fa-sparkles:after{content:\\\"\\\\10f890\\\"}.fad.fa-speaker:after{content:\\\"\\\\10f8df\\\"}.fad.fa-speakers:after{content:\\\"\\\\10f8e0\\\"}.fad.fa-spell-check:after{content:\\\"\\\\10f891\\\"}.fad.fa-spider:after{content:\\\"\\\\10f717\\\"}.fad.fa-spider-black-widow:after{content:\\\"\\\\10f718\\\"}.fad.fa-spider-web:after{content:\\\"\\\\10f719\\\"}.fad.fa-spinner:after{content:\\\"\\\\10f110\\\"}.fad.fa-spinner-third:after{content:\\\"\\\\10f3f4\\\"}.fad.fa-splotch:after{content:\\\"\\\\10f5bc\\\"}.fad.fa-spray-can:after{content:\\\"\\\\10f5bd\\\"}.fad.fa-sprinkler:after{content:\\\"\\\\10f935\\\"}.fad.fa-square:after{content:\\\"\\\\10f0c8\\\"}.fad.fa-square-full:after{content:\\\"\\\\10f45c\\\"}.fad.fa-square-root:after{content:\\\"\\\\10f697\\\"}.fad.fa-square-root-alt:after{content:\\\"\\\\10f698\\\"}.fad.fa-squirrel:after{content:\\\"\\\\10f71a\\\"}.fad.fa-staff:after{content:\\\"\\\\10f71b\\\"}.fad.fa-stamp:after{content:\\\"\\\\10f5bf\\\"}.fad.fa-star:after{content:\\\"\\\\10f005\\\"}.fad.fa-star-and-crescent:after{content:\\\"\\\\10f699\\\"}.fad.fa-star-christmas:after{content:\\\"\\\\10f7d4\\\"}.fad.fa-star-exclamation:after{content:\\\"\\\\10f2f3\\\"}.fad.fa-star-half:after{content:\\\"\\\\10f089\\\"}.fad.fa-star-half-alt:after{content:\\\"\\\\10f5c0\\\"}.fad.fa-star-of-david:after{content:\\\"\\\\10f69a\\\"}.fad.fa-star-of-life:after{content:\\\"\\\\10f621\\\"}.fad.fa-star-shooting:after{content:\\\"\\\\10f936\\\"}.fad.fa-starfighter:after{content:\\\"\\\\10f937\\\"}.fad.fa-starfighter-alt:after{content:\\\"\\\\10f938\\\"}.fad.fa-stars:after{content:\\\"\\\\10f762\\\"}.fad.fa-starship:after{content:\\\"\\\\10f939\\\"}.fad.fa-starship-freighter:after{content:\\\"\\\\10f93a\\\"}.fad.fa-steak:after{content:\\\"\\\\10f824\\\"}.fad.fa-steering-wheel:after{content:\\\"\\\\10f622\\\"}.fad.fa-step-backward:after{content:\\\"\\\\10f048\\\"}.fad.fa-step-forward:after{content:\\\"\\\\10f051\\\"}.fad.fa-stethoscope:after{content:\\\"\\\\10f0f1\\\"}.fad.fa-sticky-note:after{content:\\\"\\\\10f249\\\"}.fad.fa-stocking:after{content:\\\"\\\\10f7d5\\\"}.fad.fa-stomach:after{content:\\\"\\\\10f623\\\"}.fad.fa-stop:after{content:\\\"\\\\10f04d\\\"}.fad.fa-stop-circle:after{content:\\\"\\\\10f28d\\\"}.fad.fa-stopwatch:after{content:\\\"\\\\10f2f2\\\"}.fad.fa-stopwatch-20:after{content:\\\"\\\\10f96f\\\"}.fad.fa-store:after{content:\\\"\\\\10f54e\\\"}.fad.fa-store-alt:after{content:\\\"\\\\10f54f\\\"}.fad.fa-store-alt-slash:after{content:\\\"\\\\10f970\\\"}.fad.fa-store-slash:after{content:\\\"\\\\10f971\\\"}.fad.fa-stream:after{content:\\\"\\\\10f550\\\"}.fad.fa-street-view:after{content:\\\"\\\\10f21d\\\"}.fad.fa-stretcher:after{content:\\\"\\\\10f825\\\"}.fad.fa-strikethrough:after{content:\\\"\\\\10f0cc\\\"}.fad.fa-stroopwafel:after{content:\\\"\\\\10f551\\\"}.fad.fa-subscript:after{content:\\\"\\\\10f12c\\\"}.fad.fa-subway:after{content:\\\"\\\\10f239\\\"}.fad.fa-suitcase:after{content:\\\"\\\\10f0f2\\\"}.fad.fa-suitcase-rolling:after{content:\\\"\\\\10f5c1\\\"}.fad.fa-sun:after{content:\\\"\\\\10f185\\\"}.fad.fa-sun-cloud:after{content:\\\"\\\\10f763\\\"}.fad.fa-sun-dust:after{content:\\\"\\\\10f764\\\"}.fad.fa-sun-haze:after{content:\\\"\\\\10f765\\\"}.fad.fa-sunglasses:after{content:\\\"\\\\10f892\\\"}.fad.fa-sunrise:after{content:\\\"\\\\10f766\\\"}.fad.fa-sunset:after{content:\\\"\\\\10f767\\\"}.fad.fa-superscript:after{content:\\\"\\\\10f12b\\\"}.fad.fa-surprise:after{content:\\\"\\\\10f5c2\\\"}.fad.fa-swatchbook:after{content:\\\"\\\\10f5c3\\\"}.fad.fa-swimmer:after{content:\\\"\\\\10f5c4\\\"}.fad.fa-swimming-pool:after{content:\\\"\\\\10f5c5\\\"}.fad.fa-sword:after{content:\\\"\\\\10f71c\\\"}.fad.fa-sword-laser:after{content:\\\"\\\\10f93b\\\"}.fad.fa-sword-laser-alt:after{content:\\\"\\\\10f93c\\\"}.fad.fa-swords:after{content:\\\"\\\\10f71d\\\"}.fad.fa-swords-laser:after{content:\\\"\\\\10f93d\\\"}.fad.fa-synagogue:after{content:\\\"\\\\10f69b\\\"}.fad.fa-sync:after{content:\\\"\\\\10f021\\\"}.fad.fa-sync-alt:after{content:\\\"\\\\10f2f1\\\"}.fad.fa-syringe:after{content:\\\"\\\\10f48e\\\"}.fad.fa-table:after{content:\\\"\\\\10f0ce\\\"}.fad.fa-table-tennis:after{content:\\\"\\\\10f45d\\\"}.fad.fa-tablet:after{content:\\\"\\\\10f10a\\\"}.fad.fa-tablet-alt:after{content:\\\"\\\\10f3fa\\\"}.fad.fa-tablet-android:after{content:\\\"\\\\10f3fb\\\"}.fad.fa-tablet-android-alt:after{content:\\\"\\\\10f3fc\\\"}.fad.fa-tablet-rugged:after{content:\\\"\\\\10f48f\\\"}.fad.fa-tablets:after{content:\\\"\\\\10f490\\\"}.fad.fa-tachometer:after{content:\\\"\\\\10f0e4\\\"}.fad.fa-tachometer-alt:after{content:\\\"\\\\10f3fd\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"\\\\10f624\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"\\\\10f625\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"\\\\10f626\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"\\\\10f627\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"\\\\10f628\\\"}.fad.fa-tachometer-average:after{content:\\\"\\\\10f629\\\"}.fad.fa-tachometer-fast:after{content:\\\"\\\\10f62a\\\"}.fad.fa-tachometer-fastest:after{content:\\\"\\\\10f62b\\\"}.fad.fa-tachometer-slow:after{content:\\\"\\\\10f62c\\\"}.fad.fa-tachometer-slowest:after{content:\\\"\\\\10f62d\\\"}.fad.fa-taco:after{content:\\\"\\\\10f826\\\"}.fad.fa-tag:after{content:\\\"\\\\10f02b\\\"}.fad.fa-tags:after{content:\\\"\\\\10f02c\\\"}.fad.fa-tally:after{content:\\\"\\\\10f69c\\\"}.fad.fa-tanakh:after{content:\\\"\\\\10f827\\\"}.fad.fa-tape:after{content:\\\"\\\\10f4db\\\"}.fad.fa-tasks:after{content:\\\"\\\\10f0ae\\\"}.fad.fa-tasks-alt:after{content:\\\"\\\\10f828\\\"}.fad.fa-taxi:after{content:\\\"\\\\10f1ba\\\"}.fad.fa-teeth:after{content:\\\"\\\\10f62e\\\"}.fad.fa-teeth-open:after{content:\\\"\\\\10f62f\\\"}.fad.fa-telescope:after{content:\\\"\\\\10f93e\\\"}.fad.fa-temperature-down:after{content:\\\"\\\\10f93f\\\"}.fad.fa-temperature-frigid:after{content:\\\"\\\\10f768\\\"}.fad.fa-temperature-high:after{content:\\\"\\\\10f769\\\"}.fad.fa-temperature-hot:after{content:\\\"\\\\10f76a\\\"}.fad.fa-temperature-low:after{content:\\\"\\\\10f76b\\\"}.fad.fa-temperature-up:after{content:\\\"\\\\10f940\\\"}.fad.fa-tenge:after{content:\\\"\\\\10f7d7\\\"}.fad.fa-tennis-ball:after{content:\\\"\\\\10f45e\\\"}.fad.fa-terminal:after{content:\\\"\\\\10f120\\\"}.fad.fa-text:after{content:\\\"\\\\10f893\\\"}.fad.fa-text-height:after{content:\\\"\\\\10f034\\\"}.fad.fa-text-size:after{content:\\\"\\\\10f894\\\"}.fad.fa-text-width:after{content:\\\"\\\\10f035\\\"}.fad.fa-th:after{content:\\\"\\\\10f00a\\\"}.fad.fa-th-large:after{content:\\\"\\\\10f009\\\"}.fad.fa-th-list:after{content:\\\"\\\\10f00b\\\"}.fad.fa-theater-masks:after{content:\\\"\\\\10f630\\\"}.fad.fa-thermometer:after{content:\\\"\\\\10f491\\\"}.fad.fa-thermometer-empty:after{content:\\\"\\\\10f2cb\\\"}.fad.fa-thermometer-full:after{content:\\\"\\\\10f2c7\\\"}.fad.fa-thermometer-half:after{content:\\\"\\\\10f2c9\\\"}.fad.fa-thermometer-quarter:after{content:\\\"\\\\10f2ca\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"\\\\10f2c8\\\"}.fad.fa-theta:after{content:\\\"\\\\10f69e\\\"}.fad.fa-thumbs-down:after{content:\\\"\\\\10f165\\\"}.fad.fa-thumbs-up:after{content:\\\"\\\\10f164\\\"}.fad.fa-thumbtack:after{content:\\\"\\\\10f08d\\\"}.fad.fa-thunderstorm:after{content:\\\"\\\\10f76c\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"\\\\10f76d\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"\\\\10f76e\\\"}.fad.fa-ticket:after{content:\\\"\\\\10f145\\\"}.fad.fa-ticket-alt:after{content:\\\"\\\\10f3ff\\\"}.fad.fa-tilde:after{content:\\\"\\\\10f69f\\\"}.fad.fa-times:after{content:\\\"\\\\10f00d\\\"}.fad.fa-times-circle:after{content:\\\"\\\\10f057\\\"}.fad.fa-times-hexagon:after{content:\\\"\\\\10f2ee\\\"}.fad.fa-times-octagon:after{content:\\\"\\\\10f2f0\\\"}.fad.fa-times-square:after{content:\\\"\\\\10f2d3\\\"}.fad.fa-tint:after{content:\\\"\\\\10f043\\\"}.fad.fa-tint-slash:after{content:\\\"\\\\10f5c7\\\"}.fad.fa-tire:after{content:\\\"\\\\10f631\\\"}.fad.fa-tire-flat:after{content:\\\"\\\\10f632\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"\\\\10f633\\\"}.fad.fa-tire-rugged:after{content:\\\"\\\\10f634\\\"}.fad.fa-tired:after{content:\\\"\\\\10f5c8\\\"}.fad.fa-toggle-off:after{content:\\\"\\\\10f204\\\"}.fad.fa-toggle-on:after{content:\\\"\\\\10f205\\\"}.fad.fa-toilet:after{content:\\\"\\\\10f7d8\\\"}.fad.fa-toilet-paper:after{content:\\\"\\\\10f71e\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"\\\\10f71f\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"\\\\10f972\\\"}.fad.fa-tombstone:after{content:\\\"\\\\10f720\\\"}.fad.fa-tombstone-alt:after{content:\\\"\\\\10f721\\\"}.fad.fa-toolbox:after{content:\\\"\\\\10f552\\\"}.fad.fa-tools:after{content:\\\"\\\\10f7d9\\\"}.fad.fa-tooth:after{content:\\\"\\\\10f5c9\\\"}.fad.fa-toothbrush:after{content:\\\"\\\\10f635\\\"}.fad.fa-torah:after{content:\\\"\\\\10f6a0\\\"}.fad.fa-torii-gate:after{content:\\\"\\\\10f6a1\\\"}.fad.fa-tornado:after{content:\\\"\\\\10f76f\\\"}.fad.fa-tractor:after{content:\\\"\\\\10f722\\\"}.fad.fa-trademark:after{content:\\\"\\\\10f25c\\\"}.fad.fa-traffic-cone:after{content:\\\"\\\\10f636\\\"}.fad.fa-traffic-light:after{content:\\\"\\\\10f637\\\"}.fad.fa-traffic-light-go:after{content:\\\"\\\\10f638\\\"}.fad.fa-traffic-light-slow:after{content:\\\"\\\\10f639\\\"}.fad.fa-traffic-light-stop:after{content:\\\"\\\\10f63a\\\"}.fad.fa-trailer:after{content:\\\"\\\\10f941\\\"}.fad.fa-train:after{content:\\\"\\\\10f238\\\"}.fad.fa-tram:after{content:\\\"\\\\10f7da\\\"}.fad.fa-transgender:after{content:\\\"\\\\10f224\\\"}.fad.fa-transgender-alt:after{content:\\\"\\\\10f225\\\"}.fad.fa-transporter:after{content:\\\"\\\\10f942\\\"}.fad.fa-transporter-1:after{content:\\\"\\\\10f943\\\"}.fad.fa-transporter-2:after{content:\\\"\\\\10f944\\\"}.fad.fa-transporter-3:after{content:\\\"\\\\10f945\\\"}.fad.fa-transporter-empty:after{content:\\\"\\\\10f946\\\"}.fad.fa-trash:after{content:\\\"\\\\10f1f8\\\"}.fad.fa-trash-alt:after{content:\\\"\\\\10f2ed\\\"}.fad.fa-trash-restore:after{content:\\\"\\\\10f829\\\"}.fad.fa-trash-restore-alt:after{content:\\\"\\\\10f82a\\\"}.fad.fa-trash-undo:after{content:\\\"\\\\10f895\\\"}.fad.fa-trash-undo-alt:after{content:\\\"\\\\10f896\\\"}.fad.fa-treasure-chest:after{content:\\\"\\\\10f723\\\"}.fad.fa-tree:after{content:\\\"\\\\10f1bb\\\"}.fad.fa-tree-alt:after{content:\\\"\\\\10f400\\\"}.fad.fa-tree-christmas:after{content:\\\"\\\\10f7db\\\"}.fad.fa-tree-decorated:after{content:\\\"\\\\10f7dc\\\"}.fad.fa-tree-large:after{content:\\\"\\\\10f7dd\\\"}.fad.fa-tree-palm:after{content:\\\"\\\\10f82b\\\"}.fad.fa-trees:after{content:\\\"\\\\10f724\\\"}.fad.fa-triangle:after{content:\\\"\\\\10f2ec\\\"}.fad.fa-triangle-music:after{content:\\\"\\\\10f8e2\\\"}.fad.fa-trophy:after{content:\\\"\\\\10f091\\\"}.fad.fa-trophy-alt:after{content:\\\"\\\\10f2eb\\\"}.fad.fa-truck:after{content:\\\"\\\\10f0d1\\\"}.fad.fa-truck-container:after{content:\\\"\\\\10f4dc\\\"}.fad.fa-truck-couch:after{content:\\\"\\\\10f4dd\\\"}.fad.fa-truck-loading:after{content:\\\"\\\\10f4de\\\"}.fad.fa-truck-monster:after{content:\\\"\\\\10f63b\\\"}.fad.fa-truck-moving:after{content:\\\"\\\\10f4df\\\"}.fad.fa-truck-pickup:after{content:\\\"\\\\10f63c\\\"}.fad.fa-truck-plow:after{content:\\\"\\\\10f7de\\\"}.fad.fa-truck-ramp:after{content:\\\"\\\\10f4e0\\\"}.fad.fa-trumpet:after{content:\\\"\\\\10f8e3\\\"}.fad.fa-tshirt:after{content:\\\"\\\\10f553\\\"}.fad.fa-tty:after{content:\\\"\\\\10f1e4\\\"}.fad.fa-turkey:after{content:\\\"\\\\10f725\\\"}.fad.fa-turntable:after{content:\\\"\\\\10f8e4\\\"}.fad.fa-turtle:after{content:\\\"\\\\10f726\\\"}.fad.fa-tv:after{content:\\\"\\\\10f26c\\\"}.fad.fa-tv-alt:after{content:\\\"\\\\10f8e5\\\"}.fad.fa-tv-music:after{content:\\\"\\\\10f8e6\\\"}.fad.fa-tv-retro:after{content:\\\"\\\\10f401\\\"}.fad.fa-typewriter:after{content:\\\"\\\\10f8e7\\\"}.fad.fa-ufo:after{content:\\\"\\\\10f947\\\"}.fad.fa-ufo-beam:after{content:\\\"\\\\10f948\\\"}.fad.fa-umbrella:after{content:\\\"\\\\10f0e9\\\"}.fad.fa-umbrella-beach:after{content:\\\"\\\\10f5ca\\\"}.fad.fa-underline:after{content:\\\"\\\\10f0cd\\\"}.fad.fa-undo:after{content:\\\"\\\\10f0e2\\\"}.fad.fa-undo-alt:after{content:\\\"\\\\10f2ea\\\"}.fad.fa-unicorn:after{content:\\\"\\\\10f727\\\"}.fad.fa-union:after{content:\\\"\\\\10f6a2\\\"}.fad.fa-universal-access:after{content:\\\"\\\\10f29a\\\"}.fad.fa-university:after{content:\\\"\\\\10f19c\\\"}.fad.fa-unlink:after{content:\\\"\\\\10f127\\\"}.fad.fa-unlock:after{content:\\\"\\\\10f09c\\\"}.fad.fa-unlock-alt:after{content:\\\"\\\\10f13e\\\"}.fad.fa-upload:after{content:\\\"\\\\10f093\\\"}.fad.fa-usb-drive:after{content:\\\"\\\\10f8e9\\\"}.fad.fa-usd-circle:after{content:\\\"\\\\10f2e8\\\"}.fad.fa-usd-square:after{content:\\\"\\\\10f2e9\\\"}.fad.fa-user:after{content:\\\"\\\\10f007\\\"}.fad.fa-user-alien:after{content:\\\"\\\\10f94a\\\"}.fad.fa-user-alt:after{content:\\\"\\\\10f406\\\"}.fad.fa-user-alt-slash:after{content:\\\"\\\\10f4fa\\\"}.fad.fa-user-astronaut:after{content:\\\"\\\\10f4fb\\\"}.fad.fa-user-chart:after{content:\\\"\\\\10f6a3\\\"}.fad.fa-user-check:after{content:\\\"\\\\10f4fc\\\"}.fad.fa-user-circle:after{content:\\\"\\\\10f2bd\\\"}.fad.fa-user-clock:after{content:\\\"\\\\10f4fd\\\"}.fad.fa-user-cog:after{content:\\\"\\\\10f4fe\\\"}.fad.fa-user-cowboy:after{content:\\\"\\\\10f8ea\\\"}.fad.fa-user-crown:after{content:\\\"\\\\10f6a4\\\"}.fad.fa-user-edit:after{content:\\\"\\\\10f4ff\\\"}.fad.fa-user-friends:after{content:\\\"\\\\10f500\\\"}.fad.fa-user-graduate:after{content:\\\"\\\\10f501\\\"}.fad.fa-user-hard-hat:after{content:\\\"\\\\10f82c\\\"}.fad.fa-user-headset:after{content:\\\"\\\\10f82d\\\"}.fad.fa-user-injured:after{content:\\\"\\\\10f728\\\"}.fad.fa-user-lock:after{content:\\\"\\\\10f502\\\"}.fad.fa-user-md:after{content:\\\"\\\\10f0f0\\\"}.fad.fa-user-md-chat:after{content:\\\"\\\\10f82e\\\"}.fad.fa-user-minus:after{content:\\\"\\\\10f503\\\"}.fad.fa-user-music:after{content:\\\"\\\\10f8eb\\\"}.fad.fa-user-ninja:after{content:\\\"\\\\10f504\\\"}.fad.fa-user-nurse:after{content:\\\"\\\\10f82f\\\"}.fad.fa-user-plus:after{content:\\\"\\\\10f234\\\"}.fad.fa-user-robot:after{content:\\\"\\\\10f94b\\\"}.fad.fa-user-secret:after{content:\\\"\\\\10f21b\\\"}.fad.fa-user-shield:after{content:\\\"\\\\10f505\\\"}.fad.fa-user-slash:after{content:\\\"\\\\10f506\\\"}.fad.fa-user-tag:after{content:\\\"\\\\10f507\\\"}.fad.fa-user-tie:after{content:\\\"\\\\10f508\\\"}.fad.fa-user-times:after{content:\\\"\\\\10f235\\\"}.fad.fa-user-unlock:after{content:\\\"\\\\10f958\\\"}.fad.fa-user-visor:after{content:\\\"\\\\10f94c\\\"}.fad.fa-users:after{content:\\\"\\\\10f0c0\\\"}.fad.fa-users-class:after{content:\\\"\\\\10f63d\\\"}.fad.fa-users-cog:after{content:\\\"\\\\10f509\\\"}.fad.fa-users-crown:after{content:\\\"\\\\10f6a5\\\"}.fad.fa-users-medical:after{content:\\\"\\\\10f830\\\"}.fad.fa-users-slash:after{content:\\\"\\\\10f973\\\"}.fad.fa-utensil-fork:after{content:\\\"\\\\10f2e3\\\"}.fad.fa-utensil-knife:after{content:\\\"\\\\10f2e4\\\"}.fad.fa-utensil-spoon:after{content:\\\"\\\\10f2e5\\\"}.fad.fa-utensils:after{content:\\\"\\\\10f2e7\\\"}.fad.fa-utensils-alt:after{content:\\\"\\\\10f2e6\\\"}.fad.fa-vacuum:after{content:\\\"\\\\10f94d\\\"}.fad.fa-vacuum-robot:after{content:\\\"\\\\10f94e\\\"}.fad.fa-value-absolute:after{content:\\\"\\\\10f6a6\\\"}.fad.fa-vector-square:after{content:\\\"\\\\10f5cb\\\"}.fad.fa-venus:after{content:\\\"\\\\10f221\\\"}.fad.fa-venus-double:after{content:\\\"\\\\10f226\\\"}.fad.fa-venus-mars:after{content:\\\"\\\\10f228\\\"}.fad.fa-vhs:after{content:\\\"\\\\10f8ec\\\"}.fad.fa-vial:after{content:\\\"\\\\10f492\\\"}.fad.fa-vials:after{content:\\\"\\\\10f493\\\"}.fad.fa-video:after{content:\\\"\\\\10f03d\\\"}.fad.fa-video-plus:after{content:\\\"\\\\10f4e1\\\"}.fad.fa-video-slash:after{content:\\\"\\\\10f4e2\\\"}.fad.fa-vihara:after{content:\\\"\\\\10f6a7\\\"}.fad.fa-violin:after{content:\\\"\\\\10f8ed\\\"}.fad.fa-virus:after{content:\\\"\\\\10f974\\\"}.fad.fa-virus-slash:after{content:\\\"\\\\10f975\\\"}.fad.fa-viruses:after{content:\\\"\\\\10f976\\\"}.fad.fa-voicemail:after{content:\\\"\\\\10f897\\\"}.fad.fa-volcano:after{content:\\\"\\\\10f770\\\"}.fad.fa-volleyball-ball:after{content:\\\"\\\\10f45f\\\"}.fad.fa-volume:after{content:\\\"\\\\10f6a8\\\"}.fad.fa-volume-down:after{content:\\\"\\\\10f027\\\"}.fad.fa-volume-mute:after{content:\\\"\\\\10f6a9\\\"}.fad.fa-volume-off:after{content:\\\"\\\\10f026\\\"}.fad.fa-volume-slash:after{content:\\\"\\\\10f2e2\\\"}.fad.fa-volume-up:after{content:\\\"\\\\10f028\\\"}.fad.fa-vote-nay:after{content:\\\"\\\\10f771\\\"}.fad.fa-vote-yea:after{content:\\\"\\\\10f772\\\"}.fad.fa-vr-cardboard:after{content:\\\"\\\\10f729\\\"}.fad.fa-wagon-covered:after{content:\\\"\\\\10f8ee\\\"}.fad.fa-walker:after{content:\\\"\\\\10f831\\\"}.fad.fa-walkie-talkie:after{content:\\\"\\\\10f8ef\\\"}.fad.fa-walking:after{content:\\\"\\\\10f554\\\"}.fad.fa-wallet:after{content:\\\"\\\\10f555\\\"}.fad.fa-wand:after{content:\\\"\\\\10f72a\\\"}.fad.fa-wand-magic:after{content:\\\"\\\\10f72b\\\"}.fad.fa-warehouse:after{content:\\\"\\\\10f494\\\"}.fad.fa-warehouse-alt:after{content:\\\"\\\\10f495\\\"}.fad.fa-washer:after{content:\\\"\\\\10f898\\\"}.fad.fa-watch:after{content:\\\"\\\\10f2e1\\\"}.fad.fa-watch-calculator:after{content:\\\"\\\\10f8f0\\\"}.fad.fa-watch-fitness:after{content:\\\"\\\\10f63e\\\"}.fad.fa-water:after{content:\\\"\\\\10f773\\\"}.fad.fa-water-lower:after{content:\\\"\\\\10f774\\\"}.fad.fa-water-rise:after{content:\\\"\\\\10f775\\\"}.fad.fa-wave-sine:after{content:\\\"\\\\10f899\\\"}.fad.fa-wave-square:after{content:\\\"\\\\10f83e\\\"}.fad.fa-wave-triangle:after{content:\\\"\\\\10f89a\\\"}.fad.fa-waveform:after{content:\\\"\\\\10f8f1\\\"}.fad.fa-waveform-path:after{content:\\\"\\\\10f8f2\\\"}.fad.fa-webcam:after{content:\\\"\\\\10f832\\\"}.fad.fa-webcam-slash:after{content:\\\"\\\\10f833\\\"}.fad.fa-weight:after{content:\\\"\\\\10f496\\\"}.fad.fa-weight-hanging:after{content:\\\"\\\\10f5cd\\\"}.fad.fa-whale:after{content:\\\"\\\\10f72c\\\"}.fad.fa-wheat:after{content:\\\"\\\\10f72d\\\"}.fad.fa-wheelchair:after{content:\\\"\\\\10f193\\\"}.fad.fa-whistle:after{content:\\\"\\\\10f460\\\"}.fad.fa-wifi:after{content:\\\"\\\\10f1eb\\\"}.fad.fa-wifi-1:after{content:\\\"\\\\10f6aa\\\"}.fad.fa-wifi-2:after{content:\\\"\\\\10f6ab\\\"}.fad.fa-wifi-slash:after{content:\\\"\\\\10f6ac\\\"}.fad.fa-wind:after{content:\\\"\\\\10f72e\\\"}.fad.fa-wind-turbine:after{content:\\\"\\\\10f89b\\\"}.fad.fa-wind-warning:after{content:\\\"\\\\10f776\\\"}.fad.fa-window:after{content:\\\"\\\\10f40e\\\"}.fad.fa-window-alt:after{content:\\\"\\\\10f40f\\\"}.fad.fa-window-close:after{content:\\\"\\\\10f410\\\"}.fad.fa-window-frame:after{content:\\\"\\\\10f94f\\\"}.fad.fa-window-frame-open:after{content:\\\"\\\\10f950\\\"}.fad.fa-window-maximize:after{content:\\\"\\\\10f2d0\\\"}.fad.fa-window-minimize:after{content:\\\"\\\\10f2d1\\\"}.fad.fa-window-restore:after{content:\\\"\\\\10f2d2\\\"}.fad.fa-windsock:after{content:\\\"\\\\10f777\\\"}.fad.fa-wine-bottle:after{content:\\\"\\\\10f72f\\\"}.fad.fa-wine-glass:after{content:\\\"\\\\10f4e3\\\"}.fad.fa-wine-glass-alt:after{content:\\\"\\\\10f5ce\\\"}.fad.fa-won-sign:after{content:\\\"\\\\10f159\\\"}.fad.fa-wreath:after{content:\\\"\\\\10f7e2\\\"}.fad.fa-wrench:after{content:\\\"\\\\10f0ad\\\"}.fad.fa-x-ray:after{content:\\\"\\\\10f497\\\"}.fad.fa-yen-sign:after{content:\\\"\\\\10f157\\\"}.fad.fa-yin-yang:after{content:\\\"\\\\10f6ad\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(/src/static/webfonts/fa-light-300.eot);src:url(/src/static/webfonts/fa-light-300.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-light-300.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-light-300.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-light-300.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-light-300.svg#fontawesome) format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-regular-400.eot);src:url(/src/static/webfonts/fa-regular-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-regular-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-regular-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-regular-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-regular-400.svg#fontawesome) format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-solid-900.eot);src:url(/src/static/webfonts/fa-solid-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-solid-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-solid-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-solid-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-solid-900.svg#fontawesome) format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}\",\"$ka-flex-pad: 1rem\\n\\nka-flex-row,\\nka-flex-col\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  padding-left: $ka-flex-pad\\n  padding-right: $ka-flex-pad\\n\\nka-flex-row\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: horizontal\\n  -webkit-flex-direction: row\\n  -moz-flex-direction: row\\n  -ms-flex-direction: row\\n  flex-direction: row\\n\\nka-flex-col\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: vertical\\n  -webkit-flex-direction: column\\n  -moz-flex-direction: column\\n  -ms-flex-direction: column\\n  flex-direction: column\\n\\n  -webkit-align-content: flex-start\\n  -moz-align-content: flex-start\\n  -ms-flex-line-pack: start\\n  align-content: flex-start\\n  -webkit-box-pack: start\\n  -ms-flex-pack: start\\n  -webkit-justify-content: flex-start\\n  -moz-justify-content: flex-start\\n  justify-content: flex-start\\n\\n[ka-flex],\\nka-flex-row > ka-flex-col\\n  -webkit-box-flex: 1\\n  -webkit-flex: 1\\n  -moz-box-flex: 1\\n  -moz-flex: 1\\n  -ms-flex: 1\\n  flex: 1\\n\\nka-flex-row > ka-flex-col,\\nka-flex-col > ka-flex-row\\n  padding: 0\\n\\nka-flex-row > ka-flex-col > ka-flex-row\\n  width: 100%\\n\\nka-flex-row > [ka-flex],\\nka-flex-row > ka-flex-col\\n  margin-left: $ka-flex-pad/2\\n  margin-right: $ka-flex-pad/2\\n  &:first-of-type\\n    margin-left: 0\\n  &:last-of-type\\n    margin-right: 0\\nka-flex-row.no-padding > [ka-flex],\\nka-flex-row.no-padding > ka-flex-col\\n  margin-left: 0\\n  margin-right: 0\\n\\nka-flex-row.no-padding,\\nka-flex-col.no-padding\\n  padding: 0\\n\\n\\nka-flex-row > ka-tabs[ka-flex]\\n  margin-left: 0\\n  margin-right: 0\\n\\n/**********************\\n  KA-CONTROL VARIATIONS\\n **********************/\\n\\nka-flex-row > ka-control:first-of-type\\n  margin-left: 0\\nka-flex-row > ka-control:last-of-type\\n  margin-right: 0\\nka-flex-col > ka-control\\n  margin-left: 0\\n  margin-right: 0\\n\\n@import 'ka-grid'\",\"\\n@media (min-width:0) {\\n  [ka-flex*=\\\"10\\\"],\\n  [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10-xs\\\"] {\\n    width: 10%;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15\\\"],\\n  [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20\\\"],\\n  [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25\\\"],\\n  [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30\\\"],\\n  [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33\\\"],\\n  [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35\\\"],\\n  [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40\\\"],\\n  [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45\\\"],\\n  [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50\\\"],\\n  [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55\\\"],\\n  [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60\\\"],\\n  [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65\\\"],\\n  [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66\\\"],\\n  [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70\\\"],\\n  [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"] {\\n    height: calc(70% - $ka-flex-pad*2);\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75\\\"],\\n  [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - $ka-flex-pad*2);\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80\\\"],\\n  [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85\\\"],\\n  [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90\\\"],\\n  [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95\\\"],\\n  [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100\\\"],\\n  [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:34em) {\\n  [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:48em) {\\n  [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:62em) {\\n  [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:75em) {\\n  [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\",\"ka-navbar\\n  +flexbox\\n  padding: 0\\n  height: 5rem\\n  color: #fff\\n  background-color: $primary-color\\n\\n  .ka-navbar-menu-button\\n    position: relative\\n    display: block\\n\\n    width: 5rem\\n    height: 5rem\\n    text-align: center\\n    cursor: pointer\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      right: 0\\n      top: 1rem\\n      bottom: 1rem\\n      width: 1px\\n      background-color: #ffffff99\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: 5rem/2\\n      line-height:  5rem\\n\\n  .ka-navbar-menu\\n    display: block\\n    position: absolute\\n    top: 5rem/10\\n    left: 0\\n    z-index: 50\\n    min-width: 20rem\\n    background: #f9f9f9\\n    transform: translateX(-110%)\\n    transition: all 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    +shadow1\\n    &.visible\\n      transform: translateX(0%)\\n    .ka-navbar-menu-label\\n      padding: 0 1rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 4rem\\n      text-transform: uppercase\\n      color: $primary-color\\n\\n    .ka-navbar-menu-item\\n      display: block\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0 1rem\\n      line-height: 4rem\\n      font-size: 1.4rem\\n      color: rgba($text-color, 0.7)\\n      text-decoration: none\\n      transition: all 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n        background-color: #f0f0f0\\n      &.emphasis\\n        color: $primary-color\\n      .material-icons, i[class*=\\\"fa\\\"]\\n        width: 5rem - 5rem/10\\n        font-size: 2rem\\n        line-height: 5rem - 5rem/10\\n        text-align: center\\n        vertical-align: middle\\n  h1\\n    display: block\\n    margin: 0\\n    padding: 0 1rem\\n    font-size: 1.8rem\\n    font-weight: 300\\n    line-height: 5rem\\n    color: #ffffff\\n\",\"=flexbox\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n\\n=shadow1\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"ka-input, md-input\\n  display: block\\n  box-sizing: border-box\\n  position: relative\\n  margin: 1.5rem 0\\n  width: 100%\\n  height: 3rem\\n  color: $text-color\\n  background-color: #ffffff\\n  box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  transition: all 0.5s\\n\\n  &.type-editor\\n    height: auto\\n\\n  &.type-textarea\\n    height: 3rem*3\\n    > textarea\\n      padding: 7px auto 7px 7px\\n      height: 3rem*3\\n      resize: none\\n  &.type-checklist\\n    height: auto\\n    background-color: transparent\\n    box-shadow: none !important\\n\\n  &.error\\n    background-color: #ffffff\\n    box-shadow: inset 0 -1px 0 0 red\\n    > label\\n      color: red\\n  &.focus, &.focus:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n  &:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n\\n  &.readonly, &.readonly.focus, &.readonly:hover\\n    background-color: transparent\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n\\n  &.type-checkbox,\\n  &.type-checkbox.error,\\n  &.type-checkbox.focus,\\n  &.type-checkbox.focus:hover,\\n  &.type-checkbox:hover,\\n  &.type-checkbox.readonly,\\n  &.type-checkbox.readonly.focus,\\n  &.type-checkbox.readonly:hover\\n    box-shadow: none\\n    background-color: transparent\\n  &.type-checkbox > .ka-input-checkbox-description\\n    display: inline-block\\n    position: absolute\\n    left: 0\\n    overflow: hidden\\n    padding-left: 21px\\n    max-width: 100%\\n    line-height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\\n  &.type-checkbox.readonly\\n    > input, > .ka-input-checkbox-description\\n      opacity: 0.7\\n  &.type-checkbox.expand\\n    height: fit-content\\n    > .ka-input-checkbox-description\\n      position: static\\n      white-space: normal\\n      line-height: 2rem\\n      margin-top: 6px\\n\\n\\n  > label\\n    display: block\\n    position: absolute\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    line-height: 1.5rem\\n    font-size: 12px\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    text-overflow: ellipsis\\n    transform: translateY(-1.5rem)\\n  &.show-label-overflow > label\\n    overflow: visible\\n  &.no-label > label\\n    display: none\\n  > .ka-input-error\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba(red, 0.7)\\n    transform: translateY(1.5rem)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  > .ka-input-description\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba($text-color, 0.5)\\n    text-align: right\\n    transform: translateY(1.5rem)\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  &.readonly > .ka-input-description\\n    opacity: 0\\n  > .ka-input-error + .ka-input-description\\n    opacity: 0\\n  &.required label::after\\n    content: \\\" *\\\"\\n\\n  > .ka-input[type], > .ka-input-combo .ka-input, > textarea\\n    display: block\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0\\n    padding-left: 7px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    &:focus\\n      border: 0 !important\\n    &.pad1\\n      padding-right: 1*3rem\\n    &.pad2\\n      padding-right: 2*3rem\\n    &.pad3\\n      padding-right: 3*3rem\\n  > .ka-input[type], > .ka-input-combo .ka-input\\n    &[type=\\\"checkbox\\\"]\\n      display: block\\n      margin-top: 8px\\n      width: 14px\\n      height: 14px\\n      border-radius: 1px\\n      box-shadow: inset 0 0 0 1px $text-color\\n      &:checked\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n    &[type=\\\"file\\\"]\\n      opacity: 0\\n      z-index: 2\\n      &[readonly]\\n        display: none\\n      & + [type=\\\"text\\\"]\\n\\n  &.error > .ka-input[type=\\\"checkbox\\\"]\\n    box-shadow: inset 0 0 0 1px red\\n    &:checked\\n      box-shadow: inset 0 0 0 1px red, inset 0 0 0 3px #fff\\n\\n  &.readonly > .ka-input[type], &.readonly > .ka-input-combo .ka-input, &.readonly > textarea\\n    padding-left: 0\\n    &.pad1, &.pad2, &.pad3\\n      padding-right: 0\\n  &.readonly button\\n    display: none\\n\\n  &.type-file.readonly > .ka-input[type=\\\"text\\\"],\\n  &.type-combo.readonly > .ka-input-combo > .ka-input[type=\\\"text\\\"]\\n    padding-right: 3rem\\n  &.readonly button.download,\\n  &.readonly button.download:focus,\\n  &.readonly button.open,\\n  &.readonly button.open:focus\\n    display: inline-block\\n    right: 0\\n\\n  .ka-input-combo\\n    display: block\\n    position: absolute\\n    top: 0\\n    width: 100%\\n    > .ka-input\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n  .ka-input-editor\\n    height: 200px\\n\\n  .ka-input-button, .ka-input-button:focus\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    display: inline-block\\n    top: 0\\n    right: 0\\n    margin: 0\\n    outline: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-radius: 0\\n    padding: 0\\n    width: 3rem\\n    height: 3rem\\n    z-index: 2\\n    font-size: 14px\\n    line-height: 3rem\\n    text-align: center\\n    background: transparent\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: inherit\\n      line-height: inherit\\n      color: inherit\\n    &:hover\\n      color: $primary-color\\n    &.hide\\n      display: block !important\\n    &.open, &.add, &.show, &.hide, &.download, &.dropdown\\n      right: 3rem\\n  \\n  &.no-clear button.open, &.no-clear button.open:focus,\\n  &.no-clear button.add, &.no-clear button.add:focus,\\n  &.no-clear button.show, &.no-clear button.show:focus,\\n  &.no-clear button.hide, &.no-clear button.hide:focus,\\n  &.no-clear button.download, &.no-clear button.download:focus,\\n  &.no-clear button.dropdown, &.no-clear button.dropdown:focus\\n    right: 0\\n\\n.ka-input-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 1999\\n\\n.ka-input-combo .ka-input-combo-drawer,\\n.ka-input-backdrop .ka-input-combo-drawer\\n  display: block\\n  position: absolute\\n  top: 3rem\\n  z-index: 2000\\n  width: 100%\\n  background-color: #fff\\n  box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n  .ka-input\\n    display: block\\n    position: static\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0 10px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    box-shadow: none !important\\n    &:focus\\n      border: 0 !important\\n.ka-input-combo .ka-input-combo-drawer ul,\\n.ka-input-backdrop .ka-input-combo-drawer ul,\\n.ka-input-checklist ul\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    max-height: 250px\\n    overflow: hidden\\n    overflow-y: auto\\n    list-style: none\\n    li\\n      position: relative\\n      margin: 0\\n      padding: 0 10px\\n      overflow: hidden\\n      font-size: 14px\\n      line-height: 3rem\\n      cursor: pointer\\n      color: $text-color\\n      white-space: nowrap\\n      text-overflow: ellipsis\\n      &:hover\\n        background-color: rgba($primary-color, 0.1)\\n      &.selected\\n        color: $primary-color\\n    &.multiple li\\n      padding-left: 30px\\n      &::before\\n        content: \\\" \\\"\\n        display: block\\n        position: absolute\\n        top: 8px\\n        left: 8px\\n        width: 14px\\n        height: 14px\\n        border-radius: 1px\\n        //border-radius: 50%\\n        //background-color: #e0e0e0\\n        box-shadow: inset 0 0 0 1px $text-color\\n      &.selected::before\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n.ka-input-checklist ul\\n  li\\n    &:hover\\n      background-color: transparent\\n    &.selected\\n        color: $text-color\\n  &.multiple li\\n     &.selected::before\\n       box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n\\n.ck.ck-content\\n  h1, h2, h3, h4, h5, p, ul, ol, ul ul, ul ol, ol ol, ol ul, blockquote, table, div\\n    margin: 0\\n    padding: 0\\n    border: 0\\n    border-radius: 0\\n    font-size: 14px\\n    line-height: 1.6\\n    color: $text-color\\n    background: none\\n    box-shadow: none\\n    transform: none\\n    &:before, &:after\\n      display: none\\n      content: none\\n  h1\\n    margin: 35px 10px 20px\\n    font-size: 24px\\n    font-weight: bold\\n  h2\\n    margin: 25px 10px 15px\\n    font-size: 22px\\n    font-weight: bold\\n  h3\\n    margin: 15px 10px 10px\\n    font-size: 20px\\n    font-weight: bold\\n  h4\\n    margin: 15px 10px 10px\\n    font-size: 18px\\n    font-weight: bold\\n  h5\\n    margin: 15px 10px 10px\\n    font-size: 16px\\n    font-weight: bold\\n  p\\n    margin: 10px\\n  ul, ul ul, ul ol, ol, ol ul, ol ol\\n    margin: 10px\\n    padding-left: 15px\\n    li\\n      margin: 0\\n      padding: 0\\n  blockquote\\n    margin: 10px\\n    padding: 0 10px\\n    overflow: hidden\\n    font-style: italic\\n    border-left: 5px solid #ccc\\n\",\".ka-button\\n  display: inline-block\\n  appearance: none\\n  -moz-appearance: none\\n  -webkit-appearance: none\\n  outline: none\\n  cursor: pointer\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  color: #fff\\n  text-align: center\\n  text-decoration: none\\n  background-color: $primary-color\\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n    i\\n      line-height: inherit\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.flat\\n    box-shadow: none !important\\n\\n  &:disabled\\n    background-color: #c0c0c0\\n  &:hover:enabled\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent\\n    background-color: $accent-color\\n  &.accent:hover:enabled\\n    background-color: darken($accent-color, 7%)\\n  &.inverted\\n    color: $primary-color\\n    background-color: #ffffff\\n  &.inverted:hover:enabled\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent\\n    color: $accent-color\\n    background-color: #ffffff\\n  &.inverted-accent:hover:enabled\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n\\na.ka-button\\n  &:hover\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent:hover\\n    background-color: darken($accent-color, 7%)\\n  &.inverted:hover\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent:hover\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\",\"ka-button\\n  display: inline-block\\n  position: relative\\n  align-items: flex-start\\n\\n  outline: none\\n  cursor: pointer\\n\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  //overflow: hidden\\n\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  text-align: center\\n  text-decoration: none\\n  \\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.active\\n    box-shadow: none\\n    transform: translateY(3px)\\n\\n  &:not(.disabled)\\n    color: #fff\\n    background-color: $primary-color\\n\\n    &.flat\\n      box-shadow: none\\n    &:hover\\n      color: #fff\\n      background-color: darken($primary-color, 7%)\\n\\n    &.accent\\n      color: #fff\\n      background-color: $accent-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($accent-color, 7%)\\n      .busy\\n        background-color: $accent-color\\n        &:before, &:after\\n          background-color: #fff\\n    &.secondary\\n      color: #fff\\n      background-color: $secondary-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($secondary-color, 7%)\\n      .busy\\n        background-color: $secondary-color\\n        &:before, &:after\\n          background-color: #fff\\n\\n    &.inverted\\n      color: $primary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7)\\n      &:hover\\n        color: $primary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $primary-color\\n    &.inverted.accent\\n      color: $accent-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7)\\n      &:hover\\n        color: $accent-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $accent-color\\n    &.inverted.secondary\\n      color: $secondary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7)\\n      &:hover\\n        color: $secondary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $secondary-color\\n\\n  &.disabled\\n    color: #c0c0c0\\n    background-color: rgba(#c0c0c0, 0.3)\\n    &.flat\\n      box-shadow: none\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n  \\n  .busy\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    background-color: $primary-color\\n    &:before, &:after\\n      content: ''\\n      position: absolute\\n      border-radius: 50%\\n      width: 1rem\\n      height: 1rem\\n      top: 50%\\n      background-color: #fff\\n      transform: translate(-50%, -50%)\\n      will-change: left, transform\\n    &:after\\n      animation: left-to-right 0.5s linear infinite\\n    &:before\\n      animation: right-to-left 0.5s linear infinite\\n    \\n\\n@keyframes left-to-right\\n  0%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 1\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(1.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n\\n@keyframes right-to-left\\n  0%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 0\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(0.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n    \",\".ka-toast\\n  position: fixed\\n  bottom: 0\\n  left: 0\\n  right: 0\\n  z-index: 2000\\n  padding: 10px\\n  font-size: 1.3rem\\n  text-align: center\\n  background-color: white\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 -10px 10px -10px rgba(#000, 0.1)\\n\\n  &.ka-toast-error\\n    color: #ffffff\\n    background-color: $error-color\\n  &.ka-toast-success\\n    color: #ffffff\\n    background-color: $success-color\\n  &.ka-toast-accent\\n    color: #ffffff\\n    background-color: $accent-color\\n  &.ka-toast-primary\\n    color: #ffffff\\n    background-color: $primary-color\\n\",\"ka-table,\\n.ka-table\\n  display: block\\n  position: relative\\n  max-width: 100%\\n  background-color: #ffffff\\n  &:not(.full-height)\\n    box-shadow: 0 0 0 1px #e0e0e0\\n  .ka-toolbar\\n    display: flex\\n    height: 4rem\\n    font-size: 12px\\n    line-height: 4rem\\n    color: #606060\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    .ka-navigation\\n      display: flex\\n      .ka-position\\n        padding: 0 10px\\n        min-width: 100px\\n        text-align: center\\n        cursor: pointer\\n\\n    .ka-tools-left\\n      flex: 1\\n      display: flex\\n      justify-content: flex-start\\n    .ka-tools-right\\n      flex: 1\\n      display: flex\\n      justify-content: flex-end\\n  .ka-wrapper\\n    overflow: auto\\n  .ka-toolbar+.ka-wrapper\\n    //UNUSED?// border-top: 0\\n  &.full-height .ka-wrapper\\n    position: relative // needed to make tr .floater work\\n    height: calc(100% - 4rem)\\n\\nka-table,\\n.ka-table,\\ntable.ka-table-like\\n  &.no-wrap\\n    th, td\\n      white-space: nowrap\\n  .ka-table-button\\n    display: inline-block\\n    appearance: none\\n    -webkit-appearance: none\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-right: 1px solid #e0e0e0\\n    padding: 0\\n    width: 4rem\\n    height: 4rem\\n    line-height: 4rem\\n    color: rgba($text-color, 0.5)\\n    vertical-align: top\\n    background: transparent\\n    box-shadow: none\\n    transition: all 0.5s\\n    &+.ka-table-button\\n      border-left: 0\\n    &:not(.disabled):hover\\n      color: rgba($text-color, 1)\\n      background-color: rgba($primary-color, 0.05)\\n    &.primary:not(.disabled)\\n      color: rgba($primary-color, 0.7)\\n    &.primary:not(.disabled):hover\\n      color: rgba($primary-color, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n\\n    &:focus\\n      background-color: inherit\\n    &.disabled\\n      color: #e0e0e0\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\n      color: inherit\\n\\n    &.filters\\n      &.active\\n        color: $accent-color\\n      &+.reset\\n        margin-left: -2rem\\n        width: 2rem\\n        height: 2rem\\n        line-height: 2rem\\n        i\\n          font-size: 1rem\\n        &:hover\\n          color: $accent-color\\n          background: none\\n\\nka-table .ka-wrapper > table,\\n.ka-table .ka-wrapper > table,\\ntable.ka-table-like\\n  display: table\\n  margin: 0\\n  border: 0\\n  border-collapse: collapse\\n  border-spacing: 0\\n  width: 100%\\n  overflow: hidden\\n  th, td\\n    padding: 1rem\\n    font-size: 14px\\n    line-height: 2rem\\n    color: $text-color\\n    text-align: left\\n    a\\n      cursor: pointer\\n  thead\\n    border-bottom: 1px solid #e0e0e0\\n    th\\n      position: relative\\n      vertical-align: middle\\n      white-space: nowrap\\n      padding-right: 30px\\n      .ka-sort-button\\n        position: absolute\\n        margin-left: 5px\\n        transition: all 0.5s\\n        color: rgba($text-color, 0.5)\\n        text-decoration: none\\n        i\\n          line-height: inherit\\n          transform: rotateX(180deg)\\n        &:hover\\n          color: rgba($text-color, 1)\\n        &.sort-asc i\\n          color: $accent-color\\n        &.sort-desc i\\n          color: $accent-color\\n          transform: rotateX(0deg)\\n        &:after\\n          position: absolute\\n          top: -5px\\n          right: -5px\\n          border-radius: 50%\\n          width: 1.3rem\\n          height: 1.3rem\\n          line-height: 1.3rem\\n          font-size: 1rem\\n          color: #ffffff\\n          text-align: center\\n          background-color: $accent-color\\n        &.sort-0:after\\n        &.sort-1:after\\n          content: \\\"1\\\"\\n        &.sort-2:after\\n          content: \\\"2\\\"\\n        &.sort-3:after\\n          content: \\\"3\\\"\\n        &.sort-4:after\\n          content: \\\"4\\\"\\n        &.sort-5:after\\n          content: \\\"5\\\"\\n  tbody\\n    tr\\n      border-bottom: 1px solid #f4f4f4\\n      background-color: #fcfcfc\\n      &:nth-child(even)\\n        background-color: #f8f8f8\\n      &:hover, &:nth-child(even):hover\\n        background-color: rgba($accent-color, 0.05)\\n    td\\n      vertical-align: top\\n      &.ka-tr-tools:first-of-type\\n        text-align: left\\n      &.ka-tr-tools:last-of-type\\n        text-align: right\\n      &.ka-tr-tools\\n        padding: 0\\n        white-space: nowrap\\n        .ka-table-button, .ka-table-button:hover\\n          display: inline-block\\n          background: transparent\\n        &:first-of-type .ka-table-button,\\n        &:first-of-type .ka-table-button:hover\\n          float: left\\n        &:after\\n          content: \\\" \\\"\\n          display: block\\n          width: 100%\\n        .floater.float\\n          +flexbox\\n          align-content: center\\n          position: absolute\\n          right: 0\\n          background: #fff\\n          background: linear-gradient(180deg, rgba(#fff, 0) 0%, rgba(#fff, 1) 25%, rgba(#fff, 1) 75%, rgba(#fff, 0) 100%)\\n          box-shadow: -5px 0 5px -5px rgba(#000, 0.25)\\n      small\\n        color: rgba($text-color, 0.7)\\n\\n.ka-table-options\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  opacity: 0\\n  justify-content: flex-start\\n  position: absolute\\n  left: 50%\\n  padding: 2rem\\n  width: 26rem\\n  z-index: 97\\n  background-color: #ffffff\\n  +shadow1\\n  transform: translateX(-50%) translateY(50px)\\n  transition: transform 0.5s, opacity 0.5s\\n  &.open\\n    opacity: 1\\n    transform: translateX(-50%) translateY(0px)\\n  &.hidden\\n    display: none\\n  ka-input\\n    margin: 15px 10px 0\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n\\n.ka-table-drawer\\n  position: absolute\\n  top: 0\\n  bottom: 0\\n  right: 0\\n  border-right: 1px solid #e0e0e0\\n  width: 90%\\n  max-width: 400px\\n  overflow-y: auto\\n  background-color: #ffffff\\n  box-shadow: -10px 0 10px -10px rgba(#000, 0.1)\\n  transform: translateX(100%)\\n  transition: transform 0.5s\\n  &.open\\n    transform: translateX(0)\\n  &.hidden\\n    display: none\\n  ka-input label\\n    overflow: visible\\n\\n  h2\\n    //margin: 0\\n    //padding: 0 1rem\\n    //font-size: 2rem\\n    //font-weight: 300\\n    //line-height: 5rem\\n    //color: #ffffff\\n    //background-color: $primary-color\\n  h3\\n    //margin: 0\\n    //border-top: 1px solid #e0e0e0\\n    //padding: 0 1rem\\n    //line-height: 4rem\\n    //font-size: 1.4rem\\n    //font-weight: 400\\n    //color: $primary-color\\n    //text-decoration: none\\n  h2+h3\\n    //border-top: 0\\n\\n  &.export ka-input\\n    margin: 0\\n  .ka-table-button\\n    //display: block\\n    //appearance: none\\n    //-moz-appearance: none\\n    //-webkit-appearance: none\\n    //outline: none\\n    //cursor: pointer\\n    //margin: 2rem auto\\n    //border: 0\\n    //border-radius: 3px\\n    //padding: 0 10px\\n    //height: 4rem\\n    //font-size: 14px\\n    //font-weight: bold\\n    //line-height: 4rem\\n    //color: #fff\\n    //text-align: center\\n    //background-color: $primary-color\\n    //transition: all 0.5s\\n    &:hover\\n      //background-color: darken($primary-color, 7%)\\n      //transform: translateY(3px)\\n.ka-table-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 99\\n\\n// Progress Bar\\n.ka-table-progress\\n  position: absolute\\n  top: calc(4rem - 1px)\\n  left: 0\\n  right: 0\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n.ka-table-dialog\\n  background: #f9f9f9\\n  ux-dialog-body\\n    padding: 0\\n    width: 70vw\\n    max-width: calc(100vw - 60px)\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\\n@media only screen and (max-width:575px)\\n\\n  ka-table .ka-wrapper > table, table.ka-table-like\\n    display: block\\n    max-width: 100%\\n    min-width: 300px\\n    width: 100%\\n    thead, tfoot\\n      display: block\\n    tbody\\n      display: block\\n      overflow-x: hidden\\n      overflow-y: visible\\n      width: 100%\\n    tr\\n      display: block\\n      position: relative\\n    tbody tr\\n      min-height: 4rem\\n    th\\n      display: none\\n    td\\n      display: block\\n      padding: 0 0 0.5rem 0.5rem\\n      font-size: 1.3rem\\n      line-height: 1.2\\n      &:first-of-type\\n        padding-top: 0.5rem\\n      &.ka-tr-tools\\n        height: 4rem\\n        position: absolute\\n        right: 0\\n        top: 0\\n        &:before\\n          display: none\\n    td[data-th]\\n      padding: 0 0 0.5rem 25vw\\n      &:before\\n        display: inline-block\\n        content: attr(data-th)\\n        margin-left: -25vw\\n        padding: 0 1rem\\n        width: 25vw\\n        font-weight: bold\\n        text-overflow: ellipsis\\n        overflow: hidden\\n        vertical-align: bottom\\n\\n      \",\".ka-resource-buttons\\n  position: absolute\\n  top: 0\\n  right: 0\\n  a\\n    position: relative\\n    display: inline-block\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    //border-left: 1px solid rgba(#fff, 0.2)\\n    padding: 0\\n    width: 5rem\\n    height: 5rem\\n    line-height: 5rem\\n    color: rgba(#fff, 0.5)\\n    text-align: center\\n    transition: all 0.2s\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      left: 0\\n      top: 0.5rem\\n      bottom: 0.5rem\\n      width: 1px\\n      background-color: rgba(#fff, 0.2)\\n    &:hover\\n      color: rgba(#fff, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n    &:focus\\n      background-color: inherit\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\nux-dialog .ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.5)\\n    &::after\\n      background-color: rgba($primary-color, 0.2)\\n    &:hover\\n      color: rgba($primary-color, 1)\\n\\n.ka-resource-progress\\n  position: absolute\\n  top: 5rem\\n  left: 0\\n  right: 0\\n  z-index: 2\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\nux-dialog .ka-resource-progress\\n  top: auto\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"ux-dialog-container\\n  display: flex\\n  &.active\\n    background-color: rgba(#000,0.2)\\n  >div\\n    margin: auto !important\\nux-dialog\\n  display: block\\n  position: relative\\n  border: 0\\n  border-radius: 3px\\n  padding: 0\\n  overflow: hidden\\n  background-color: #f9f9f9\\n  +shadow1\\n  &.viewModel\\n    width: calc(100vw - 80px)\\n  ux-dialog-header\\n    display: block\\n    border: 0\\n    padding: 0\\n    h2\\n      z-index: 1\\n      margin: 0\\n      font-size: 1.8rem\\n      &::after\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n  ux-dialog-body\\n    display: block\\n    padding: 2rem\\n    font-size: 1.4rem\\n    h2\\n      z-index: 1\\n  &.viewModel ux-dialog-body\\n    padding: 0\\n    \\n@media only screen and (max-width:400px)\\n  ux-dialog-container > div\\n    padding: 1rem !important\\n  ux-dialog\\n    &.viewModel\\n      width: calc(100vw - 20px)\",\"ka-tabs\\n  +flexbox\\n  align-content: flex-start\\n  > nav\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n    margin: 0\\n    border-bottom: 3px solid #e0e0e0\\n    height: 5rem\\n    background-color: #ffffff\\n    a\\n      position: relative\\n      cursor: pointer\\n      display: inline-block\\n      outline: none\\n      padding: 0 1rem\\n      line-height: 5rem\\n      font-size: 1.2rem\\n      color: rgba($text-color, 0.5)\\n      letter-spacing: 0.1rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      transition: all 0.4s\\n      &::after\\n        content: \\\" \\\"\\n        opacity: 0\\n        display: block\\n        position: absolute\\n        bottom: -0px\\n        left: 50%\\n        z-index: 2\\n        width: 0%\\n        height: 3px\\n        background-color: $primary-color\\n        transform: translateX(-50%)\\n        transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      &.active\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      .counter\\n        display: block\\n        position: absolute\\n        bottom: 0\\n        left: 50%\\n        z-index: 3\\n        margin-left: -0.75rem\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n        width: 1.5rem\\n        font-size: 1rem\\n        line-height: 1.5rem\\n        color: #ffffff\\n        text-align: center\\n        background-color: $primary-color\\n        box-shadow: 0 0 0 3px #fff\\n        &.errors\\n          background-color: $error-color\\n  > [ref=\\\"buttons\\\"]\\n    float: right\\n    margin-top: -5rem\\n    a\\n      display: inline-block\\n      outline: none\\n      cursor: pointer\\n      margin: 0\\n      border: 0\\n      border-left: 1px solid #e0e0e0\\n      border-bottom: 3px solid #e0e0e0\\n      padding: 0\\n      width: 5rem\\n      height: 5rem\\n      line-height: 5rem\\n      color: rgba($text-color, 0.5)\\n      text-align: center\\n      background: #fff\\n      transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n      &:first-of-type\\n        border-left: 0\\n      &:last-of-type\\n        border-right: 0\\n      &:focus\\n        background-color: inherit\\n      &:before\\n        font-size: 20px\\n      i\\n        line-height: inherit\\n  > [ref=\\\"contents\\\"]\\n    > ka-tab\\n      white-space: initial\",\".ka-tooltip\\n  pointer-events: none\\n  display: none\\n  position: absolute\\n  z-index: 1100\\n\\n  border-radius: 5px\\n  padding: 1rem 1rem\\n\\n  font-size: 1.2rem\\n  font-weight: 400\\n  line-height: 1.4rem\\n  color: #ffffff\\n  background-color: $text-color\\n\\n  &.visible\\n    display: block\\n  > div.value\\n    a\\n      color: inherit\\n  > div.arrow\\n    position: absolute\\n    width: 8px\\n    height: 8px\\n    transform: rotate(45deg)\\n    background-color: inherit\\n  \\n  &.primary\\n    background-color: $primary-color\\n  &.secondary\\n    background-color: $accent-color\",\"@use \\\"sass:color\\\"\\n\\nka-control-combo,\\nka-control-text,\\nka-control-date,\\nka-control-datetime,\\nka-control-file,\\nka-control-number,\\nka-control-password,\\nka-control-textarea,\\nka-control-editor,\\nka-control-list,\\nka-control-check\\n  display: block\\n  position: relative\\n  flex: 1 1 0\\n  input\\n    outline: none\\n    appearance: none\\n    -moz-appearance: none\\n    -webkit-appearance: none\\n  .display-value, .display-value[disabled]\\n    outline: none\\n    border: 0\\n    border-radius: 0\\n    padding: 0 0 0 0.7rem\\n    width: 100%\\n    height: 3rem\\n    font-family: inherit\\n    font-size: 1.4rem\\n    line-height: 3rem\\n    color: $text-color\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n    transition: all 0.5s\\n    &:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n    &:focus, &:focus:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n    &.readonly, &.readonly:focus, &.readonly:hover\\n      padding: 0 0 0 0.1px\\n      background: transparent\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n  \\nka-control\\n  display: inline-block\\n  position: relative\\n  margin: 0.5rem 0\\n  width: 100%\\n\\n  > label\\n    display: block\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    font-size: 1.2rem\\n    line-height: 1.5rem\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    transition: all 0.5s\\n\\n  > div \\n    display: flex\\n    flex-wrap: nowrap\\n    > .ka-control-buttons\\n      display: flex\\n      button, button:focus\\n        -webkit-appearance: none\\n        -moz-appearance: none\\n        display: block\\n        margin: 0\\n        outline: 0\\n        border: 0\\n        border-left: 1px solid #e0e0e0\\n        border-radius: 0\\n        padding: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n        transition: all 0.5s\\n        .material-icons, i[class*=\\\"fa\\\"]\\n          font-size: inherit\\n          line-height: inherit\\n          color: inherit\\n        &:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n          color: $primary-color\\n        &:focus, &:focus:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n      .button-dropdown\\n        border-left: 0\\n\\n  > .ka-control-overlay\\n    width: 100%\\n    .ka-control-error\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $error-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 10px 10px -8px rgba($error-color, 0.3), 10px 0 10px -8px rgba($error-color, 0.3), -10px 0 10px -8px rgba($error-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($error-color, 0.1)\\n        z-index: -1\\n      span + span:before\\n        content: \\\"-\\\"\\n        margin: 0 5px\\n      \\n      .ka-control-error-scroller\\n        display: flex\\n        width: fit-content\\n        span.clone\\n          display: none\\n      &.scroll .ka-control-error-scroller\\n        animation: ka-control-error-scroller infinite 10s linear\\n        span.clone\\n          display: inline\\n\\n    .ka-control-description\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $primary-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 10px 10px -8px rgba($primary-color, 0.3), 10px 0 10px -8px rgba($primary-color, 0.3), -10px 0 10px -8px rgba($primary-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($primary-color, 0.1)\\n        z-index: -1\\n\\nka-control.focus\\n  > div:first-of-type\\n    background: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 0 10px 0 rgba($primary-color, 0.3)\\n  &:not(.error) > .ka-control-overlay .ka-control-description\\n    height: 2rem\\n    opacity: 1 \\n  &.error > .ka-control-overlay .ka-control-error\\n    height: 2rem\\n    opacity: 1 \\n\\nka-control.error\\n  > label \\n    color: $error-color\\n    animation: ka-control-shake 0.7s\\n  > div:first-of-type\\n    background-color: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 0 10px 0 rgba($error-color, 0.3)\\n  &:not(.hadFocus) > .ka-control-overlay .ka-control-error\\n    animation: 4s ka-control-slidedownup\\n\\nka-control.ka-control-combo\\n  &:not(.error) > div:hover + .ka-control-overlay .ka-control-description\\n    display: block\\n\\nka-control.show-label-overflow\\n  > label\\n    overflow: visible\\n\\nka-control.no-label\\n  > label\\n    display: none\\n\\nka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n\\n@keyframes ka-control-slidedown\\n  from\\n    opacity: 0\\n    height: 0\\n  to\\n    opacity: 1\\n    height: 2rem\\n\\n@keyframes ka-control-slidedownup\\n  0%\\n    opacity: 0\\n    height: 0\\n  5%\\n    opacity: 1\\n    height: 2rem\\n  95%\\n    opacity: 1\\n    height: 2rem\\n  100%\\n    opacity: 0\\n    height: 0\\n\\n@keyframes ka-control-error-scroller\\n  0%\\n    transform: translateX(0%)\\n  100%\\n    transform: translateX(-50%)\",\"ka-control-check\\n  position: relative\\n  height: 3rem\\n  display: flex\\n  align-items: center\\n  input[type=\\\"checkbox\\\"]\\n    display: block\\n    margin: 0\\n    border: 0\\n    border-radius: 1px\\n    width: 1.4rem\\n    height: 1.4rem\\n    background: transparent\\n    box-shadow: inset 0 0 0 1px $text-color\\n    &:checked\\n      background-color: $primary-color\\n      box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n  .description\\n    display: inline-block\\n    padding-left: 1rem\\n    max-width: 100%\\n    overflow: hidden\\n    line-height: 3rem\\n    font-size: 1.4rem\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\",\"ka-control-combo\\n  display: block\\n  position: relative\\n  height: 3rem\\n  overflow: hidden\\n  .display-value\\n    //position: absolute\\n    overflow: hidden\\n    cursor: text\\n    ul\\n      margin: 0\\n      padding: 0 0.1px 0 0\\n      list-style: none\\n      user-select: none\\n      white-space: nowrap\\n\\n      display: flex\\n      flex-direction: row\\n      justify-content: flex-start\\n      flex-wrap: nowrap\\n      li\\n        position: relative\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        color: $text-color\\n        cursor: pointer\\n        overflow: hidden\\n        text-overflow: ellipsis\\n        flex-grow: 0\\n        flex-shrink: 1\\n        flex-basis: auto\\n        transition: all 0.3s\\n        &:not(:last-child)\\n          margin-right: 0.3rem\\n          &:after\\n            content: \\\",\\\"\\n        i\\n          display: none\\n          position: absolute\\n          top: 0\\n          right: 0\\n          width: 2.4rem\\n          font-size: inherit\\n          line-height: inherit\\n          color: #ffffff\\n          text-align: center\\n          background-color: $primary-color\\n        &:hover\\n          flex-grow: 0\\n          flex-shrink: 0\\n          max-width: calc(100% - 0.6rem)\\n          max-width: --webkit-fill-available\\n          i\\n            display: block\\n  &.multiple\\n    .display-value:not(.readonly)\\n      padding-left: 0\\n      ul\\n        li\\n          margin: 0.3rem\\n          border-radius: 0.2rem\\n          padding: 0 0.5rem\\n          line-height: 2.4rem\\n          box-shadow: inset 0 0 0 1px rgba($primary-color, 0.5)\\n          background-color: rgba($primary-color, 0.2)\\n          &:after\\n            display: none\\n\\nka-control-backdrop\\n  background-color: #00000011\\nka-control-combo, ka-control-backdrop\\n  [ref=drawer]\\n    position: absolute\\n    top: 3rem\\n    z-index: 2000\\n    width: 100%\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n    .search\\n      outline: none\\n      border: 0\\n      border-radius: 0\\n      padding: 0 0 0 0.7rem\\n      width: 100%\\n      height: 3rem\\n      font-family: inherit\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background-color: #fff\\n    .search-loader\\n      position: absolute\\n      right: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.5rem\\n      line-height: 3rem\\n      text-align: center\\n      color: $text-color\\n      --fa-animation-duration: 0.5s\\n    ul\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      max-height: 25rem\\n      overflow: hidden\\n      overflow-y: auto\\n      list-style: none\\n      user-select: none\\n      li\\n        position: relative\\n        margin: 0\\n        padding: 0.5rem 1rem\\n        overflow: hidden\\n        font-size: 1.4rem\\n        line-height: 2rem\\n        cursor: pointer\\n        color: $text-color\\n        white-space: nowrap\\n        text-overflow: ellipsis\\n        &.optgroup\\n          color: rgba($text-color, 0.6)\\n        &:not(.optgroup):not(.readonly)\\n          &:hover\\n            background-color: rgba($primary-color, 0.1)\\n        &:not(.readonly).selected\\n          color: $primary-color\\n\\n    &.multiple\\n      ul\\n        li:not(.optgroup)\\n          padding-left: 30px\\n          &::before\\n            content: \\\" \\\"\\n            display: block\\n            position: absolute\\n            top: 8px\\n            left: 8px\\n            width: 14px\\n            height: 14px\\n            border-radius: 1px\\n            box-shadow: inset 0 0 0 1px $text-color\\n          &.selected::before\\n            background-color: $primary-color\\n            box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n          &.readonly.selected::before\\n            background-color: rgba($text-color, 0.7)\\n            box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\",\"ka-control-date\\n  .display-value\\n  .ka-control-date-drawer\\n    display: none\",\"ka-control-datetime\\n  .display-value\\n  .ka-control-datetime-drawer\\n    display: none\",\"ka-datetime\\n  display: block\\n  //border: 1px solid #e0e0e0\\n  .selectors\\n    color: rgba($text-color, 0.5)\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    &:last-of-type\\n      box-shadow: inset 0 1px 0 #e0e0e0\\n    [class*=col]\\n      &:nth-child(1)\\n        button\\n          box-shadow: inset -1px 0 0 #e0e0e0\\n      &:nth-child(2)\\n        > div\\n          position: relative\\n          margin: 0 0 0 auto\\n          max-width: 100px\\n          text-align: right\\n          select\\n            text-transform: capitalize\\n            box-shadow: inset 1px 0 0 #e0e0e0\\n      &:nth-child(3)\\n        > div\\n          position: relative\\n          margin: 0 auto 0 0\\n          max-width: 100px\\n          text-align: right\\n          select\\n            box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0\\n      &:nth-child(4)\\n        button\\n          box-shadow: inset 1px 0 0 #e0e0e0\\n        \\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: inherit\\n      background: transparent\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      \\n    select\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0 1rem\\n      width: 100%\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background: transparent\\n      box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0, inset 0 -1px 0 #e0e0e0\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      + .dropdown\\n        pointer-events: none\\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        \\n  .weekdays\\n    color: $text-color\\n    font-size: 1rem\\n    font-weight: 700\\n    line-height: 2rem\\n    text-align: center\\n    text-transform: uppercase\\n  \\n  .days\\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      height: 2rem\\n      font-size: 1rem\\n      line-height: 2rem\\n      color: inherit\\n      text-align: center\\n      background: transparent\\n      &:not([disabled]):hover\\n        color: $primary-color\\n        background: rgba($primary-color, 0.1)\\n      &.selected, &.selected:hover\\n        color: #ffffff\\n        background: rgba($primary-color, 1)\\n      &[disabled]\\n        opacity: 0.5\\n  \",\"ka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n  background-color: #00000011\\n  [ref=drawer]\\n    display: block !important\\n    position: absolute\\n    z-index: 2000\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\",\"ka-control-file\\n  .display-value\\n  input[type=\\\"file\\\"]\\n    outline: none\\n    position: absolute\\n    top: 0\\n    left: 0\\n    opacity: 0\\n    border: 0\\n    border-radius: 0\\n    padding: 0\\n    width: 100%\\n    height: 3rem\\n  .buttons\\n    display: none\\n    position: absolute\\n    top: 0\\n    right: 0\\n    white-space: nowrap\\n    text-align: right\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 2.9rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\\n    button + button\\n      box-shadow: inset 1px 0 0 0 rgba($text-color, 0.1)\\n  &:hover .buttons\\n    display: block\\n\",\"ka-control-list\\n  .display-value\\n    background: transparent\\n    box-shadow: inset 0 -1px 0 0 transparent\\n  .item:not(.readonly)\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  .row\\n    margin-left: 0\\n    margin-right: 0\\n    label\\n      display: none\\n  .buttons\\n    display: inline-block\\n    float: right\\n    width: 6rem\\n    height: 3rem\\n    white-space: nowrap\\n    text-align: right\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\",\"ka-control-table\\n  display: block\\n  margin: 1rem 0\\n  h3\\n    padding-left: 0\\n  table.ka-table-like\\n    border: 1px solid #e0e0e0\\n    background-color: #fcfcfc\\n    tbody tr:nth-child(even)\\n      background-color: #fcfcfc\\n    tbody tr\\n      border-bottom: 1px solid #e0e0e0\\n    ka-input\\n      margin: 0\\n      label\\n        display: none\\n    td.ka-tr-tools\\n      width: 5rem\\n      border-left: 1px solid #e0e0e0\\n      text-align: center !important\\n      vertical-align: middle\",\"ka-control-textarea\\n  .display-value\\n    padding-top: 0.4rem !important\\n    padding-bottom: 0.4rem !important\\n    min-height: 10rem\\n    //overflow: hidden\\n    //overflow-y: auto\\n    //white-space: pre\\n    line-height: 1.6 !important\",\"tr.ka-table-filters\\n  border-top: 1px solid #e0e0e0\\n  th\\n    padding: 0 !important\\n    height: 4rem\\n    ka-control\\n      position: absolute\\n      top: 0.5rem\\n      left: 0.5rem\\n      margin: 0\\n      width: calc(100% - 0.75rem)\\n      .display-value, .display-value:hover, .display-value:focus\\n        font-size: 1.1rem\\n        box-shadow: inset 0 0 5px 0 #d0d0d0, inset 0 0 1px 1px #d0d0d0\\n    &:last-of-type\\n      padding-right: 1rem !important\\n      font-size: 1.1rem\\n      font-weight: normal\\n      text-align: right\\n      a\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\",\"ka-progress\\n  &.linear\\n    display: block\\n    position: relative\\n    z-index: 2\\n    height: 3px\\n    background-color: #e0e0e0\\n    overflow: hidden\\n    > div\\n      background-color: $primary-color\\n      &:before\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n      &:after\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n        animation-delay: 1.15s\\n\\n@keyframes ka-progress-linear-indeterminate\\n  0%\\n    left: -35%\\n    right: 100%\\n  60%\\n    left: 100%\\n    right: -90%\\n  100%\\n    left: 100%\\n    right: -90%\\n\\n@keyframes ka-progress-linear-indeterminate-short\\n  0%\\n    left: -200%\\n    right: 100%\\n  60%\\n    left: 107%\\n    right: -8%\\n  100%\\n    left: 107%\\n    right: -8%\",\"$text-color: #404040 !default\\n$primary-color: #1976D2 !default\\n$accent-color: #ff8800 !default\\n$error-color: #ff4400 !default\\n$success-color: #1CC800 !default\\n\\n@import 'ka-mixins'\\n@import 'ka-flex'\\n@import 'ka-navbar'\\n@import 'ka-input'\\n@import 'ka-button-deprecated'\\n@import 'ka-button'\\n@import 'ka-toast'\\n@import 'ka-table'\\n@import 'ka-resource'\\n@import 'ka-dialog'\\n@import 'ka-tabs'\\n@import 'ka-tooltip'\\n\\n@import '../ka-control/ka-control'\\n@import '../ka-control-check/ka-control-check'\\n@import '../ka-control-combo/ka-control-combo'\\n@import '../ka-control-date/ka-control-date'\\n@import '../ka-control-datetime/ka-control-datetime'\\n@import '../ka-datetime/ka-datetime'\\n@import '../ka-control-backdrop/ka-control-backdrop'\\n@import '../ka-control-editor/ka-control-editor'\\n@import '../ka-control-file/ka-control-file'\\n@import '../ka-control-list/ka-control-list'\\n@import '../ka-control-number/ka-control-number'\\n@import '../ka-control-password/ka-control-password'\\n@import '../ka-control-table/ka-control-table'\\n@import '../ka-control-text/ka-control-text'\\n@import '../ka-control-textarea/ka-control-textarea'\\n\\n@import '../ka-table/ka-tableFilters'\\n@import '../ka-progress/ka-progress'\\n\\n*\\n  box-sizing: border-box\\n\\nhtml, body\\n  margin: 0\\n  padding: 0\\n  height: 100%\\n  overflow: hidden\\n\\nhtml\\n  font: 62.5% 'Roboto', sans-serif\\n  background: #f9f9f9\\n\\n/* GLOBAL CLASSES */\\n\\n.hidden\\n  display: none\\n\\n.shadow1\\n  +shadow1\\n\\n/* TYPOGRAPHY */\\n\\nh1\\n  color: $primary-color\\nh2\\n  position: relative\\n  margin: 0 0 1rem\\n  border-top: 1px solid #e0e0e0\\n  border-bottom: 1px solid #e0e0e0\\n  padding: 0 0 0 1rem\\n  line-height: 5rem\\n  font-size: 1.6rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\n  &:first-child\\n    border-top: 0\\n  &::before\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0px\\n    z-index: -1\\n    border-radius: 50%\\n    height: 10px\\n    width: 100%\\n    background-color: #000\\n    box-shadow: 0 0 10px rgba(0,0,0,0.2)\\n  &::after\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0\\n    width: 100%\\n    height: 100%\\n    z-index: -1\\n    background-color: #fcfcfc\\n  > i.material-icons\\n    line-height: 5rem\\n    vertical-align: bottom\\n  > i[class*=\\\"fa\\\"]\\n    margin: 0 1rem 0 -1rem\\n    border-right: 1px solid #e0e0e0\\n    width: 5rem\\n    font-size: 2.5rem\\n    line-height: 5rem\\n    vertical-align: bottom\\n    text-align: center\\n\\n  .ka-button, ka-button\\n    float: right\\nh3\\n  margin: 1rem 0\\n  padding: 0 1rem\\n  line-height: 1.4rem\\n  font-size: 1.4rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\nh4, h5\\n  color: $text-color\\np\\n  margin: 1rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\nul, ol\\n  margin: 1rem\\n  padding: 0 0 0 1.5rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\n  li\\n    margin: 0\\n    padding: 0\\n\\np a, ul a, ol a\\n  color: $text-color\\n\\n.primary-text\\n  color: $primary-color\\n.primary-background\\n  background-color: $primary-color\\n.accent-text\\n  color: $accent-color\\n.accent-background\\n  background-color: $accent-color\\n.error-text\\n  color: $error-color\\n.error-background\\n  background-color: $error-color\\n.success-text\\n  color: $success-color\\n.success-background\\n  background-color: $success-color\\n\\n\\n/* LAYOUT ELEMENTS */\\n\\nrouter-view\\n  display: block\\n  min-height: calc(100% - 5rem)\\n  max-height: calc(100% - 5rem)\\n  overflow-y: auto\\n  transition: all 250ms\\n  -moz-transition: all 250ms\\n  -webkit-transition: all 250ms\\n\\n/* COMPONENTS OVERRIDES */\\n\\nka-resource ka-input,\\nka-resource ka-tab > ka-input,\\nka-resource ka-flex-row ka-tab > ka-input,\\nka-resource ka-flex-col ka-tab > ka-input,\\nka-resource md-input,\\nka-resource ka-tab > md-input,\\nka-resource ka-flex-row ka-tab > md-input,\\nka-resource ka-flex-col ka-tab > md-input\\n  margin-left: 1rem\\n  margin-right: 1rem\\n  width: calc(100% - 2rem)\\nka-resource ka-flex-row ka-input,\\nka-resource ka-flex-col ka-input,\\nka-resource ka-flex-row md-input,\\nka-resource ka-flex-col md-input\\n  margin-left: 0\\n  margin-right: 0\\n  width: 100%\\nka-resource ka-table\\n  margin: 1rem\\n  border: 1px solid #e0e0e0\\n\\n\\nka-flex-col > h2\\n  margin-left: -0.5rem\\n  margin-right: -0.5rem\\nka-flex-col:first-of-type > h2\\n  margin-left: -1.5rem\\nka-flex-col:last-of-type > h2\\n  margin-right: -1.5rem\\n\\nka-tabs ka-tab > ka-table:first-child\\n  margin-top: 0\\nka-tabs ka-tab > ka-input,\\nka-tabs ka-tab > md-input\\n  margin-top: 3rem\\nka-tabs ka-tab > ka-input:first-child,\\nka-tabs ka-tab > md-input:first-child\\n  margin-top: 1.5rem\\n  &.no-label\\n    margin-top: 0\\n\\nh2 + ka-input,\\nh2 + md-input\\n  margin-top: 2.5rem\\n\\nka-flex-row > ka-input + .ka-button, ka-flex-row > ka-input + ka-button,\\nka-flex-row > md-input + .ka-button, ka-flex-row > md-input + ka-button\\n  margin-top: 1.5rem\",\"\\n.md-toast\\n  padding: 2rem\\n  border-radius: 5px\\n  position: absolute\\n  z-index: 9999\\n  left: 50%\\n  bottom: -100%\\n  opacity: 0\\n  background: #353535\\n  box-shadow: inset 0 0 0 1px #000, 0 0 5px rgba(#000, .5)\\n  transform: translateX(-50%)\\n  transition: bottom .8s ease-in-out, opacity .4s ease-in-out\\n  &.visible\\n    opacity: 1\\n    bottom: 2rem\\n\\n  &.platform-messages\\n    display: grid\\n    grid-template-columns: min(12vw, 8rem) 1fr min(12vw, 8rem)\\n    padding: 0\\n    min-height: 8rem\\n    min-width: 30rem\\n    > .icon-box, .closure-box\\n      background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, .8))\\n    > .icon-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      border-bottom-left-radius: 4px\\n      border-top-left-radius: 4px\\n      box-shadow: inset -1px 0 0 rgba(#000, .3)\\n      > i\\n        font-size:  min(1vw + 1.4rem, 2rem)\\n        text-shadow: 1px 1px 0 #000\\n    > .closure-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      cursor: pointer\\n      transition: background .3s\\n      border-bottom-right-radius: 4px\\n      border-top-right-radius: 4px\\n      box-shadow: inset 1px 0 0 rgba(#000, .3)\\n      &:before\\n        text-shadow: 1px 1px 0 #000\\n        transition: transform .3s\\n        @include fontawesome('\\\\f00d', 'regular', min(1vw + 1.4rem, 2rem), 0, #e0e0e0)\\n      &:hover\\n        background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, 1))\\n        &:before\\n          transform: scale(1.2)\\n    > .content-box\\n      display: flex\\n      align-items: center\\n      position: relative\\n      padding: 1rem\\n      &:before, &:after\\n        display: block\\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n      &:before\\n        background: linear-gradient(to bottom, rgba(#fff, .2), rgba(#000, .5))\\n      &:after\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba(#000, .2) 0, rgba(#000, .2) 1px, rgba(#fff, .01) 0, rgba(#fff, .01) 50%)\\n      > p\\n        display: flex\\n        align-items: center\\n        flex-direction: column\\n        justify-content: space-around\\n        margin: 0\\n        position: relative\\n        z-index: 1\\n        max-height: 100%\\n        min-height: 80%\\n        line-height: 1.3\\n        text-align: center\\n        font-size: min(1vw + .9rem, 1.5rem)\\n        font-family: 'Roboto condensed', sans-serif\\n        font-weight: 300\\n        color: #fff\\n        > a\\n          line-height: 2.2   \\n          font-weight: 300\\n          font-size: min(1vw + .8rem, 1.3rem)\\n          font-family: 'Roboto flex', sans-serif\\n          text-shadow: 1px 1px 0 #000\\n          text-underline-offset: .4rem\\n          white-space: nowrap\\n          transition: all .3s\\n          &:hover\\n            color: #fff\\n\\n@keyframes pulse\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.25)\\n  0%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$asideWidth: 30rem\\n$headerHeight: 6rem\\n// Aside\\n$aside-first-level-list-item-height: 4.8rem\\n$aside-second-level-list-item-height: 4rem\\n$aside-third-level-color: #f0f0f0\\n$aside-third-level-list-item-height: 4rem\\n// Header\\n$header-background-color: #232d3d\\n// Toolbar\\n$current-dropdown-list-item-number: 8\\n$toolbar-dropdown-list-item-min-height: 4.8rem \\n\\n@keyframes badge-pulse\\n  0%\\n    transform: scale(1)\\n  15%\\n    transform: scale(0.8)\\n  30%\\n    transform: scale(1)\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  position: relative\\n  display: block\\n\\n  aside\\n    display: flex\\n    flex-direction: column\\n    align-content: stretch\\n    position: fixed\\n    z-index: 200\\n    top: 0\\n    left: 0\\n    bottom: 0\\n    height: auto\\n    width: $asideWidth\\n    background: #fff\\n    box-shadow: 1px 0 0 0 rgba($header-background-color, .6)\\n    transition: transform .3s ease-in-out\\n    .menu-level\\n      padding: 1rem\\n      font-size: 1rem\\n      font-weight: 700\\n      text-align: center\\n      text-transform: uppercase\\n      color: #ffffff\\n      background-color: $secondary-color\\n\\n    a:link\\n      color: #404040E6\\n      text-decoration: none     \\n\\n    .km-layout-logo\\n      position: relative\\n      display: block\\n      width: 100%\\n      padding-bottom: 50%\\n      background-position: center\\n      background-repeat: no-repeat\\n      background-size: 75%\\n      transition: background-size .3s ease-in-out\\n      transition-delay: 0.1s\\n      animation: logo-start-animation .8s ease-in-out\\n      &.empty\\n        padding-bottom: 0\\n        height: $headerHeight\\n      &:after\\n        content: ''\\n        position: absolute\\n        z-index: -1\\n        width: 100%\\n        height: 100%\\n        box-shadow: inset 0 -12px 20px 10px rgba(239 0 0 / 4%)\\n        background: linear-gradient(to bottom, rgb(0 0 255 / 4%) 30%, rgb(239 0 0 / 4%) 60%)\\n\\n    nav\\n      height: 100%\\n      overflow-y: auto\\n      overflow-x: hidden\\n      box-shadow: 0 -1px 0 0 rgba(239 0 0 / 30%)\\n      background: $aside-third-level-color\\n      /* Hide scrollbar for Chrome, Safari and Opera */\\n      &::-webkit-scrollbar\\n        display: none\\n      /* Hide scrollbar for IE, Edge and Firefox */\\n      &.example\\n        -ms-overflow-style: none\\n        scrollbar-width: none\\n      ul\\n        list-style: none\\n        margin: 0\\n        padding: 0\\n        width: 100%\\n        background: #fff\\n        li\\n          margin: 0\\n          width: 100%\\n          cursor: pointer\\n          // Sottomenu: .sub-nav è una griglia a una sola riga che passa da 1fr (aperto) a 0fr (chiuso).\\n          // Animazione fluida in tutti i browser; min-height: 0 permette alla riga di scendere a zero\\n          > .sub-nav\\n            display: grid\\n            grid-template-rows: 1fr\\n            transition: grid-template-rows .4s ease-in-out, visibility .4s ease-in-out\\n            > ul\\n              min-height: 0\\n              overflow: hidden\\n          > .wrapper\\n            position: relative\\n            z-index: 401\\n            display: flex\\n            align-items: center\\n            width: 100%\\n            transition: transform .6s ease-in-out, color .4s ease-in-out, box-shadow .4s ease-in-out, background .6s ease-in-out\\n            > a,\\n            > span\\n              display: flex\\n              align-items: center\\n              height: 100%\\n              flex-grow: 1\\n              > .label\\n                position: relative\\n\\n        li.static\\n          .wrapper \\n            > * > i.after-icon\\n              margin-left: auto\\n              padding: 0\\n              font-size: 1.2rem\\n              color: $secondary-color\\n          &:hover .wrapper > i\\n            color: darken($primary-color, 5%)\\n        li.expandable\\n          .wrapper \\n            > i\\n              display: flex\\n              align-items: center\\n              margin-left: auto\\n              padding: 0 1.5rem\\n              height: $aside-first-level-list-item-height\\n              font-size: 1.2rem\\n              transition: transform .5s ease-in-out\\n        li.expanded\\n          > .sub-nav\\n            visibility: visible\\n        li.collapsed\\n          > .sub-nav\\n            grid-template-rows: 0fr\\n            visibility: hidden\\n        li:not(.expandable)\\n          > .wrapper\\n            > a,\\n            > span\\n              > .explanation\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                border-radius: 3px\\n                font-size: 1.3rem\\n                height: 2rem\\n                padding: .5rem\\n                color: $secondary-color\\n                text-transform: none\\n                font-weight: 400\\n                font-family: 'Roboto condensed', sans-serif\\n                background: rgba($text-color, .08)\\n              > b\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                font-size: 1.3rem\\n                text-align: center\\n                position: relative\\n                line-height: 1\\n                height: 2.2rem\\n                padding: 0 .6rem\\n                border-radius: 3px\\n                font-weight: 500\\n                font-family: 'Roboto condensed', sans-serif\\n                color: $secondary-color\\n                background: rgba(#fff, .9)\\n                box-shadow: 0 0 0 1px rgba(#000, .04)\\n                > i\\n                  margin: 0 0 0 .6rem\\n                  font-size: 1.3rem\\n                  color: $primary-color\\n                &:not(.custom):after\\n                  content: \\\"\\\\f06a\\\"\\n                  display: inline-block\\n                  font-size: 1.4rem\\n                  font-style: normal\\n                  font-weight: 400\\n                  font-variant: normal\\n                  text-rendering: auto\\n                  margin: 0 0 0 .5rem\\n                  -webkit-font-smoothing: antialiased\\n                  font-family: \\\"Font Awesome 5 Pro\\\"\\n                  color: $primary-color\\n                  vertical-align: top\\n                  animation: badge-pulse 1s ease-in-out infinite alternate\\n\\n      ul.first-level\\n        box-shadow: 0 4px 4px 0 rgba(#000, .2)\\n        > li          \\n          > .wrapper\\n            font-weight: 700\\n            font-size: 1.3rem\\n            text-transform: uppercase\\n            background: transparent\\n            height: $aside-first-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba($header-background-color, .6)              \\n            &:hover > * > .label:before\\n              width: 100%\\n            > a,\\n            > span\\n              padding: 0 1.5rem\\n              color: darken($secondary-color, 5%)\\n              > .label:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: 0\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: rgba($secondary-color, .6)\\n                transition: width .5s ease\\n              > i.before-icon\\n                padding: 0 .7rem 0 0\\n                margin-bottom: .2rem\\n                font-size: 1.6rem\\n                color: lighten($secondary-color, 10%)\\n                &.animated\\n                  animation: first-level-before-icon 10s ease-in-out infinite\\n                &.primary\\n                  color: darken($primary-color, 5%)\\n              > i.svg-icon\\n                margin: 0 .7rem 0 0\\n                width: 2rem\\n                height: -moz-available\\n                height: -webkit-fill-available\\n                height: stretch\\n                background-position: 0 45%\\n                background-repeat: no-repeat\\n        > li.expanded > .sub-nav > ul.second-level > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 1px 4px 4px 0 rgba($header-background-color, .2)\\n        > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .5)\\n        > li.expanded > .wrapper > i\\n          transform: scale(1) rotate(180deg)\\n        > li.collapsed > .wrapper > i\\n          transform: scale(1) rotate(0deg)\\n\\n      ul.second-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto slab', serif\\n            height: $aside-second-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              padding: 0 1.5rem 0 1.5rem\\n              color: $text-color\\n              > i.after-icon\\n                font-size: 1.2rem\\n                margin-left: auto\\n                color: $secondary-color\\n          &:not(.expandable) > .wrapper\\n            font-family: 'Roboto condensed', sans-serif\\n            &:hover\\n              background: rgba($secondary-color, .06)\\n          > .sub-nav > ul.third-level\\n            > li:first-of-type\\n              > .wrapper\\n                box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 0 1px 5px -2px rgba(#000, .2)\\n        li.expanded > .wrapper > i\\n          transform: rotate(180deg)\\n        li.collapsed > .wrapper > i\\n          transform: rotate(0deg)\\n        > li.expandable\\n          background: #fff\\n          .wrapper > i\\n            color: rgba($text-color, .6)\\n        > li.highlighted\\n          > .wrapper\\n            > a,\\n            > span\\n              font-size: 1.5rem\\n              color: darken($primary-color, 3%)\\n\\n      ul.third-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto condensed', sans-serif\\n            height: $aside-third-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              color: rgba(#000, .7)\\n              padding: 0 1.5rem 0 2rem\\n              > i.after-icon\\n                font-size: 1.3rem\\n                margin-left: auto\\n                color: $secondary-color\\n              > .label\\n                &:before\\n                  display: inline-block\\n                  margin: 0 .7rem 0 0\\n                  content: ''\\n                  width: 3px\\n                  height: 3px\\n                  border-radius: 50%\\n                  background: rgba(#000, .5)\\n                  vertical-align: middle\\n                  transition: color .6s ease\\n        > li.highlighted\\n          > .wrapper \\n            > a,\\n            > span\\n              font-weight: 600\\n              color: $secondary-color\\n              letter-spacing: .01rem\\n              > span\\n                &:before\\n                  width: 3.5px\\n                  height: 3.5px\\n                  background: darken($primary-color, 3%)\\n\\n\\n      ul.second-level, ul.third-level\\n        > li\\n          > .wrapper\\n            > * > .label:after\\n              display: block\\n              content: ''\\n              position: absolute\\n              bottom: 1px\\n              left: 0\\n              width: 0\\n              height: 1px \\n              background: rgba(#000, .5)\\n              transition: width .6s ease\\n            &:hover\\n              > * > .label:after\\n                width: 100%\\n      ul.second-level > li.highlighted > .wrapper > * > .label:after\\n        background: rgba($primary-color, .5)\\n      ul.third-level > li\\n        > .wrapper\\n          > * > .label:after\\n            left: 1rem\\n          &:hover > * > .label:after\\n            width: calc(100% - 1rem)\\n        &:not(.expandable) > .wrapper:hover\\n          background: rgba($secondary-color, .07)\\n        &:not(.highlighted) > .wrapper:hover > * > .label:before\\n          background: #000\\n    div[slot=\\\"afterNav\\\"]\\n      background: $aside-third-level-color\\n  @keyframes first-level-before-icon\\n    0%\\n      opacity: 0\\n      transform: translateX(-200%)\\n    3%\\n      opacity: 1\\n      transform: translateX(0%)\\n    96%\\n      opacity: 1\\n    100%\\n      opacity: 0\\n\\n  @keyframes logo-start-animation\\n    0%\\n      opacity: 0\\n      background-size: 300%\\n    30%\\n      opacity: 0\\n      background-size: 300%\\n    100%\\n      opacity: 1\\n      background-size: 75%\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  header\\n    position: fixed\\n    top: 0\\n    right: 0\\n    left: 0\\n    z-index: 1\\n    padding-left: 1rem\\n    height: $headerHeight\\n    display: flex\\n    flex-direction: row\\n    justify-content: space-between\\n    align-items: center\\n    color: #fff\\n    background: $header-background-color\\n    *\\n      color: inherit\\n    h1\\n      display: block\\n      margin: 0 1rem 0 0\\n      font-size: min(1rem + 1.5vw, 2.5rem)\\n      font-weight: 300\\n      font-family: 'Roboto flex', sans-serif\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n    .km-layout-info-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      margin-left: auto\\n      > .wrapper\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        border-radius: 2px\\n        padding: .5rem 1.2rem\\n        font-size: 1.1rem\\n        font-weight: 800\\n        line-height: 1.1\\n        color: $secondary-color\\n        text-transform: uppercase\\n        background: #fff\\n        > div\\n          margin-left: 1.2rem\\n          padding-left: 1.6rem\\n          white-space: nowrap\\n          box-shadow: inset 1px 0 0 rgba($secondary-color, .2)\\n          font-weight: 500\\n          font-family: 'Roboto condensed', sans-serif\\n          > strong\\n            font-weight: 700\\n            color: $error-color\\n        > i\\n          font-size: 2.5rem\\n          color: $secondary-color\\n      @media screen and (max-width: 1400px)\\n        display: none\\n\\n    .km-layout-user\\n      position: relative\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      flex-shrink: 0\\n      margin-left: auto\\n      overflow: hidden\\n      > span\\n        border-radius: 50%\\n        width: min(2rem + 2.2vw, 4.2rem)\\n        height: min(2rem + 2.2vw, 4.2rem)\\n        overflow: hidden\\n        margin-left: 1rem\\n        background: rgba(#000, .1)\\n        box-shadow: inset 0 0 0 1px rgba(#fff, 1)\\n      > span.profile-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        > i\\n          font-size: min(1rem + 1vw, 2.1rem)\\n      > span.profile-picture\\n        background-position: 50% 50%\\n        background-size: cover\\n        background-repeat: no-repeat\\n      > div.user-profile\\n        display: flex\\n        align-items: flex-start\\n        justify-content: center\\n        flex-direction: column\\n        padding: 0 1rem\\n        font-size: 1.3rem\\n        line-height: 1.5rem\\n        height: $headerHeight\\n        cursor: pointer\\n        > strong.user-name-title\\n          align-self: flex-start\\n          font-size: min(1rem + .5vw, 1.4rem)\\n          line-height: 1.3\\n          font-weight: 600\\n          text-transform: uppercase\\n          letter-spacing: .05rem\\n          font-family: 'Roboto flex', sans-serif\\n          color: #fff\\n        > span\\n          display: block\\n          &.displayName\\n            font-weight: 70\\n          &.user-name\\n            max-width: 15vw\\n            text-overflow: ellipsis\\n            white-space: nowrap\\n            overflow: hidden\\n            font-weight: 400\\n            font-size: min(1rem + .5vw, 1.5rem)\\n            line-height: 1.3\\n            color: rgba(#fff, .8)\\n            font-family: 'Roboto condensed', sans-serif\\n          &.impersonation\\n            border-radius: 2px\\n            padding: 0.5rem\\n            font-size: 11px\\n            font-weight: 700\\n            line-height: 1\\n            color: red\\n            text-transform: uppercase\\n            background-color: #ffffff\\n            box-shadow: 0 0 10px #00000066\\n\\n      > a\\n        display: flex\\n        position: absolute\\n        flex-direction: row\\n        align-items: center\\n        justify-content: center\\n        top: calc($headerHeight * 1)\\n        right: 0\\n        width: 100%\\n        height: 100%\\n        font-size: 1.5rem\\n        text-decoration: none\\n        color: #fff\\n        opacity: .5\\n        font-weight: 200\\n        font-family: 'Roboto flex', sans-serif\\n        text-decoration: underline\\n        text-underline-offset: .4rem\\n        text-decoration-color: rgba(#fff, .4)\\n        background: #181f2b\\n        transition: top .5s ease, opacity .5s ease\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n      &:hover > a\\n        top: 0\\n        opacity: 1\\n\\n  aside + header\\n    left: $asideWidth\\n    transition: all .3s ease-in-out\\n    transition-delay: .1s\\n  & + router-view\\n    position: fixed\\n    top: $headerHeight\\n    right: 0\\n    bottom: 0\\n    left: $asideWidth\\n    transition: left .3s ease-in-out\\n    transition-delay: .2s\\n  \\n  &.collapsed aside\\n    transform: translateX(-100%)\\n    .km-layout-logo\\n      background-size: 200%\\n      transition-delay: .3s\\n  &.collapsed aside+header\\n    padding-left: $headerHeight\\n    left: 0\\n    transition-delay: 0s\\n  &.collapsed+router-view\\n    left: 0\\n    transition-delay: 0s\\n\\n@media screen and (max-width: 860px)\\n  km-layout\\n    aside+header\\n      padding-left: $headerHeight\\n      left: 0\\n    &+router-view\\n      left: 0\\n@media screen and (max-width: 620px)\\n  km-layout\\n    header\\n      .km-layout-user\\n        display: none\\n\",\"@import './km-layout-vars'\\n  \\n$headerHeight: 60px\\n$headerWidth: min(3rem + 3vw, $headerHeight)\\nkm-layout\\n  header\\n    .km-layout-toolbar\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      > button, > .button\\n        position: relative\\n        display: flex\\n        flex-direction: column\\n        align-items: center\\n        justify-content: center\\n        appearance: none\\n        -moz-appearance: none\\n        -webkit-appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: $headerWidth\\n        height: $headerHeight\\n        font-size: 13px\\n        font-weight: 700\\n        line-height: 1\\n        color: #fff\\n        text-decoration: none\\n        background: rgba(#000, .3)\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n        transition: all 0.3s ease-in-out\\n        i\\n          display: block\\n          font-size: min(1.5rem + 1vw, 2.5rem)\\n        span\\n          display: block\\n          font-size: min(.5rem + .5vw, 1rem)\\n          letter-spacing: .05rem\\n          font-weight: 300\\n          text-transform: uppercase\\n          opacity: 0\\n          font-family: 'Roboto condensed', sans-serif\\n        i+span\\n          height: 0\\n          overflow: hidden\\n          opacity: 0\\n          transition: all 0.3s ease-in-out\\n        &:hover i+span\\n          margin-top: 5px\\n          height: 10px\\n          opacity: .8\\n        b\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          position: absolute\\n          padding: 0 .5rem\\n          top: 4px\\n          right: 4px\\n          border-radius: 50%\\n          min-width: 24px\\n          height: 24px\\n          font-size: 1.2rem\\n          font-weight: 500\\n          color: darken($error-color, 5%)\\n          text-align: center\\n          background: #fff\\n          font-family: 'Roboto condensed', sans-serif\\n          animation: badge-pulse 1s ease-in-out infinite alternate\\n      > .button b\\n        letter-spacing: -.3px\\n      .notifications-error a[href=\\\"notifiche\\\"] > b\\n        font-size: 1.4rem\\n        color: $secondary-color\\n      > ul[data-subtool]\\n        position: absolute\\n        top: $headerHeight\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n        max-height: 0\\n        overflow: hidden\\n        background: $header-background-color\\n        transition: max-height .6s ease-in-out\\n        &.visible\\n          max-height: calc(#{$toolbar-dropdown-list-item-min-height} * #{$current-dropdown-list-item-number})\\n        li\\n          margin: 0\\n          padding: 0\\n          a\\n            display: flex\\n            align-items: center\\n            padding: 0 2rem\\n            font-size: 1.4rem\\n            color: #fff\\n            height: $toolbar-dropdown-list-item-min-height\\n            text-decoration: none\\n            background-color: rgba(#000,0.15)\\n            box-shadow: inset 0 2px 0 -1px rgba(#fff,0.3)\\n            transition: all 0.3s ease-in-out     \\n            > i\\n              margin-right: 1rem\\n              font-size: 2rem\\n              width: 2.5rem\\n              color: rgba(#fff, .8)\\n            > i.svg-icon\\n              margin-right: 1.1rem\\n              width: 2.3rem\\n              height: -moz-available\\n              height: -webkit-fill-available\\n              height: stretch\\n              background-position: center\\n              background-repeat: no-repeat\\n            > .label\\n              position: relative\\n              &:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: -1px\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: #fff\\n                transition: width .3s ease\\n            &:hover\\n              background-color: rgba(#000, .3)   \\n              > .label:before\\n                width: 100%\\n          &:first-of-type > a\\n            box-shadow: none\\n          \",\"@import './km-layout-vars'\\n@import './km-layout-aside'\\n@import './km-layout-header'\\n@import './km-layout-toolbar'\\n\\nkm-layout\\n  .km-layout-burger \\n    display: block\\n    position: fixed\\n    top: #{$headerHeight/2-20}\\n    left: #{$headerHeight/2-20}\\n    width: 4rem\\n    height: 4rem\\n    cursor: pointer\\n    z-index: 100\\n    text-align: center\\n    color: $primary-color\\n    .material-icons\\n      font-size: 2.8rem\\n      color: darken($primary-color, 5%)\\n      line-height: 4rem\\n      transition: color .3s ease-in-out\\n  &.collapsed\\n    .km-layout-burger\\n      color: #fff\\n      .material-icons\\n        color: #fff\\n\",\"body > .md-tooltip\\n  display: block\\n  position: absolute\\n  content: attr(ka-tooltip)\\n  z-index: 1100\\n  padding: 1rem\\n  border-radius: 2px\\n  border: 1px solid #e0e0e0\\n  max-width: 20rem\\n  line-height: 1.5 !important\\n  font-size: 1.3rem !important\\n  font-family: 'Roboto condensed', sans-serif\\n  opacity: 0\\n  color: $text-color\\n  background: #f9f9f9\\n  transform: translateX(-50%)\\n  box-shadow: 0 3px 6px -3px rgba(#000,0.5)\\n  pointer-events: none\\n  transition: opacity 0.5s\\n  &.visible\\n    opacity: 1\\n  ul \\n    margin: -0.5rem\\n    padding: 0\\n    list-style: none\\n    li\\n      line-height: 1.5 !important\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0.5rem\\n      &:last-of-type\\n        border-bottom: 0\\n\\nka-input[md-tooltip], md-input[md-tooltip], ka-control[md-tooltip], md-control[md-tooltip]\\n  i.tooltip-icon\\n    margin-left: 0\\n    font-size: 1.5rem\\n    cursor: pointer\\n    transition: color .3s\\n    vertical-align: bottom\\n  span + i.tooltip-icon\\n    margin-left: .4rem\\n    vertical-align: sub\\n  i.tooltip-icon:hover\\n    color: $primary-color\\n\",\"*[static-tooltip]\\n  display: inline-flex\\n  align-items: center\\n  line-height: inherit\\n  cursor: pointer\\n  transition: color .3s\\n  &:not(.has-custom-icon):after\\n    margin-left: 0.5rem !important\\n    @include fontawesome(\\\"\\\\f059\\\", \\\"regular\\\", inherit, 0 .5rem 0 0, $primary-color)\\n  &:hover\\n    color: $primary-color\\n  > i\\n    display: flex\\n    text-decoration: none\\n\\nbody > .static-tooltip\\n  font-size: 1.2rem\\n  color: #fff\\n  pointer-events: auto\\n  > .header\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    margin-bottom: .8rem\\n    padding: 0 0 1rem\\n    border-bottom: 1px dotted rgba(#fff, .3)\\n    > .header-title \\n      display: flex\\n      align-items: flex-end\\n      > i\\n        margin: 0 !important\\n        > svg\\n          width: 2.2rem\\n          height: 2.2rem\\n          margin: 0 !important\\n      > h3\\n        margin: 0\\n        padding: 0 1rem 0 .6rem\\n        font-size: 1.5rem\\n        font-weight: 500\\n        color: #fff\\n        order: 2\\n        font-family: 'Roboto flex', sans-serif\\n        &:first-child\\n          padding-left: 0\\n    > .closure:before\\n      cursor: pointer\\n      @include fontawesome(\\\"\\\\f2d3\\\", \\\"solid\\\", 1.7rem, 0, rgba(#fff, .95))\\n  > .value \\n    > p\\n      margin: 0\\n      font-size: 1.2rem\\n      color: #fff\\n      > strong\\n        font-size: 1.4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n      > a\\n        display: inline-block\\n        margin-top: .3rem\\n        font-weight: 300\\n        font-size: 1.4rem\\n        font-family: 'Roboto condensed', sans-serif\\n        text-underline-offset: .4rem\\n        color: #ffcb50\\n        text-shadow: 1px 1px 0 #000\\n        letter-spacing: .03rem\\n        &:hover\\n          color: #fff\\n        &:before\\n          @include fontawesome('\\\\f08e', 'regular', 1.3rem, 0 .5rem 0 0, #ffcb50)\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n*[md-action]\\n  --loader-width: 1.1em\\n  --loader-thickness: 3.5px\\n  display: inline-flex\\n  align-items: center\\n  cursor: pointer\\n  transition: color .3s ease\\n  &:hover\\n    color: darken($primary-color, 5%)\\n  .wrapper\\n    width: clamp(2.5rem, 1.5vw, 3.5rem)\\n    min-width: var(--loader-width)\\n    white-space: nowrap\\n    overflow: hidden\\n    text-overflow: ellipsis\\n    &.icon-after\\n      text-align: right\\n      margin-left: .5rem\\n      width: fit-content\\n      min-width: unset\\n      &.load > .spinner-loader\\n        display: inline-block\\n        vertical-align: text-top\\n    > i\\n      font-size: inherit\\n      color: darken($primary-color, 5%)\\n    > .spinner-loader\\n      display: none\\n      width: var(--loader-width)\\n      aspect-ratio: 1\\n      border-radius: 50%\\n      background: radial-gradient(farthest-side, $secondary-color 95%, #0000) top/var(--loader-thickness) var(--loader-thickness) no-repeat, conic-gradient(#0000 20%, $secondary-color)\\n      -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - var(--loader-thickness)), #000 0)\\n      animation: l13 1s infinite linear\\n  &.load\\n    display: inline-flex !important\\n    .wrapper > i\\n      display: none\\n    .wrapper > .spinner-loader\\n      display: block\\n    \\n@keyframes l13 \\n  100% \\n    transform: rotate(1turn)\\n  \\n\\n\",\"km-layout:not(.collapsed) + router-view\\n  & + .ka-toast, & + style + .ka-toast\\n    left: calc(50% + 15rem) !important\\n    transform: translate(-50%, calc(100% + 3rem)) !important\\n    &.visible\\n      transform: translate(-50%, 0) !important\\n  \\n.ka-toast\\n  position: fixed\\n  right: auto\\n  top: auto\\n  bottom: 2rem\\n  left: 50%\\n  z-index: 2000\\n  border: 0\\n  border-radius: 5px\\n  padding: 2rem\\n  overflow: hidden\\n  font-size: 1.3rem\\n  line-height: 1rem\\n  text-align: center\\n  color: #e0e0e0\\n  text-shadow: 0 0 5px #1a1a1a\\n  background-color: #404040\\n  box-shadow: inset 0 0 0 1px #101010, 0 0 10px rgba(#000, 0.5)\\n  transform: translate(-50%, calc(100% + 3rem))\\n  transition: all 0.5s\\n  &.visible\\n    transform: translate(-50%, 0)\\n  a\\n    color: #e0e0e0\\n\\n  &:before\\n    display: block\\n    position: absolute\\n    top: 0\\n    left: 0\\n    width: 5rem\\n    height: 5rem\\n    font-style: normal\\n    font-variant: normal\\n    font-size: 2rem\\n    line-height: 5rem\\n    text-align: center\\n    text-rendering: auto\\n    -webkit-font-smoothing: antialiased\\n\\n  &.ka-toast-loading\\n    padding-left: 4rem\\n    color: #ffffff\\n    background-color: #202020\\n    &:before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f1ce\\\"\\n      -webkit-animation: fa-spin 2s infinite linear\\n      animation: fa-spin 2s infinite linear\\n\\n  &.ka-toast-error\\n    padding-left: 4rem\\n    color: $error-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f06a\\\"\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      border-radius: 5px\\n      position: absolute\\n      inset: 0 0 0 0\\n      box-shadow: inset 0 0 0 1px #202020, inset 0 0 0 2px rgba($error-color, 0.5)\\n\\n  &.ka-toast-success\\n    padding-left: 4rem\\n    color: $success-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f058\\\"\\n\\n  &.ka-toast-accent, &.ka-toast-warning\\n    color: $accent-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f071\\\"\\n\\n  &.ka-toast-primary\\n    color: $primary-color\\n    background-color: #202020\\n\\n@keyframes animate-katoast-icon\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.5)\\n  0%\\n    transform: scale(1)\\n\",\"#serverStatus, #appUpdate\\n  position: fixed\\n  left: 0\\n  bottom: 0\\n  width: 100vw\\n  height: 5rem\\n  line-height: 5rem\\n  z-index: 200\\n  font-size: 1.4rem\\n  font-weight: 300\\n  color: #fff\\n  text-align: center\\n  background: $error-color\\n  text-shadow: 1px 1px 0 rgba(0, 0, 0, .8)\\n  box-shadow: 0 0 10px rgba(0, 0, 0, .2)\\n  &#appUpdate\\n    display: flex\\n    align-items: center\\n    justify-content: center\\n    strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, #fff)\\n    ka-button\\n      text-shadow: none\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".clause{margin:0 2rem 2rem}.clause ka-control{display:block;padding:0 !important;margin:0 !important}.clause ka-control .description{font-weight:bold}.clause p{font-size:1.3rem;margin:0;white-space:pre-line}.clause p a{font-family:\\\"Roboto condensed\\\",sans-serif;font-size:1.4rem;text-underline-offset:.3rem;transition:color .3s ease-in-out}.clause p a:hover{color:#ed5a23}.agreement .content{margin:2rem 1rem 0 1rem}.agreement .content>h2,.agreement .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}.agreement .content>h2:before,.agreement .content>h2:after,.agreement .content h3:before,.agreement .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}.agreement .content>h3{margin:1rem 0;font-size:1.4rem}.agreement .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}.agreement .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}.agreement .content h2+h4{font-weight:normal;color:#ed5a23}.agreement .content p+h2,.agreement .content p+h3,.agreement .content p+h4{margin-top:2rem}.agreement .content>p:last-child{margin-bottom:2rem}.agreement .content+.clauses{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/_agreement/agreement.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,QACE,kBAAA,CACA,mBACE,aAAA,CACA,oBAAA,CACA,mBAAA,CACA,gCACE,gBAAA,CACJ,UACE,gBAAA,CACA,QAAA,CACA,oBAAA,CACA,YACE,yCAAA,CACA,gBAAA,CACA,2BAAA,CACA,gCAAA,CACA,kBACE,aCpBQ,CDuBd,oBACE,uBAAA,CACA,8CACE,WAAA,CACA,aAAA,CACA,aC7BO,CD8BP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,sHACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,uBACE,aAAA,CACA,gBAAA,CACF,uBACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,0BACE,YAAA,CACA,kBAAA,CACA,aC9CU,CD+CZ,0BACE,kBAAA,CACA,aCjDU,CDkDZ,2EACE,eAAA,CACF,iCACE,kBAAA,CACJ,6BACE,eAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.clause\\n  margin: 0 2rem 2rem\\n  ka-control\\n    display: block\\n    padding: 0 !important\\n    margin: 0 !important\\n    .description \\n      font-weight: bold\\n  p\\n    font-size: 1.3rem \\n    margin: 0\\n    white-space: pre-line\\n    a\\n      font-family: 'Roboto condensed', sans-serif\\n      font-size: 1.4rem\\n      text-underline-offset: .3rem\\n      transition: color .3s ease-in-out\\n      &:hover\\n        color: $primary-color\\n\\n.agreement\\n  .content\\n    margin: 2rem 1rem 0 1rem\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n  .content + .clauses \\n    margin-top: 1rem\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.login,router-view.password-recovery,router-view.account-delete{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.login .wrapper,router-view.password-recovery .wrapper,router-view.account-delete .wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column;padding-top:102px}router-view.login .wrapper .loginbox,router-view.password-recovery .wrapper .loginbox,router-view.account-delete .wrapper .loginbox{position:relative;border-radius:3px;padding:2rem;width:300px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header,router-view.password-recovery .wrapper .loginbox header,router-view.account-delete .wrapper .loginbox header{display:block;padding-bottom:1rem;text-align:center;box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header img,router-view.password-recovery .wrapper .loginbox header img,router-view.account-delete .wrapper .loginbox header img{display:block;margin:0 auto;margin-bottom:1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox .form,router-view.password-recovery .wrapper .loginbox .form,router-view.account-delete .wrapper .loginbox .form{padding:2rem 0}router-view.login .wrapper .loginbox p,router-view.password-recovery .wrapper .loginbox p,router-view.account-delete .wrapper .loginbox p{border-radius:.5rem;background-color:rgba(var(--bs-warning-rgb), 0.5);margin:0 0 2rem 0}router-view.login .wrapper .loginbox p.errorMessage,router-view.password-recovery .wrapper .loginbox p.errorMessage,router-view.account-delete .wrapper .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}router-view.login .wrapper .loginbox button,router-view.login .wrapper .loginbox ka-button,router-view.password-recovery .wrapper .loginbox button,router-view.password-recovery .wrapper .loginbox ka-button,router-view.account-delete .wrapper .loginbox button,router-view.account-delete .wrapper .loginbox ka-button{margin:0}router-view.login .wrapper .loginbox .reset a,router-view.login .wrapper .loginbox .reset i,router-view.password-recovery .wrapper .loginbox .reset a,router-view.password-recovery .wrapper .loginbox .reset i,router-view.account-delete .wrapper .loginbox .reset a,router-view.account-delete .wrapper .loginbox .reset i{display:inline-block;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}router-view.login .wrapper .loginbox .reset a:hover,router-view.login .wrapper .loginbox .reset i:hover,router-view.password-recovery .wrapper .loginbox .reset a:hover,router-view.password-recovery .wrapper .loginbox .reset i:hover,router-view.account-delete .wrapper .loginbox .reset a:hover,router-view.account-delete .wrapper .loginbox .reset i:hover{text-decoration:underline}router-view.login .wrapper .loginbox canvas,router-view.password-recovery .wrapper .loginbox canvas,router-view.account-delete .wrapper .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox footer p,router-view.password-recovery .wrapper .loginbox footer p,router-view.account-delete .wrapper .loginbox footer p{margin:5px 0;line-height:1;text-align:right}router-view.login .wrapper .loginbox footer p.title,router-view.password-recovery .wrapper .loginbox footer p.title,router-view.account-delete .wrapper .loginbox footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}router-view.login .wrapper .loginbox footer a,router-view.password-recovery .wrapper .loginbox footer a,router-view.account-delete .wrapper .loginbox footer a{color:#404040}router-view.login .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.password-recovery .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.account-delete .wrapper .loginbox footer i.fas.fa-lock-alt::before{display:inline-block;margin-right:.5rem;border-radius:50%;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;vertical-align:middle;background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.login .wrapper .outbox,router-view.password-recovery .wrapper .outbox,router-view.account-delete .wrapper .outbox{padding-top:2rem;text-align:center}router-view.login .wrapper .outbox p,router-view.password-recovery .wrapper .outbox p,router-view.account-delete .wrapper .outbox p{margin:1rem 0;color:#11254b}router-view.login .wrapper .outbox p+.ka-button,router-view.password-recovery .wrapper .outbox p+.ka-button,router-view.account-delete .wrapper .outbox p+.ka-button{margin-top:0}router-view.login .wrapper .outbox .toggler,router-view.password-recovery .wrapper .outbox .toggler,router-view.account-delete .wrapper .outbox .toggler{display:block;cursor:pointer;padding:0;font-size:1.2rem;line-height:2rem;color:#ed5a23;text-decoration:none}router-view.login .wrapper .outbox .toggler:hover,router-view.password-recovery .wrapper .outbox .toggler:hover,router-view.account-delete .wrapper .outbox .toggler:hover{text-decoration:underline}router-view.login .wrapper .scope,router-view.password-recovery .wrapper .scope,router-view.account-delete .wrapper .scope{position:absolute;left:0;right:0;bottom:0;font-size:11px;font-weight:700;color:#d0d0d0;text-align:center;text-transform:uppercase}router-view.password-recovery .wrapper .loginbox .form{padding-bottom:0 !important;box-shadow:none}router-view.login .wrapper .loginbox .form{box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.account-delete .wrapper .loginbox .form{padding:2rem 0 1rem}router-view.account-delete .wrapper .loginbox .form p{margin-bottom:0;background-color:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/accesso/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AACA,2EACE,eAAA,CACA,eAAA,CACA,kFAAA,CAEA,sGACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CACA,iBAAA,CAEA,oIACE,iBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,wBAAA,CACA,mEAAA,CACA,yJACE,aAAA,CACA,mBAAA,CACA,iBAAA,CACA,0CAAA,CACA,qKACE,aAAA,CACA,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CACJ,sJACE,cAAA,CACF,0IACE,mBAAA,CACA,iDAAA,CACA,iBAAA,CACF,iLACE,mBAAA,CACA,SAAA,CAEF,2TACE,QAAA,CAEF,8TACE,oBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,kWACE,yBAAA,CAEJ,yJACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAGA,+JACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,iLACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aC3FI,CD4FR,+JACE,aC9FG,CD+FL,uOACE,oBAAA,CACA,kBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACA,kCAAA,CAEN,8HACE,gBAAA,CACA,iBAAA,CACA,oIACE,aAAA,CACA,aC/GU,CDgHZ,qKACE,YAAA,CACF,yJACE,aAAA,CACA,cAAA,CACA,SAAA,CACA,gBAAA,CACA,gBAAA,CACA,aCzHQ,CD0HR,oBAAA,CACA,2KACE,yBAAA,CAEN,2HACE,iBAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CAGJ,uDACE,2BAAA,CACA,eAAA,CAEF,2CACE,0CAAA,CAEF,oDACE,mBAAA,CACA,sDACE,eAAA,CACA,8BAAA\",\"sourcesContent\":[\"@import ../../static/vars\\nrouter-view.login, router-view.password-recovery, router-view.account-delete\\n  min-height: 100%\\n  max-height: 100%\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  .wrapper\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    display: -webkit-box\\n    display: -webkit-flex\\n    display: -moz-flex\\n    display: -ms-flexbox\\n    display: flex\\n    -webkit-flex-wrap: wrap\\n    -moz-flex-wrap: wrap\\n    -ms-flex-wrap: wrap\\n    flex-wrap: wrap\\n    -webkit-box-pack: center\\n    -ms-flex-pack: center\\n    -webkit-justify-content: center\\n    -moz-justify-content: center\\n    justify-content: center\\n    -webkit-box-align: center\\n    -ms-flex-align: center\\n    -webkit-align-items: center\\n    -moz-align-items: center\\n    align-items: center\\n    flex-direction: column\\n    -ms-flex-direction: column\\n    -moz-flex-direction: column\\n    -webkit-flex-direction: column\\n    padding-top: 102px // it os centered but moved 102px up cause the 'register now' button\\n\\n    .loginbox\\n      position: relative\\n      border-radius: 3px\\n      padding: 2rem\\n      width: 300px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      header\\n        display: block\\n        padding-bottom: 1rem\\n        text-align: center\\n        box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\n        img\\n          display: block\\n          margin: 0 auto\\n          margin-bottom: 1rem\\n          width: 100%\\n          max-width: 250px\\n      .form\\n        padding: 2rem 0\\n      p\\n        border-radius: 0.5rem\\n        background-color: rgba(var(--bs-warning-rgb), 0.5)\\n        margin: 0 0 2rem 0\\n      p.errorMessage\\n        margin: -2rem 0 2rem\\n        color: red\\n\\n      button, ka-button\\n        margin: 0\\n\\n      .reset a, .reset i\\n        display: inline-block\\n        font-size: 1.2rem\\n        line-height: 3rem\\n        color: #909090\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n      canvas\\n        display: block\\n        margin: 0 1rem 1rem\\n        width: 100%\\n        max-width: 250px\\n\\n      footer\\n        p\\n          margin: 5px 0\\n          line-height: 1\\n          text-align: right\\n          &.title\\n            margin-bottom: 0\\n            font-size: 1.8rem\\n            font-weight: 300\\n            color: $primary-color\\n        a\\n          color: $text-color\\n        i.fas.fa-lock-alt::before\\n          display: inline-block\\n          margin-right: 0.5rem\\n          border-radius: 50%\\n          width: 3rem\\n          height: 3rem\\n          font-size: 1.4rem\\n          line-height: 3rem\\n          text-align: center\\n          vertical-align: middle\\n          background-color: #ffffff\\n          box-shadow: inset 0 0 0 1px #e0e0e0\\n\\n    .outbox\\n      padding-top: 2rem\\n      text-align: center\\n      p\\n        margin: 1rem 0\\n        color: $secondary-color\\n      p + .ka-button\\n        margin-top: 0\\n      .toggler\\n        display: block\\n        cursor: pointer\\n        padding: 0\\n        font-size: 1.2rem\\n        line-height: 2rem\\n        color: $primary-color\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n    .scope\\n      position: absolute\\n      left: 0\\n      right: 0\\n      bottom: 0\\n      font-size: 11px\\n      font-weight: 700\\n      color: #d0d0d0\\n      text-align: center\\n      text-transform: uppercase\\n\\nrouter-view.password-recovery\\n  .wrapper .loginbox .form\\n    padding-bottom: 0 !important\\n    box-shadow: none\\nrouter-view.login\\n  .wrapper .loginbox .form\\n    box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\nrouter-view.account-delete\\n  .wrapper .loginbox .form\\n    padding: 2rem 0 1rem\\n    p\\n      margin-bottom: 0\\n      background-color: transparent\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.sponsor-agreement{max-width:fit-content}ux-dialog.sponsor-agreement .body{overflow-x:hidden !important}ux-dialog.sponsor-agreement .body ka-control[name=agreementText]{width:100%}ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck.ck-editor__main,ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.sponsor-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass\"],\"names\":[],\"mappings\":\"AAGA,4BACE,qBAAA,CACA,kCACE,4BAAA,CACA,iEACE,UAAA,CACA,kPACE,WAAA,CACN,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.sponsor-agreement\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"agreementText\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #E5E5E5\\n    text-align: right\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-landing-pages td:not(:first-child),router-view.anagrafiche-landing-pages th:not(:first-child){padding-left:.7rem}router-view.anagrafiche-landing-pages .reseller-tags{text-align:right}router-view.anagrafiche-landing-pages .reseller-tags .tag{position:relative;margin:0 3px 3px 0;padding:3px 5px;border-radius:3px}router-view.anagrafiche-landing-pages .reseller-tags .tag>p{margin:0;font-weight:600;line-height:1.1;font-size:1.1rem;color:#fff}router-view.anagrafiche-landing-pages .reseller-tags .tag>p>span{font-weight:400;font-size:.9rem}router-view.anagrafiche-landing-pages .reseller-tags .tag>i{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;width:0;height:0;border-radius:3px;box-shadow:0 0 0 1px #9d340d;overflow:hidden;font-size:1.4rem;color:#fff;background:#ed5a23;transform:translateX(3rem);transition:transform .3s;cursor:pointer}router-view.anagrafiche-landing-pages .reseller-tags .tag:hover>i{width:3rem;height:100%;transform:translateX(0)}router-view.anagrafiche-landing-pages .sponsor-dialog{cursor:pointer;text-decoration:underline;transition:color .3s}router-view.anagrafiche-landing-pages .sponsor-dialog:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/landing-pages/landing-pages.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,sHACE,kBAAA,CACF,qDACE,gBAAA,CACA,0DACE,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iBAAA,CACA,4DACE,QAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,iEACE,eAAA,CACA,eAAA,CACJ,4DACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,4BAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,kBClCQ,CDmCR,0BAAA,CACA,wBAAA,CACA,cAAA,CACF,kEACE,UAAA,CACA,WAAA,CACA,uBAAA,CACN,sDACE,cAAA,CACA,yBAAA,CACA,oBAAA,CACA,4DACE,aC/CU\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.anagrafiche-landing-pages\\n  td:not(:first-child), th:not(:first-child)\\n    padding-left: .7rem\\n  .reseller-tags\\n    text-align: right\\n    .tag \\n      position: relative\\n      margin: 0 3px 3px 0\\n      padding: 3px 5px\\n      border-radius: 3px\\n      > p\\n        margin: 0\\n        font-weight: 600\\n        line-height: 1.1\\n        font-size: 1.1rem\\n        color: #fff\\n        > span\\n          font-weight: 400\\n          font-size: .9rem\\n      > i\\n        display: flex\\n        justify-content: center\\n        align-items: center\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        border-radius: 3px\\n        box-shadow: 0 0 0 1px darken($primary-color, 20%)\\n        overflow: hidden\\n        font-size: 1.4rem\\n        color: #fff\\n        background: $primary-color\\n        transform: translateX(3rem)\\n        transition: transform 0.3s\\n        cursor: pointer    \\n      &:hover > i\\n        width: 3rem\\n        height: 100%\\n        transform: translateX(0)\\n  .sponsor-dialog\\n    cursor: pointer\\n    text-decoration: underline\\n    transition: color .3s\\n    &:hover\\n      color: $primary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.gestione-rubrica-importazione h2+.step-box{margin-top:-0.5rem}router-view.gestione-rubrica-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.gestione-rubrica-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.gestione-rubrica-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.gestione-rubrica-importazione .step-description{margin:0;padding:1rem}router-view.gestione-rubrica-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.gestione-rubrica-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.gestione-rubrica-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.gestione-rubrica-importazione .step-separator{display:none}}router-view.gestione-rubrica-importazione h2.table_title{margin:0 0 0}router-view.gestione-rubrica-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.gestione-rubrica-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.gestione-rubrica-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td:last-child,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica-importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,oDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,uDAEF,kBACE,CAAA,mFAEF,iBACE,CAAA,uDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,sDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,4DAGF,QACE,CAAA,YACA,CAAA,iFAEA,cACE,CAAA,aACA,CAAA,0DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,gEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,0DACE,YAAA,CAAA,CAAA,yDAIF,YACE,CAAA,oFAEA,aACE,CAAA,2DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,+EAEA,kBACE,CAAA,wFACA,iBACE,CAAA,iGACA,gBACE,CAAA,oGAIF,mBACE,CAAA,gLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,sMAEA,iBACE,CAAA,wFAIJ,+BACE,CAAA,2FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,uGAEA,eACE,CAAA,oGAEF,eACE,CAAA,oGAEF,sBACE,CAAA,eACA,CAAA,6GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,sMAIJ,SAEE,CAAA,sGAGF,aACE,CAAA,QACA,CAAA,4GACA,YACE,CAAA,qHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,wFAON,kBACE,CAAA,8BACA,CAAA,6FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,+FAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,oGAEA,aACE,CAAA,eACA,CAAA,wFAMR,SACE,CAAA,YACA,CAAA,qFAKA,UACE,CAAA,8FACA,SACE,CAAA,6dAGJ,SACE,CAAA,mGAGA,kBACE,CAAA,6HAEF,oBACE,CAAA,mGAIF,qCACE,CAAA,6HAEF,oBACE,CAAA,iGAIF,oCACE,CAAA,mQAGA,eAEE,CAAA,eACA,CAAA,sGAKJ,sCACE,CAAA,6QAGA,eAEE,CAAA,eACA,CAAA,2GAKJ,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,kBACE,CAAA,qIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,qCACE,CAAA,qIAEF,oBACE,CAAA,yGAIF,qCACE,CAAA,mIAEF,oBACE,CAAA,yGAEF,oCACE,CAAA,mRAGA,eAEE,CAAA,eACA,CAAA,8GAKJ,qCACE,CAAA,wIAEF,oBACE,CAAA,8GAEF,sCACE,CAAA,6RAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.gestione-rubrica-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica .contacts_table td>*{display:block;white-space:nowrap}router-view.gestione-rubrica ka-button.inverted{background-color:rgba(0,0,0,0)}router-view.gestione-rubrica ka-button.inverted:hover:not(.disabled){background-color:#fff}router-view.gestione-rubrica ka-button.disabled{color:#b0b0b0;background-color:rgba(192,192,192,.2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica.scss\"],\"names\":[],\"mappings\":\"AACE,kDAAA,aAAA,CAAA,kBAAA,CAEE,gDAAA,8BAAA,CACA,qEAAA,qBAAA,CACA,gDAAA,aAAA,CAAA,qCAAA\",\"sourcesContent\":[\"router-view.gestione-rubrica {\\n  .contacts_table td > * { display: block; white-space: nowrap; }\\n  ka-button {\\n    &.inverted { background-color: transparent; }\\n    &.inverted:hover:not(.disabled) { background-color: #fff; }\\n    &.disabled { color: #b0b0b0; background-color: #c0c0c033; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.migrate-subuser .body{padding:1rem 2rem 2rem}ux-dialog.migrate-subuser .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.migrate-subuser .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass\"],\"names\":[],\"mappings\":\"AAGE,gCACE,sBAAA,CACF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.migrate-subuser\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.profilo-add-reseller .footer{padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass\"],\"names\":[],\"mappings\":\"AAIE,uCACE,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.profilo-add-reseller\\n  .footer\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.delete-billing-profile .body{padding:2rem}ux-dialog.delete-billing-profile .body p:first-letter{text-transform:capitalize}ux-dialog.delete-billing-profile .body ul{padding:0;margin:0;list-style:none}ux-dialog.delete-billing-profile .body ul li span{display:block;border:1px solid #e0e0e0;padding:1rem;background-color:#fff}ux-dialog.delete-billing-profile .body ul li+li{margin-top:.5rem}ux-dialog.delete-billing-profile .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.delete-billing-profile .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass\"],\"names\":[],\"mappings\":\"AAGE,uCACE,YAAA,CACA,sDACE,yBAAA,CACF,0CACE,SAAA,CACA,QAAA,CACA,eAAA,CAEE,kDACE,aAAA,CACA,wBAAA,CACA,YAAA,CACA,qBAAA,CACJ,gDACE,gBAAA,CACN,yCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,6DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.delete-billing-profile\\n  .body \\n    padding: 2rem\\n    p:first-letter\\n      text-transform: capitalize\\n    ul\\n      padding: 0\\n      margin: 0\\n      list-style: none \\n      li\\n        span\\n          display: block\\n          border: 1px solid #e0e0e0\\n          padding: 1rem\\n          background-color: #ffffff\\n      li + li\\n        margin-top: .5rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.utenti-dialog-documenti-upload .body{padding:1rem 2rem 2rem}ux-dialog.utenti-dialog-documenti-upload .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.utenti-dialog-documenti-upload .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass\"],\"names\":[],\"mappings\":\"AACE,+CACE,sBAAA,CACF,iDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qEACE,aAAA\",\"sourcesContent\":[\"ux-dialog.utenti-dialog-documenti-upload\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-compensi .hidden-content ka-control-date .display-value{color:rgba(0,0,0,0);transition:color .2s}router-view.anagrafiche-utenti-compensi table .user-tag{display:flex;justify-content:flex-end}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control{flex-grow:1;height:3rem}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>button{cursor:pointer}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>div{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control ka-control-text>input{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag ka-control.readonly.tag-disabled{box-shadow:none}router-view.anagrafiche-utenti-compensi table .user-tag>ka-button{display:inline-flex;justify-content:center;align-items:center;height:3rem;width:4.5rem;margin:0}router-view.anagrafiche-utenti-compensi table .user-service+.user-service:before{content:\\\", \\\"}router-view.anagrafiche-utenti-compensi table tr.service td{font-size:1.1rem;line-height:1;color:#606060}router-view.anagrafiche-utenti-compensi table tr.total{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-compensi table .not-associated>td{opacity:.5}router-view.anagrafiche-utenti-compensi table.ka-table-like .ka-table-button:not(.disabled):hover{background:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/compensi.sass\"],\"names\":[],\"mappings\":\"AAKE,uFACE,mBAAA,CACA,oBAAA,CAIA,wDACE,YAAA,CACA,wBAAA,CACA,mEACE,WAAA,CACA,WAAA,CACA,0EACE,cAAA,CACF,uEACE,WAAA,CACF,yFACE,WAAA,CAEJ,yFACE,eAAA,CACF,kEACE,mBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CACA,QAAA,CAGF,iFACE,YAAA,CAGF,4DACE,gBAAA,CACA,aAAA,CACA,aAAA,CAEJ,uDACE,4BAAA,CAEF,iEACE,UAAA,CAEF,kGACE,wBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-compensi\\n\\n  .hidden-content ka-control-date .display-value\\n    color: transparent\\n    transition: color .2s\\n\\n  table\\n\\n    .user-tag\\n      display: flex\\n      justify-content: flex-end\\n      > ka-control \\n        flex-grow: 1\\n        height: 3rem\\n        > button\\n          cursor: pointer\\n        > div \\n          height: 100%\\n        ka-control-text > input\\n          height: 100%\\n      \\n      ka-control.readonly.tag-disabled \\n        box-shadow: none\\n      > ka-button\\n        display: inline-flex\\n        justify-content: center\\n        align-items: center\\n        height: 3rem\\n        width: 4.5rem\\n        margin: 0\\n      \\n    .user-service + .user-service\\n      &:before\\n        content: \\\", \\\"\\n    \\n    tr.service\\n      td\\n        font-size: 1.1rem\\n        line-height: 1\\n        color: #606060\\n\\n    tr.total\\n      border-top: 1px solid #e0e0e0\\n    \\n    .not-associated > td\\n      opacity: .5\\n    \\n    &.ka-table-like .ka-table-button:not(.disabled):hover\\n      background: transparent\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-documenti .alert{color:#404040}router-view.anagrafiche-utenti-documenti .alert>i{font-size:1.2rem;color:#ed5a23}router-view.anagrafiche-utenti-documenti .document>i{font-size:2rem;color:rgba(64,64,64,.4)}router-view.anagrafiche-utenti-documenti .document.uploaded>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document.refused>i{color:#404040}router-view.anagrafiche-utenti-documenti .document.approved>i{color:#1cc800}router-view.anagrafiche-utenti-documenti .document-type-row{position:relative;z-index:3;background-color:#fff !important}router-view.anagrafiche-utenti-documenti .document-type-row.open{box-shadow:0 5px 5px -5px rgba(64,64,64,.3) !important}router-view.anagrafiche-utenti-documenti .document-type-row:not(:first-of-type){border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-type-row .missing-documents>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document-type-row .toggle-content>i{transition:transform ease-in .2s;cursor:pointer}router-view.anagrafiche-utenti-documenti .document-type-row:not(.open) .toggle-content>i{transform:rotate(180deg)}router-view.anagrafiche-utenti-documenti .document-row{background:#f8f8f8;box-shadow:none;border:0;display:none}router-view.anagrafiche-utenti-documenti .document-row+.document-row{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-row.visible{display:table-row}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/documenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,iEACE,oBAAA,CACA,uEACE,UAAA,CAEJ,gDACE,aCVS,CDWT,kDACE,gBAAA,CACA,aCZU,CDcZ,qDACE,cAAA,CACA,uBAAA,CACF,8DACE,aClBU,CDmBZ,6DACE,aCrBO,CDsBT,8DACE,aCjBU,CDmBd,4DACE,iBAAA,CACA,SAAA,CACA,gCAAA,CACA,iEACE,sDAAA,CACF,gFACE,4BAAA,CACF,iFACE,aCjCU,CDkCZ,8EACE,gCAAA,CACA,cAAA,CACF,yFACE,wBAAA,CAEJ,uDACE,kBAAA,CACA,eAAA,CACA,QAAA,CACA,YAAA,CACA,qEACE,4BAAA,CACF,+DACE,iBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-documenti\\n  h2 > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n\\n  .alert\\n    color: $text-color\\n    > i \\n      font-size: 1.2rem\\n      color: $primary-color\\n  .document \\n    & > i \\n      font-size: 2rem\\n      color: rgba($text-color, 0.4)\\n    &.uploaded > i \\n      color: $primary-color\\n    &.refused > i \\n      color: $text-color\\n    &.approved > i \\n      color: $success-color\\n\\n  .document-type-row\\n    position: relative\\n    z-index: 3\\n    background-color: #fff !important\\n    &.open\\n      box-shadow: 0 5px 5px -5px rgba($text-color, 0.3) !important\\n    &:not(:first-of-type)\\n      border-top: 1px solid #e0e0e0    \\n    .missing-documents > i \\n      color: $primary-color \\n    .toggle-content > i\\n      transition: transform ease-in .2s\\n      cursor: pointer\\n    &:not(.open) .toggle-content > i\\n      transform: rotate(180deg)\\n\\n  .document-row\\n    background: #f8f8f8\\n    box-shadow: none\\n    border: 0\\n    display: none\\n    & + .document-row\\n      border-top: 1px solid #e0e0e0\\n    &.visible \\n      display: table-row\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti h2 ka-button{margin:10px 10px 10px 0}router-view.anagrafiche-utenti .ka-input-button.add{display:none}router-view.anagrafiche-utenti .users_search.row{margin:0;padding:0 1rem}router-view.anagrafiche-utenti .users_search.row div[class*=col-],router-view.anagrafiche-utenti .users_search.row div.col{padding:0 1rem 0 0}@media all and (max-width: 1199px){router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap,router-view.anagrafiche-utenti .users_search.row div.col.wrap{padding-right:0}router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap.wrap.ricerca_libera,router-view.anagrafiche-utenti .users_search.row div.col.wrap.wrap.ricerca_libera{padding-right:1rem}}router-view.anagrafiche-utenti .users_search.row .row{margin:0;padding:0}router-view.anagrafiche-utenti .users_search.row .button{display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}router-view.anagrafiche-utenti .users_search.row .button>ka-button{margin:0;margin-top:14px;margin-left:1rem}router-view.anagrafiche-utenti .users_table span.id-enabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800}router-view.anagrafiche-utenti .users_table span.id-disabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(255,51,0,.7);box-shadow:inset 0 0 0 1px #f30}router-view.anagrafiche-utenti .users_table .sponsors{display:inline-block;padding:0 .5rem;margin-top:.3rem;border-radius:.2rem;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);white-space:nowrap}router-view.anagrafiche-utenti .users_table .sponsors>span{cursor:pointer}router-view.anagrafiche-utenti .users_table .sponsors>span+span{margin-left:.5rem}router-view.anagrafiche-utenti .users_table td .material-icons.businessType{color:#ed5a23;vertical-align:bottom;padding-right:1rem;text-align:left}router-view.anagrafiche-utenti .users_table td a{color:inherit;text-decoration:none}router-view.anagrafiche-utenti .users_table td a:hover{text-decoration:underline}router-view.anagrafiche-utenti .users_table .migration a{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/elenco.scss\"],\"names\":[],\"mappings\":\"AAGE,4CAAA,uBAAA,CACA,oDAAA,YAAA,CAEA,iDACE,QAAA,CACA,cAAA,CAEA,2HACE,kBAAA,CAEA,mCACE,qIACE,eAAA,CAEA,6KAAA,kBAAA,CAAA,CAIN,sDAAA,QAAA,CAAA,SAAA,CAEA,yDACE,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,gCAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,QAAA,CAAA,eAAA,CAAA,gBAAA,CAKF,4DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CAGF,6DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,+BAAA,CAGF,sDACE,oBAAA,CACA,eAAA,CACA,gBAAA,CACA,mBAAA,CACA,4BAAA,CACA,sCAAA,CACA,kBAAA,CACA,2DACE,cAAA,CACA,gEAAA,iBAAA,CAIJ,4EACE,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,eAAA,CAGF,iDACE,aAAA,CACA,oBAAA,CACA,uDAAA,yBAAA,CAIA,yDAAA,yBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars';\\n\\nrouter-view.anagrafiche-utenti {\\n  h2 ka-button { margin: 10px 10px 10px 0; }\\n  .ka-input-button.add { display: none; }\\n\\n  .users_search.row {\\n    margin: 0;\\n    padding: 0 1rem;\\n\\n    div[class*=\\\"col-\\\"], div.col {\\n      padding: 0 1rem 0 0;\\n\\n      @media all and (max-width: 1199px) {\\n        &.wrap {\\n          padding-right: 0;\\n\\n          &.wrap.ricerca_libera { padding-right: 1rem; }\\n        }\\n      }\\n    }\\n    .row { margin: 0; padding: 0; }\\n\\n    .button {\\n      display: -ms-flexbox;\\n      display: -webkit-flex;\\n      display: flex;\\n      -webkit-justify-content: flex-end;\\n      -ms-flex-pack: end;\\n      justify-content: flex-end;\\n      > ka-button { margin: 0; margin-top: 14px; margin-left: 1rem; }\\n    }\\n  }\\n\\n  .users_table {\\n    span.id-enabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($success-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $success-color;\\n    }\\n\\n    span.id-disabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($error-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $error-color;\\n    }\\n\\n    .sponsors {\\n      display: inline-block;\\n      padding: 0 .5rem;\\n      margin-top: .3rem;\\n      border-radius: .2rem;\\n      background: rgba($text-color, 0.1);\\n      box-shadow: 0 0 0 1px rgba($text-color, 0.3);\\n      white-space: nowrap;\\n      > span {\\n        cursor: pointer;\\n        & + span { margin-left: .5rem; }\\n      }\\n    }\\n\\n    td .material-icons.businessType {\\n      color: #ED5A23;\\n      vertical-align: bottom;\\n      padding-right: 1rem;\\n      text-align: left;\\n    }\\n\\n    td a {\\n      color: inherit;\\n      text-decoration: none;\\n      &:hover { text-decoration: underline; }\\n    }\\n\\n    .migration {\\n      a { text-decoration: underline; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-fatturazione .primary-text{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert.primary{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert.completed>i{color:#1cc800}router-view.anagrafiche-utenti-fatturazione .alert.refused>i{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert>i{margin-right:.4rem;font-size:inherit;color:#ed5a23}router-view.anagrafiche-utenti-fatturazione small.alert>i{font-size:1.2rem}router-view.anagrafiche-utenti-fatturazione table tr.row-error{background:rgba(255,102,0,.05)}router-view.anagrafiche-utenti-fatturazione table td.billing small span{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn{border-radius:0;border-bottom:1px solid rgba(64,64,64,.3);box-shadow:none !important}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn.readonly{border-bottom:1px solid rgba(64,64,64,.1);cursor:standard}router-view.anagrafiche-utenti-fatturazione table td.sdd>span{display:block;white-space:nowrap}router-view.anagrafiche-utenti-fatturazione table td.sdd>span:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.enabled:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.activation-errors:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details>small{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd>small{display:inline-block;margin-top:.25rem}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{display:block;text-decoration:underline;transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:hover,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{color:#f30}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione label{display:block;line-height:1.5rem;font-size:1.2rem;color:rgba(237,90,35,.7);white-space:nowrap}router-view.anagrafiche-utenti-fatturazione .mav-button{animation:2.1s ease-in-out infinite pulse-button}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message{margin:.5rem 0 0;line-height:1.1}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message i{margin-right:.3rem;color:#ed5a23 !important}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th{padding:7px;height:4rem}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td small,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th small{font-size:1.3rem;color:#404040}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead{border:0}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr{border:0;background:linear-gradient(180deg, transparent 10%, #fff);box-shadow:inset 0 -1px 0 0 #cacaca}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr{border:0;background:linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td ka-button{flex-shrink:0;margin:1rem 0 0;padding:0 8px;line-height:2.5rem;height:2.5rem;font-size:1.3rem;font-weight:500}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td a{display:block;font-size:1.2rem;color:#ed5a23;text-decoration:underline}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td.deleted>small{color:#f30}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr+tr{box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.anagrafiche-utenti-fatturazione .mav-request-status.ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status.REFUSED:before,router-view.anagrafiche-utenti-fatturazione .mav-request-status.DELETED:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status:not(.ACTIVE):not(.REFUSED):not(.DELETED):before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:top;animation:unset;font-weight:900;animation:rotate infinite 3s 1s}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}router-view.anagrafiche-utenti-fatturazione .authorizations .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .authorizations .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-fatturazione .authorizations .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-fatturazione .authorizations .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-fatturazione .authorizations .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}@keyframes pulse-button{0%{transform:scale(1)}5%{transform:scale(1.03)}20%{transform:scale(1)}25%{transform:scale(1.03)}40%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/fatturazione.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-fatturazione\\n  h3.auth-mav-title > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n  .primary-text \\n    color: #ed5a23\\n    \\n  .alert\\n    color: $text-color\\n    &.primary\\n      color: $primary-color\\n    &.completed > i\\n      color: $success-color\\n    &.refused > i\\n      color: $text-color\\n    > i\\n      margin-right: .4rem\\n      font-size: inherit\\n      color: $primary-color\\n  small.alert > i\\n    font-size: 1.2rem\\n\\n  table\\n    tr.row-error\\n      background: rgba(255, 102, 0, 0.05)\\n    td.billing small span\\n      color: $text-color\\n    td.iban\\n      ka-button.check-iban-btn\\n        border-radius: 0\\n        border-bottom: 1px solid rgba(64, 64, 64, 0.3)\\n        box-shadow: none !important\\n        &.readonly\\n          border-bottom: 1px solid rgba(64, 64, 64, 0.1)\\n          cursor: standard\\n    td.sdd\\n      > span\\n        display: block\\n        white-space: nowrap\\n        &:before\\n          @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $secondary-color, top)\\n        &.enabled\\n          &:before\\n            @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $success-color, top)\\n        &.activation-errors\\n          &:before\\n            @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $error-color, top)\\n      .error-details\\n        color: $primary-color\\n        > small\\n          color: $primary-color\\n      > small\\n        display: inline-block\\n        margin-top: .25rem\\n    td.authorization\\n      .create-mav-request, .delete-mav-request\\n        display: block\\n        text-decoration: underline\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n\\n      .create-mav-request\\n        color: $primary-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f067\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color, middle)\\n\\n      .delete-mav-request\\n        color: $error-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $error-color, middle)\\n\\n      .REFUSED\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n\\n      .ACTIVE:before\\n        @include fontawesome(\\\"\\\\f00c\\\", \\\"regular\\\", 1.2rem, 0, $success-color)\\n\\n      .iban-required\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\\n  // Mav (fatturazione-editor)\\n  label \\n    display: block\\n    line-height: 1.5rem\\n    font-size: 1.2rem\\n    color: rgba($primary-color, .7)\\n    white-space: nowrap\\n  .mav-button \\n    animation: 2.1s ease-in-out infinite pulse-button\\n  .mav-requests \\n    .alert-message \\n      margin: .5rem 0 0\\n      line-height: 1.1\\n      i \\n        margin-right: .3rem\\n        color: $primary-color !important\\n    table\\n      tbody tr td, thead tr th \\n        padding: 7px\\n        height: 4rem\\n        small \\n          font-size: 1.3rem\\n          color: $text-color\\n      thead \\n        border: 0\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, transparent 10%, #fff)\\n          box-shadow: inset 0 -1px 0 0 #cacaca\\n      tbody\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)\\n          td\\n            ka-button \\n              flex-shrink: 0\\n              margin: 1rem 0 0\\n              padding: 0 8px\\n              line-height: 2.5rem\\n              height: 2.5rem\\n              font-size: 1.3rem\\n              font-weight: 500\\n            a \\n              display: block\\n              font-size: 1.2rem\\n              color: $primary-color\\n              text-decoration: underline\\n            &.deleted > small \\n              color: $error-color\\n          & + tr \\n            box-shadow: inset 0 1px 0 0 #e0e0e0\\n  .mav-request-status\\n    &.ACTIVE:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $success-color, top)\\n    &.REFUSED:before, &.DELETED:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color, top)\\n    &:not(.ACTIVE):not(.REFUSED):not(.DELETED):before\\n      @include fontawesome(\\\"\\\\f253\\\", \\\"solid\\\", 1.4rem, 0 .5rem 0 0, $pending-color, top)\\n      animation: rotate infinite 3s 1s\\n      @keyframes rotate\\n        0%\\n          transform: rotate(0deg)\\n        100%\\n          transform: rotate(360deg)\\n  // authorizations\\n  .authorizations\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n\\n@keyframes pulse-button \\n  0%\\n    transform: scale(1)\\n  5%\\n    transform: scale(1.03)\\n  20% \\n    transform: scale(1)\\n  25%\\n    transform: scale(1.03)\\n  40%\\n    transform: scale(1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.anagrafiche-utenti-importazione h2+.step-box{margin-top:-0.5rem}router-view.anagrafiche-utenti-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.anagrafiche-utenti-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.anagrafiche-utenti-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.anagrafiche-utenti-importazione .step-description{margin:0;padding:1rem}router-view.anagrafiche-utenti-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.anagrafiche-utenti-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.anagrafiche-utenti-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.anagrafiche-utenti-importazione .step-separator{display:none}}router-view.anagrafiche-utenti-importazione h2.table_title{margin:0 0 0}router-view.anagrafiche-utenti-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.anagrafiche-utenti-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td:last-child,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,sDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,yDAEF,kBACE,CAAA,qFAEF,iBACE,CAAA,yDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,wDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,8DAGF,QACE,CAAA,YACA,CAAA,mFAEA,cACE,CAAA,aACA,CAAA,4DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,kEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,4DACE,YAAA,CAAA,CAAA,2DAGF,YACE,CAAA,sFAEA,aACE,CAAA,6DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,iFAEA,kBACE,CAAA,0FACA,iBACE,CAAA,mGACA,gBACE,CAAA,sGAIF,mBACE,CAAA,oLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,0MAEA,iBACE,CAAA,0FAIJ,+BACE,CAAA,6FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,yGAEA,eACE,CAAA,sGAEF,eACE,CAAA,sGAEF,sBACE,CAAA,eACA,CAAA,+GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,0MAIJ,SAEE,CAAA,wGAGF,aACE,CAAA,QACA,CAAA,8GACA,YACE,CAAA,uHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,0FAON,kBACE,CAAA,8BACA,CAAA,+FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,iGAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,sGAEA,aACE,CAAA,eACA,CAAA,0FAMR,SACE,CAAA,YACA,CAAA,uFAKA,UACE,CAAA,gGACA,SACE,CAAA,ueAGJ,SACE,CAAA,qGAGA,kBACE,CAAA,+HAEF,oBACE,CAAA,qGAIF,qCACE,CAAA,+HAEF,oBACE,CAAA,mGAIF,oCACE,CAAA,uQAGA,eAEE,CAAA,eACA,CAAA,wGAKJ,sCACE,CAAA,iRAGA,eAEE,CAAA,eACA,CAAA,6GAKJ,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,kBACE,CAAA,uIAEF,oBACE,CAAA,6GAIF,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,qCACE,CAAA,uIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,oCACE,CAAA,uRAGA,eAEE,CAAA,eACA,CAAA,gHAKJ,qCACE,CAAA,0IAEF,oBACE,CAAA,gHAEF,sCACE,CAAA,iSAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.anagrafiche-utenti-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-impostazioni .assistance strong+strong:before{content:\\\"e \\\"}router-view.anagrafiche-utenti-impostazioni .assistance strong:last-child:after{content:\\\".\\\"}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/impostazioni.sass\"],\"names\":[],\"mappings\":\"AAMM,6EACE,YAAA,CACJ,gFACE,WAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-impostazioni\\n  .assistance\\n    strong + strong\\n      &:before\\n        content: 'e '\\n    strong:last-child:after\\n      content: '.'\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-segnalatori .service-groups .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-segnalatori .service-groups .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-segnalatori .service-groups .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-segnalatori .service-groups .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-segnalatori .service-groups .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/segnalatori.sass\"],\"names\":[],\"mappings\":\"AAKI,gEACE,iBAAA,CACA,YAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,uEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,cAAA,CACJ,kEACE,iBAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,wBAAA,CACA,2CAAA,CACA,oEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,gBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,0BAAA,CACA,eAAA,CACA,0BAAA,CACA,wBAAA,CACF,0EACE,YAAA,CACA,aAAA,CACA,uBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-segnalatori\\n  .service-groups\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.not-found,router-view.maintenance{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.not-found>div,router-view.maintenance>div{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center}router-view.not-found>div h1,router-view.maintenance>div h1{margin:0;border:0;padding:0;font-size:3rem;line-height:1.5}router-view.not-found>div h2,router-view.maintenance>div h2{margin:1rem 0 0;border:0;padding:0;font-size:2rem;line-height:1.5;color:#11254b}router-view.not-found>div p,router-view.maintenance>div p{margin:.5rem 0 0;font-size:1.6rem;line-height:1.5;color:#11254b}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/app/not-found.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,8CACE,eAAA,CACA,eAAA,CAEA,kFAAA,CAEA,sDACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,iBAAA,CAEA,4DACE,QAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACF,4DACE,eAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACA,aC1BY,CD2Bd,0DACE,gBAAA,CACA,gBAAA,CACA,eAAA,CACA,aC/BY\",\"sourcesContent\":[\"@import ../../static/vars\\n\\nrouter-view.not-found, router-view.maintenance\\n  min-height: 100%\\n  max-height: 100%\\n\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  > div\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    text-align: center\\n\\n    h1\\n      margin: 0\\n      border: 0\\n      padding: 0\\n      font-size: 3rem\\n      line-height: 1.5\\n    h2 \\n      margin: 1rem 0 0\\n      border: 0\\n      padding: 0\\n      font-size: 2rem\\n      line-height: 1.5\\n      color: $secondary-color\\n    p \\n      margin: 0.5rem 0 0\\n      font-size: 1.6rem\\n      line-height: 1.5\\n      color: $secondary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.editor-wall-advice{max-width:calc(858.66px + 3rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.editor-wall-advice .body{min-height:6.2rem}ux-dialog.editor-wall-advice .body .dialog-loader,ux-dialog.editor-wall-advice .body .not-found{margin:0;padding:2rem;color:rgba(64,64,64,.6)}ux-dialog.editor-wall-advice .body .content{padding:2rem}ux-dialog.editor-wall-advice .body h3{padding:0;margin:0;color:#404040;font-size:1.5rem;font-family:\\\"Roboto slab\\\",serif}ux-dialog.editor-wall-advice .body h4{margin:.5rem 0 0;font-family:\\\"Roboto condensed\\\",sans-serif;font-size:1.4rem;font-weight:400;color:rgba(64,64,64,.6)}ux-dialog.editor-wall-advice .body .ck.ck-editor{width:100%}ux-dialog.editor-wall-advice .body section.multidialogo{margin-top:1rem}ux-dialog.editor-wall-advice .body section.multidialogo ka-control[name=htmlContent] .ck.ck-editor__main,ux-dialog.editor-wall-advice .body section.multidialogo .ck-editor__editable_inline{height:15vh}ux-dialog.editor-wall-advice .body section.senderui{margin-top:2rem}ux-dialog.editor-wall-advice .body section.senderui ka-control[name=htmlContent] .ck.ck-editor__main,ux-dialog.editor-wall-advice .body section.senderui .ck-editor__editable_inline{height:10vh}ux-dialog.editor-wall-advice .body section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}ux-dialog.editor-wall-advice div[ref=editorSenderuiWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.editor-wall-advice .footer{padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.editor-wall-advice .footer ka-button+ka-button{margin-left:0}ux-dialog.confirm-advice ux-dialog-footer button+button{margin-left:0 !important}ux-dialog.confirm-advice ux-dialog-footer button:first-child{background:#11254b}ux-dialog.confirm-advice ux-dialog-footer button:first-child:hover:enabled{background:#081021}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,6BACE,+BAAA,CAEA,yCAAA,CACA,mCACE,iBAAA,CACA,gGACE,QAAA,CACA,YAAA,CACA,uBAAA,CACF,4CACE,YAAA,CACF,sCACE,SAAA,CACA,QAAA,CACA,aClBO,CDmBP,gBAAA,CACA,+BAAA,CACF,sCACE,gBAAA,CACA,yCAAA,CACA,gBAAA,CACA,eAAA,CACA,uBAAA,CACF,iDACI,UAAA,CAEF,wDACE,eAAA,CACA,6LACE,WAAA,CACJ,oDACE,eAAA,CACA,qLACE,WAAA,CACJ,2DACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,kBAAA,CACN,4DACE,QAAA,CACA,SAAA,CACA,eAAA,CACA,yDAAA,CACF,qCACE,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA,CAIF,wDACE,wBAAA,CACF,6DACE,kBC1DY,CD2DZ,2EACE,kBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/_mixins'\\n\\nux-dialog.editor-wall-advice\\n  max-width: calc(858.66px + 3rem)\\n  // max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  .body\\n    min-height: 6.2rem\\n    .dialog-loader, .not-found\\n      margin: 0\\n      padding: 2rem\\n      color: rgba($text-color, .6)\\n    .content\\n      padding: 2rem\\n    h3\\n      padding: 0\\n      margin: 0\\n      color: $text-color\\n      font-size: 1.5rem\\n      font-family: 'Roboto slab', serif\\n    h4\\n      margin: .5rem 0 0\\n      font-family: 'Roboto condensed', sans-serif\\n      font-size: 1.4rem\\n      font-weight: 400\\n      color: rgba($text-color, .6)\\n    .ck.ck-editor \\n        width: 100%\\n    section\\n      &.multidialogo\\n        margin-top: 1rem\\n        ka-control[name=\\\"htmlContent\\\"] .ck.ck-editor__main, .ck-editor__editable_inline\\n          height: 15vh\\n      &.senderui\\n        margin-top: 2rem\\n        ka-control[name=\\\"htmlContent\\\"] .ck.ck-editor__main, .ck-editor__editable_inline\\n          height: 10vh\\n      .section-header\\n        display: flex\\n        align-items: center\\n        justify-content: space-between\\n        margin-bottom: 1rem\\n  div[ref=\\\"editorSenderuiWrapper\\\"]\\n    height: 0\\n    opacity: 0\\n    overflow: hidden\\n    transition: height .4s ease-in-out, opacity .4s ease-in-out\\n  .footer \\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\nux-dialog.confirm-advice\\n  ux-dialog-footer\\n    button + button\\n      margin-left: 0 !important\\n    button:first-child\\n      background: $secondary-color\\n      &:hover:enabled\\n        background: darken($secondary-color, 10%)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice-preview{font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.wall-advice-preview ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice-preview ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice-preview .body{min-height:6.2rem;padding:2rem}ux-dialog.wall-advice-preview .body .dialog-loader,ux-dialog.wall-advice-preview .body .not-found{margin:0;color:rgba(64,64,64,.6)}ux-dialog.wall-advice-preview .body p.banner-message{text-align:center;font-size:1.5rem}ux-dialog.wall-advice-preview .body p.banner-message>.content{text-align:center}ux-dialog.wall-advice-preview .body p.banner-message>.content>p{margin:0;padding:0}ux-dialog.wall-advice-preview .body p.banner-message>.content>p+p{margin-top:1rem}ux-dialog.wall-advice-preview .body p.banner-message>.title{font-weight:500;color:#000}ux-dialog.wall-advice-preview .body p.banner-message>.title i{color:#ed5a23}ux-dialog.wall-advice-preview .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice-preview .body p:not(.banner-message){margin:0;padding:0 0 1rem}ux-dialog.wall-advice-preview .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice-preview .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,8BACE,yCAAA,CACA,yEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,+EACE,gBAAA,CACA,aCVO,CDWX,oCACE,iBAAA,CACA,YAAA,CACA,kGACE,QAAA,CACA,uBAAA,CACF,qDACE,iBAAA,CACA,gBAAA,CACA,8DACE,iBAAA,CACA,gEACI,QAAA,CACA,SAAA,CACJ,kEACE,eAAA,CACJ,4DACE,eAAA,CACA,UAAA,CACA,8DACE,aC9BM,CD+BZ,uCACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,2DACE,QAAA,CACA,gBAAA,CACJ,sCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice-preview\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body\\n    min-height: 6.2rem\\n    padding: 2rem\\n    .dialog-loader, .not-found\\n      margin: 0\\n      color: rgba($text-color, .6)\\n    p.banner-message\\n      text-align: center\\n      font-size: 1.5rem\\n      > .content\\n        text-align: center\\n        > p\\n            margin: 0\\n            padding: 0\\n        > p + p\\n          margin-top: 1rem\\n      > .title\\n        font-weight: 500\\n        color: #000\\n        i\\n          color: $primary-color\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p:not(.banner-message)\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice .body{padding:2rem}ux-dialog.wall-advice .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice .body p{margin:0;padding:0 0 1rem}ux-dialog.wall-advice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,iEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,uEACE,gBAAA,CACA,aCTO,CDUX,4BACE,YAAA,CACA,+BACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,8BACE,QAAA,CACA,gBAAA,CACJ,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,kDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body \\n    padding: 2rem\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.backoffice-avvisi table .dates>small,router-view.backoffice-avvisi table .target>small{display:block;white-space:nowrap;line-height:1.4;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:1.5rem;color:rgba(64,64,64,.6)}router-view.backoffice-avvisi table .mono{font-family:\\\"Roboto Mono\\\",sans-serif}router-view.backoffice-avvisi table .management>div{display:flex;justify-content:flex-end}router-view.backoffice-avvisi table .advice{max-width:10vw}router-view.backoffice-avvisi table .advice small{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/wall-advices.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAMM,mGACE,aAAA,CACA,kBAAA,CACA,eAAA,CACA,yCAAA,CACA,gBAAA,CACA,uBAAA,CACJ,0CACE,oCAAA,CAEA,oDACE,YAAA,CACA,wBAAA,CACJ,4CACE,cAAA,CACA,kDCiDJ,mBAAA,CACA,eAFqC,CAGrC,eAAA,CACA,sBAAA,CACA,YDpDyB,CCqDzB,oBDrDyB,CCsDzB,2BAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-avvisi\\n  table\\n    .dates, .target\\n      > small\\n        display: block\\n        white-space: nowrap\\n        line-height: 1.4\\n        font-family: 'Roboto Condensed', sans-serif\\n        font-size: 1.5rem\\n        color: rgba(64,64,64,.6)\\n    .mono\\n      font-family: 'Roboto Mono', sans-serif\\n    .management\\n      > div\\n        display: flex\\n        justify-content: flex-end\\n    .advice\\n      max-width: 10vw\\n      small\\n        @include max-lines(3)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.backoffice-alias .modify-alias{margin:0 0 0 1rem}router-view.backoffice-alias .modify-alias [class*=col]+[class*=col]{margin-top:1rem;padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:first-child{padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:nth-child(2){margin-top:0}router-view.backoffice-alias .form-buttons ka-button+ka-button{margin-right:0}router-view.backoffice-agreements{overflow-y:auto}router-view.backoffice-agreements div.ck-editor__main>div.ck.ck-content{min-height:20vw}router-view.backoffice-agreements td.agreement-status>i{font-size:2rem;color:rgba(64,64,64,.3);cursor:pointer}router-view.backoffice-agreements tr.attivo td.agreement-status>i{color:#ed5a23}router-view.backoffice-agreements .ck-editor{width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/backoffice.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKE,2CACE,iBAAA,CACA,qEAAA,eAAA,CAAA,cAAA,CACA,oEAAA,cAAA,CACA,qEAAA,YAAA,CAGA,+DAAA,cAAA,CAKJ,kCACE,eAAA,CACA,wEACE,eAAA,CAGA,wDACE,cAAA,CACA,uBAAA,CACA,cAAA,CAIF,kEACE,aC9BU,CDiCd,6CACE,UAAA\",\"sourcesContent\":[\"@import '../../static/vars';\\n@import '../../static/mixins';\\n\\n/* Alias sms */\\nrouter-view.backoffice-alias {\\n  .modify-alias {\\n    margin: 0 0 0 1rem;\\n    [class*=\\\"col\\\"] + [class*=\\\"col\\\"] { margin-top: 1rem; padding-left: 0; }\\n    [class*=\\\"col\\\"]:first-child { padding-left: 0; }\\n    [class*=\\\"col\\\"]:nth-child(2) { margin-top: 0; }\\n  }\\n  .form-buttons {\\n    ka-button + ka-button { margin-right: 0; }\\n  }\\n}\\n\\n/* Agreements */\\nrouter-view.backoffice-agreements {\\n  overflow-y: auto;\\n  div.ck-editor__main > div.ck.ck-content {\\n    min-height: 20vw;\\n  }\\n  td.agreement-status {\\n    > i {\\n      font-size: 2rem;\\n      color: rgba($text-color, 0.3);\\n      cursor: pointer;\\n    }\\n  }\\n  tr.attivo {\\n    td.agreement-status > i {\\n      color: $primary-color;\\n    }\\n  }\\n  .ck-editor {\\n    width: 100%;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.blacklisted-tax-codes{max-width:max(30vw,30rem)}ux-dialog.blacklisted-tax-codes .body{padding:0}ux-dialog.blacklisted-tax-codes .body h2.table-title{margin:0}ux-dialog.blacklisted-tax-codes .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.blacklisted-tax-codes .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass\"],\"names\":[],\"mappings\":\"AAGA,gCACE,yBAAA,CACA,sCACE,SAAA,CACA,qDACE,QAAA,CAGE,kEACE,eAAA,CACR,wCACE,YAAA,CACA,wBAAA,CACA,WAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/_mixins'\\n\\nux-dialog.blacklisted-tax-codes\\n  max-width: max(30vw, 30rem)\\n  .body\\n    padding: 0\\n    h2.table-title\\n      margin: 0\\n    table\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n  .footer \\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:1rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/documenti/dialogs/documenti-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 1rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body .meta{margin-bottom:0}ux-dialog .body .meta>span{display:inline-block;margin-right:1rem;margin-bottom:1rem}ux-dialog .body h2+ka-tabs{margin-top:-1rem}ux-dialog .body ka-tab p{line-height:1.2}ux-dialog .body ka-tab p small{opacity:.5}ux-dialog .body ka-tab .unformat{padding:0 1rem 1rem}ux-dialog .body ka-tab .unformat *{margin:0;padding:0;font-size:1.2rem;line-height:1.4}ux-dialog .body .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .body .key{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(31,36,75,.7);box-shadow:inset 0 0 0 1px rgba(87,88,147,.7333333333);font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}#emailFrame{display:block;border:0;width:100%;height:30vh}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass\"],\"names\":[],\"mappings\":\"AAII,sBACE,eAAA,CACA,2BACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACJ,2BACE,gBAAA,CAEA,yBACE,eAAA,CACA,+BACE,UAAA,CACJ,iCACE,mBAAA,CACA,mCACE,QAAA,CACA,SAAA,CACA,gBAAA,CACA,eAAA,CACN,sBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CACF,qBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,sDAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CAEJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEJ,YACE,aAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  .body\\n    .meta\\n      margin-bottom: 0\\n      > span\\n        display: inline-block\\n        margin-right: 1rem\\n        margin-bottom: 1rem\\n    h2 + ka-tabs\\n      margin-top: -1rem\\n    ka-tab\\n      p\\n        line-height: 1.2\\n        small\\n          opacity: 0.5\\n      .unformat\\n        padding: 0 1rem 1rem\\n        & *\\n          margin: 0\\n          padding: 0\\n          font-size: 1.2rem\\n          line-height: 1.4         \\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n    .key\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(31, 36, 75, 0.7)\\n      box-shadow: inset 0 0 0 1px #575893bb\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n#emailFrame\\n  display: block\\n  border: 0\\n  width: calc(100%)\\n  height: 30vh\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.backoffice-notifiche ka-tabs>nav{display:none}router-view.backoffice-notifiche .notifications-search{padding:0 1rem 1rem}router-view.backoffice-notifiche .search-channel>.row{min-width:16vw}router-view.backoffice-notifiche .notifications .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}router-view.backoffice-notifiche .notifications .code:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:100%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .code:hover{background-color:rgba(28,200,0,.8);box-shadow:inset 0 0 0 1px #15a000}router-view.backoffice-notifiche .notifications .code:hover:before{font-weight:400}router-view.backoffice-notifiche .notifications .channels{font-size:3rem;color:#ddd;white-space:nowrap}router-view.backoffice-notifiche .notifications .channels i.active{color:#ed5a23}router-view.backoffice-notifiche .notifications .channels i:nth-child(2){margin:0 .5rem}router-view.backoffice-notifiche .notifications .send{width:100%;margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li{display:flex}router-view.backoffice-notifiche .notifications .send>li.email{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:flex}router-view.backoffice-notifiche .notifications .send>li .emailAdress+.emailAdress{margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(2){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(3){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li.email .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.sms .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.ui .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li .send-channel{width:max(8vw,12rem)}router-view.backoffice-notifiche .notifications .send>li ul.timeline{position:relative;display:flex;align-items:center;justify-content:space-between;width:max(10vw,15rem);margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li ul.timeline:before,router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{position:absolute;display:inline-block;height:1.5px;width:calc(max(10vw, 15rem)/2);top:50%;left:0;content:\\\"\\\";transform:translateY(-50%);background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{left:unset;right:0;background:#ddd}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{position:relative;display:flex;align-items:center;justify-content:center;height:1.8rem;width:1.8rem;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ddd;cursor:pointer;z-index:1}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ddd}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.transit:after{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.bounced:after,router-view.backoffice-notifiche .notifications .send>li ul.bounced:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered:after,router-view.backoffice-notifiche .notifications .send>li ul.delivered:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}@media screen and (max-width: 575px){router-view.backoffice-notifiche .notifications .channels{font-size:2.5rem}router-view.backoffice-notifiche .notifications .send>li{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:block}router-view.backoffice-notifiche .notifications .send>li .send-channel{padding-bottom:.5rem}router-view.backoffice-notifiche .notifications .send>li .send-channel:before{display:none !important}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{height:1.6rem;width:1.6rem}}.notifications-tooltip strong{display:block;margin:0 -1rem .5rem -1rem;border-bottom:1px solid #606060;padding:0 1rem .5rem 1rem;font-size:1.1rem;text-transform:uppercase}.notifications-tooltip strong+br{display:none}.notifications-tooltip.pending strong{margin-bottom:0;border-bottom:0;padding-bottom:0;text-transform:none}.notifications-tooltip em{font-style:normal;font-size:1rem;opacity:.7}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes hover{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/notifiche.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$unselected-color: #dddddd\\n$timeline-width: Max(10vw, 15rem)\\n$timeline-point: 1.8rem\\n$timeline-thikness: 1.5px\\nrouter-view.backoffice-notifiche\\n  ka-tabs > nav\\n    display: none\\n  /* Search */\\n  .notifications-search\\n    padding: 0 1rem 1rem\\n  .search-channel > .row\\n    min-width: 16vw\\n  /* Table */\\n  .notifications\\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", \\\"light\\\", 100%, 0 0.4rem 0 0, #FFF, unset)\\n      &:hover \\n        background-color: rgba(28, 200, 0, 0.8)\\n        box-shadow: inset 0 0 0 1px #15a000\\n        &:before\\n          font-weight: 400\\n    .channels\\n      font-size: 3rem\\n      color: $unselected-color\\n      white-space: nowrap\\n      i.active\\n        color: $primary-color\\n      i:nth-child(2)\\n        margin: 0 .5rem\\n    .send\\n      width: 100%\\n      margin: 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: flex\\n        &.email\\n          display: block\\n        & > .emailAdress\\n          display: flex\\n        .emailAdress + .emailAdress\\n          margin-top: 0.5rem\\n        &:nth-child(2)\\n          margin-top: .5rem\\n        &:nth-child(3)\\n          margin-top: .5rem\\n        &.email .send-channel:before\\n          @include fontawesome(\\\"\\\\f1fa\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.sms .send-channel:before\\n          @include fontawesome(\\\"\\\\f7cd\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.ui .send-channel:before\\n          @include fontawesome(\\\"\\\\f848\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        .send-channel\\n          width: Max(8vw, 12rem)\\n        ul.timeline\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          width: $timeline-width\\n          margin: 0\\n          padding: 0\\n          list-style: none\\n          // Line\\n          &:before, &:after\\n            position: absolute\\n            display: inline-block\\n            height: $timeline-thikness\\n            width: calc(#{$timeline-width} / 2)\\n            top: 50%\\n            left: 0\\n            content: \\\"\\\"\\n            transform: translateY(-50%)\\n            background: $primary-color\\n          &:after\\n            left: unset\\n            right: 0\\n            background: $unselected-color\\n          // Point\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-point\\n            width: $timeline-point\\n            border-radius: 50%\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $unselected-color\\n            cursor: pointer\\n            z-index: 1\\n        // Created\\n        ul.timeline > li:nth-child(1)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $primary-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n        // Pending  \\n        ul.pending > li:nth-child(2)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $unselected-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n          &:before\\n            @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Error  \\n        ul.error > li:nth-child(2)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Transit\\n        ul.transit\\n          &:after\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n              &:hover\\n                animation: hover .8s ease-in-out infinite\\n              &:before\\n                @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Bounced\\n        ul.bounced\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Delivered\\n        ul.delivered\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f00c\\\", \\\"solid\\\", 70%, 0, $primary-color, middle)\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n    @media screen and (max-width: 575px)\\n      .channels\\n        font-size: 2.5rem\\n      .send\\n        > li\\n          display: block\\n          & > .emailAdress\\n            display: block\\n          & .send-channel\\n            padding-bottom: 0.5rem\\n            &:before\\n              display: none !important\\n          ul.timeline\\n            > li\\n              height: $timeline-point - 0.2rem\\n              width: $timeline-point - 0.2rem\\n// Tooltip\\n.notifications-tooltip\\n  strong\\n    display: block\\n    margin: 0 -1rem 0.5rem -1rem\\n    border-bottom: 1px solid #606060\\n    padding: 0 1rem 0.5rem 1rem\\n    font-size: 1.1rem\\n    text-transform: uppercase\\n    & + br\\n      display: none\\n  &.pending strong\\n    margin-bottom: 0\\n    border-bottom: 0\\n    padding-bottom: 0\\n    text-transform: none\\n  em\\n    font-style: normal\\n    font-size: 1rem\\n    opacity: 0.7\\n\\n/* Animations */\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n@keyframes hover\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.15)\\n  100%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.offerte-editor .body{padding:2rem}ux-dialog.offerte-editor .body div[class*=col-],ux-dialog.offerte-editor .body .col{padding-top:1rem}ux-dialog.offerte-editor .body div[class*=col-]:nth-child(1),ux-dialog.offerte-editor .body div[class*=col-]:nth-child(2),ux-dialog.offerte-editor .body .col:nth-child(1),ux-dialog.offerte-editor .body .col:nth-child(2){padding-top:0}ux-dialog.offerte-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/offerte/dialogs/offerte-editor.sass\"],\"names\":[],\"mappings\":\"AAGE,+BACE,YAAA,CACA,oFACE,gBAAA,CACA,4NACE,aAAA,CACN,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.offerte-editor\\n  .body\\n    padding: 2rem\\n    div[class*='col-'], .col\\n      padding-top: 1rem\\n      &:nth-child(1), &:nth-child(2)\\n        padding-top: 0\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.backoffice-offerte .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.backoffice-offerte .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.backoffice-offerte td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.backoffice-offerte td{max-width:unset !important;min-width:unset !important}}router-view.backoffice-offerte .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.backoffice-offerte .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;padding:0 .5rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);cursor:pointer}@media screen and (max-width: 575px){router-view.backoffice-offerte .promo-code{display:inline-block;padding:.5rem 1rem}router-view.backoffice-offerte .promo-code+.promo-code{margin-left:.5rem}}router-view.backoffice-offerte .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.backoffice-offerte .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.backoffice-offerte .logs:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/offerte/offerte.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,mDACE,aAAA,CACA,aAAA,CACA,QAAA,CACF,uEACE,gBAAA,CAEA,0CACE,aAAA,CACF,qCAHF,kCAII,0BAAA,CACA,0BAAA,CAAA,CAGJ,wEACE,YAAA,CACF,2CACE,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,eAAA,CACA,iBAAA,CACA,gBAAA,CACA,kBAAA,CACA,6CAAA,CACA,mCAAA,CACA,cAAA,CACA,qCAXF,2CAYI,oBAAA,CACA,kBAAA,CACA,uDACE,iBAAA,CAAA,CAEN,2CACE,4BAAA,CACA,uBAAA,CACA,kBAAA,CAEF,qCACE,kBAAA,CACA,aC3CY,CD4CZ,cAAA,CACA,2CACE,aC/CO\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-offerte\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn \\n    margin-top: 0.5rem\\n  td\\n    small a \\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    padding: 0 .5rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    cursor: pointer\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.contract-detail{width:50vw}ux-dialog.contract-detail .content{margin:1rem}ux-dialog.contract-detail .content a{color:#ed5a23}ux-dialog.contract-detail .content>h2,ux-dialog.contract-detail .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}ux-dialog.contract-detail .content>h2:before,ux-dialog.contract-detail .content>h2:after,ux-dialog.contract-detail .content h3:before,ux-dialog.contract-detail .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}ux-dialog.contract-detail .content>h3{margin:1rem 0;font-size:1.4rem}ux-dialog.contract-detail .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}ux-dialog.contract-detail .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content h2+h4{font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content p+h2,ux-dialog.contract-detail .content p+h3,ux-dialog.contract-detail .content p+h4{margin-top:2rem}ux-dialog.contract-detail .content>p:last-child{margin-bottom:2rem}ux-dialog.contract-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/dialogs/contract-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,0BACE,UAAA,CACA,mCACE,WAAA,CACA,qCACE,aCPU,CDQZ,4EACE,WAAA,CACA,aAAA,CACA,aCZO,CDaP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,kLACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,sCACE,aAAA,CACA,gBAAA,CACF,sCACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,yCACE,YAAA,CACA,kBAAA,CACA,aC7BU,CD8BZ,yCACE,kBAAA,CACA,aChCU,CDiCZ,wHACE,eAAA,CACF,gDACE,kBAAA,CAEJ,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-detail\\n  width: 50vw\\n  .content\\n    margin: 1rem\\n    a\\n      color: $primary-color\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.contract-rescission .body .contract-versions{display:block}ux-dialog.contract-rescission .body .contract-versions .flat-service,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes{display:block;font-weight:bold;white-space:nowrap}ux-dialog.contract-rescission .body .contract-versions .flat-service:before,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{font-weight:normal}ux-dialog.contract-rescission .body .contract-versions .flat-service:before{content:\\\"Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{content:\\\"Ultima versione di contratto per spedizioni MultInvio accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .reason-alert{display:block}ux-dialog.contract-rescission .body .reason-alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.contract-rescission .footer{display:flex;justify-content:space-between;align-items:center;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/dialogs/contract-rescission.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,uDAKI,aACE,CAAA,+IACA,aACE,CAAA,gBACA,CAAA,kBACA,CAAA,6JACA,kBACE,CAAA,4EACJ,qGACE,CAAA,iFACF,uFACE,CAAA,kDACJ,aACE,CAAA,yDACA,oBC+BJ,CAAA,WD9B2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCkC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCD5CF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-rescission\\n  .body\\n    .contract-versions\\n      display: block\\n      .flat-service, .multinvio-volumes\\n        display: block\\n        font-weight: bold\\n        white-space: nowrap\\n        &:before\\n          font-weight: normal\\n      .flat-service:before\\n        content: 'Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall\\\\'utente: '\\n      .multinvio-volumes:before\\n        content: 'Ultima versione di contratto per spedizioni MultInvio accettata dall\\\\'utente: '\\n    .reason-alert\\n      display: block\\n      &:before\\n        @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: center\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.create-contract{max-width:fit-content}ux-dialog.create-contract .body{overflow-x:hidden !important}ux-dialog.create-contract .body ka-control[name=htmlTemplate]{width:100%}ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck.ck-editor__main,ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.create-contract .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/dialogs/create-contract.sass\"],\"names\":[],\"mappings\":\"AAGA,0BACE,qBAAA,CACA,gCACE,4BAAA,CACA,8DACE,UAAA,CACA,4OACE,WAAA,CACN,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.create-contract\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"htmlTemplate\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.cashback-contracts #userArchive .subscriptions .subscription{display:flex;flex-direction:column;align-items:center;width:100%;border:none}router-view.cashback-contracts #userArchive .subscriptions .subscription h2{padding-right:1rem;font-size:1.4rem;line-height:4rem;white-space:nowrap;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody tr:last-of-type{box-shadow:none;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td{font-size:1.3rem;white-space:nowrap;vertical-align:middle !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:first-child{box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0 !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:last-child{width:0;text-align:right;box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:not(:last-child){box-shadow:1px 0 0 0 #e0e0e0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/tabs/user-archive.sass\"],\"names\":[],\"mappings\":\"AAKI,yEACE,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,4EACE,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mFAAA,CAGE,qGACE,eAAA,CACA,mCAAA,CACF,wFACE,gBAAA,CACA,kBAAA,CACA,gCAAA,CACA,oGACE,sEAAA,CACF,mGACE,OAAA,CACA,gBAAA,CACA,mCAAA,CACF,yGACE,4BAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-contracts #userArchive\\n  .subscriptions\\n    .subscription\\n      display: flex\\n      flex-direction: column\\n      align-items: center\\n      width: 100%\\n      border: none\\n      h2\\n        padding-right: 1rem\\n        font-size: 1.4rem\\n        line-height: 4rem\\n        white-space: nowrap\\n        box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n      table\\n        tbody\\n          tr:last-of-type\\n            box-shadow: none\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0,\\n          td\\n            font-size: 1.3rem\\n            white-space: nowrap\\n            vertical-align: middle !important\\n            &:first-child\\n              box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0 !important\\n            &:last-child\\n              width: 0\\n              text-align: right\\n              box-shadow: inset -1px 0 0 0 #e0e0e0\\n            &:not(:last-child)\\n              box-shadow: 1px 0 0 0 #e0e0e0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.cashback-contracts #userSubscriptions .contracts .contract{display:flex;flex-direction:column;width:100%;min-height:30vh;max-height:calc(100vh - 5rem - 6rem - 2rem);border:1px solid #e0e0e0;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract{max-height:calc((100vh - 5rem - 6rem - 2rem)/2)}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-of-type{border-top:none}router-view.cashback-contracts #userSubscriptions .contracts .contract h3{font-size:1.3rem;margin-bottom:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract ka-button{height:2.5rem;margin-top:.5rem;font-size:1.2rem;line-height:2.5rem}}router-view.cashback-contracts #userSubscriptions .contracts .contract:first-child{margin-right:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-child{margin-left:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract p{font-size:1.3rem;line-height:1.3}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .to-be-subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .nothing-to-subcribe:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .grace-period-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .content{position:relative;height:100%;min-height:20vh;width:calc(100% - 2rem);border:1px solid #e0e0e0;line-height:2rem;font-size:1.3rem;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract .content{min-height:10vh}}router-view.cashback-contracts #userSubscriptions .contracts .contract .content .spinner-loader{position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);width:5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #c0c0c0 94%, rgba(0, 0, 0, 0)) top/8px 8px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 30%, #c0c0c0);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 8px), #000 0);animation:l13 1s infinite linear}router-view.cashback-contracts #userSubscriptions .contracts .contract .fa-exclamation-triangle{color:#f30}router-view.cashback-contracts #userSubscriptions .contracts .contract .tag{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control input{flex-shrink:0;cursor:pointer}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{font-size:1.3rem;line-height:1.3;white-space:normal}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin:0 0 0 2.5rem;padding:0;list-style:none;line-height:1.3;font-size:1.3rem}@media only screen and (max-width: 991px){router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control ka-control-check{height:2.5rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{line-height:1;font-size:1.1rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin-top:.2rem !important;line-height:1;font-size:1.1rem}}router-view.cashback-contracts #userSubscriptions .contracts .cashback-restriction{display:flex;font-size:1.1rem;background:rgba(255,170,0,.3)}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/tabs/user-subscriptions.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,uEAMI,YACE,CAAA,qBACA,CAAA,UACA,CAAA,eACA,CAAA,2CACA,CAAA,wBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,uEATF,+CAUI,CAAA,oFACA,eACE,CAAA,0EACF,gBACE,CAAA,mBACA,CAAA,iFACF,aACE,CAAA,gBACA,CAAA,gBACA,CAAA,kBACA,CAAA,CAAA,mFACJ,kBACE,CAAA,kFACF,iBACE,CAAA,yEACF,gBACE,CAAA,eACA,CAAA,yGAEA,oBCeN,CAAA,WDd6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCkBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCpDc,CAAA,qBF8BwE,CAAA,eCaA,CAAA,eAgBpF,CAAA,+GD5BI,oBCaN,CAAA,WDZ6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCgBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCnDc,CAAA,qBF+BwE,CAAA,eCWA,CAAA,eAgBpF,CAAA,iHD1BI,oBCWN,CAAA,WDV6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCcjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,qBFmCwE,CAAA,eCSE,CAAA,eAgBpF,CAAA,oGDxBE,oBCSJ,CAAA,WDR6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCYjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,qBFqC8D,CAAA,eCOY,CAAA,eAgBpF,CAAA,gFDtBE,iBACE,CAAA,WACA,CAAA,eACA,CAAA,uBACA,CAAA,wBACA,CAAA,gBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,gFAVF,eAWI,CAAA,CAAA,gGACF,iBACE,CAAA,sBACA,CAAA,uBACA,CAAA,UAvDK,CAAA,cAyDL,CAAA,iBACA,CAAA,4IACA,CAAA,sFACA,CAAA,gCACA,CAAA,gGACJ,UE5DQ,CAAA,4EF8DR,eACE,CAAA,kBACA,CAAA,eACA,CAAA,sBACA,CAAA,uFAGA,aACE,CAAA,cACA,CAAA,8FACF,gBACE,CAAA,eACA,CAAA,kBACA,CAAA,yEACJ,mBACE,CAAA,SACA,CAAA,eACA,CAAA,eACA,CAAA,gBACA,CAAA,0CACF,kGAEI,aACE,CAAA,8FACF,aACE,CAAA,gBACA,CAAA,yEACJ,2BACE,CAAA,aACA,CAAA,gBACA,CAAA,CAAA,mFACN,YACE,CAAA,gBACA,CAAA,6BACA,CAAA,eAGJ,KACE,uBACE,CAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n$loader-width: 5rem\\nrouter-view.cashback-contracts #userSubscriptions\\n  .contracts\\n    .contract\\n      display: flex\\n      flex-direction: column\\n      width: 100%\\n      min-height: 30vh\\n      max-height: calc(100vh - 5rem - 6rem - 2rem)\\n      border: 1px solid #e0e0e0\\n      overflow-y: auto\\n      overflow-x: hidden\\n      @media only screen and (max-width: 767px)\\n        max-height: calc((100vh - 5rem - 6rem - 2rem) / 2)\\n        &:last-of-type\\n          border-top: none\\n        h3\\n          font-size: 1.3rem\\n          margin-bottom: .5rem\\n        ka-button\\n          height: 2.5rem\\n          margin-top: .5rem\\n          font-size: 1.2rem\\n          line-height: 2.5rem\\n      &:first-child\\n        margin-right: .5rem\\n      &:last-child\\n        margin-left: .5rem\\n      p\\n        font-size: 1.3rem\\n        line-height: 1.3\\n      .subscription\\n        .subscripted:before\\n          @include fontawesome('\\\\f00c', 'regular', 1.3rem, 0 .5rem 0 0, $success-color, middle)\\n        .to-be-subscripted:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $pending-color, middle)\\n        .nothing-to-subcribe:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $error-color, middle)\\n      .grace-period-warning:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0, $error-color, middle)\\n      .content\\n        position: relative\\n        height: 100%\\n        min-height: 20vh\\n        width: calc(100% - 2rem)\\n        border: 1px solid #e0e0e0\\n        line-height: 2rem\\n        font-size: 1.3rem\\n        overflow-y: auto\\n        overflow-x: hidden\\n        @media only screen and (max-width: 767px)\\n          min-height: 10vh\\n        .spinner-loader\\n          position: absolute\\n          top: calc(50% - $loader-width / 2)\\n          left: calc(50% - $loader-width / 2)\\n          width: $loader-width\\n          aspect-ratio: 1\\n          border-radius: 50%\\n          background: radial-gradient(farthest-side,#c0c0c0 94%,#0000) top/8px 8px no-repeat, conic-gradient(#0000 30%,#c0c0c0)\\n          -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0)\\n          animation: l13 1s infinite linear\\n      .fa-exclamation-triangle\\n        color: $error-color\\n      .tag\\n        max-width: 300px\\n        white-space: nowrap\\n        overflow: hidden\\n        text-overflow: ellipsis\\n    .clauses\\n      ka-control\\n        input\\n          flex-shrink: 0\\n          cursor: pointer\\n        .description\\n          font-size: 1.3rem\\n          line-height: 1.3\\n          white-space: normal\\n      ul\\n        margin: 0 0 0 2.5rem\\n        padding: 0\\n        list-style: none\\n        line-height: 1.3\\n        font-size: 1.3rem\\n      @media only screen and (max-width: 991px)\\n        ka-control\\n          ka-control-check\\n            height: 2.5rem\\n          .description\\n            line-height: 1\\n            font-size: 1.1rem\\n        ul\\n          margin-top: .2rem !important\\n          line-height: 1\\n          font-size: 1.1rem\\n    .cashback-restriction\\n      display: flex\\n      font-size: 1.1rem\\n      background: rgba($warning-color, .3)\\n      \\n\\n  @keyframes l13 \\n    100%\\n      transform: rotate(1turn)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.credit-transfer .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/credit-transfer.sass\"],\"names\":[],\"mappings\":\"AAIE,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.credit-transfer\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.edit-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/edit-request.sass\"],\"names\":[],\"mappings\":\"AAIE,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.edit-request\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.insert-movement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/insert-movement.sass\"],\"names\":[],\"mappings\":\"AAIE,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.insert-movement\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.withdrawal-request .download{font-size:1.3rem;color:#404040;text-decoration:underline;cursor:pointer}ux-dialog.withdrawal-request .download:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}ux-dialog.withdrawal-request .download:hover{color:#ed5a23}ux-dialog.withdrawal-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/withdrawal-request.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uCAIE,gBACE,CAAA,aCLS,CAAA,yBDOT,CAAA,cACA,CAAA,8CACA,oBEyCF,CAAA,WFxCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBE4C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,kBDSoE,CAAA,eEuCI,CAAA,eAgBpF,CAAA,6CFtDA,aCVY,CAAA,qCDYd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.withdrawal-request\\n  .download\\n    font-size: 1.3rem\\n    color: $text-color\\n    text-decoration: underline\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f56d\\\", \\\"regular\\\", 1.3rem, 0 .5rem 0 0, $primary-color, top)\\n    &:hover\\n      color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.cashback-transactions #movements .movements-list h2{margin-bottom:0;border-bottom:none}router-view.cashback-transactions #movements .movements-list h2:only-of-type{margin:0 0 1rem}router-view.cashback-transactions #movements .movements-list h2+h2,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2{display:flex;margin-bottom:1rem;padding:0 1rem;font-size:1.4rem;color:#404040}router-view.cashback-transactions #movements .movements-list h2+h2:before,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2:before{display:none}router-view.cashback-transactions #movements .grace-period-warning{margin:0 !important;padding:1rem;background:rgba(255,170,0,.3)}router-view.cashback-transactions #movements .grace-period-warning>a{margin-left:.3rem;text-decoration:underline;color:#ed5a23;cursor:pointer;transition:color .3s ease-out}router-view.cashback-transactions #movements .grace-period-warning>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.cashback-transactions #movements .grace-period-warning>a:hover{color:#404040}router-view.cashback-transactions #movements .balance{cursor:pointer}router-view.cashback-transactions #movements .balance:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.inhibition-cashback>p{color:#fff;margin:0}ux-dialog-body .inhibition-cashback>p{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/tabs/movements.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,gEAKI,eACE,CAAA,kBACA,CAAA,6EACA,eACE,CAAA,yJACJ,YACE,CAAA,kBACA,CAAA,cACA,CAAA,gBACA,CAAA,aCdO,CAAA,uKDgBP,YACE,CAAA,mEACN,mBACE,CAAA,YACA,CAAA,6BACA,CAAA,qEACA,iBACE,CAAA,yBACA,CAAA,aCvBU,CAAA,cDyBV,CAAA,6BACA,CAAA,4EACA,oBEsBJ,CAAA,WFrB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEyB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2EFnCE,aC9BO,CAAA,sDDgCX,cACE,CAAA,6DACA,oBEgBF,CAAA,WFfyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEmB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uBF5BF,UACE,CAAA,QACA,CAAA,sCAEF,aCzCW\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-transactions #movements\\n  .movements-list\\n    h2\\n      margin-bottom: 0\\n      border-bottom: none\\n      &:only-of-type\\n        margin: 0 0 1rem\\n    h2 + h2, .grace-period-warning + h2\\n      display: flex\\n      margin-bottom: 1rem\\n      padding: 0 1rem\\n      font-size: 1.4rem\\n      color: $text-color\\n      &:before\\n        display: none\\n  .grace-period-warning\\n    margin: 0 !important\\n    padding: 1rem\\n    background: rgba($warning-color, .3)\\n    > a\\n      margin-left: .3rem\\n      text-decoration: underline\\n      color: $primary-color\\n      cursor: pointer\\n      transition: color .3s ease-out\\n      &:before\\n        @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $text-color\\n  .balance\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n.inhibition-cashback\\n  > p\\n    color: #fff\\n    margin: 0\\nux-dialog-body .inhibition-cashback\\n  > p\\n    color: $text-color\\n\\n      \\n      \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.order-detail .copy-text{transition:color .3s;cursor:pointer}ux-dialog.order-detail .copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:clamp(.2rem,.5vw,.5rem);font-family:\\\"Font Awesome 5 Pro\\\";font-size:clamp(1.2rem,2vw,1.3rem);font-style:normal;font-weight:400;vertical-align:unset;-webkit-font-smoothing:antialiased;color:#ed5a23}ux-dialog.order-detail .copy-text:hover{color:#ed5a23}ux-dialog.order-detail .body>.content{padding:2rem}ux-dialog.order-detail .body>.content h3{font-size:1.6rem;margin:2rem 0;padding:0;font-family:\\\"Roboto slab\\\",\\\"sans-serif\\\"}ux-dialog.order-detail .body>.content .mono{font-size:clamp(1.2rem,2vw,1.4rem);font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";white-space:nowrap}ux-dialog.order-detail .body>.content .ka-table-like{margin:0;box-shadow:0 0 1px 0 #404040}ux-dialog.order-detail .body>.content .ka-table-like+.ka-table-like{box-shadow:1px 0 0 0 rgba(64,64,64,.2),-1px 0 0 0 rgba(64,64,64,.2),0 1px 0 0 rgba(64,64,64,.2)}ux-dialog.order-detail .body>.content .ka-table-like tr{box-shadow:none}ux-dialog.order-detail .body>.content .ka-table-like tr+tr{box-shadow:0 -1px 0 0 rgba(64,64,64,.2)}ux-dialog.order-detail .body>.content .ka-table-like tr td,ux-dialog.order-detail .body>.content .ka-table-like tr th{padding:1rem 0 1rem 1rem}ux-dialog.order-detail .body>.content .ka-table-like tr td:last-of-type,ux-dialog.order-detail .body>.content .ka-table-like tr th:last-of-type{padding-right:1rem}ux-dialog.order-detail .body>.content .ka-table-like tr small{font-size:clamp(1.3rem,2vw,1.4rem);color:rgba(64,64,64,.6);font-family:\\\"Roboto Condensed\\\",sans-serif}ux-dialog.order-detail .body>.content .ka-table-like tr .order-description{width:30%}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice{white-space:nowrap}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a{text-decoration:underline;color:#404040;cursor:pointer}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a:hover{color:#ed5a23}ux-dialog.order-detail .body>.content .ka-table-like.billing-profile td:nth-child(1),ux-dialog.order-detail .body>.content .ka-table-like.billing-profile th:nth-child(1){width:max(15vw,20rem)}ux-dialog.order-detail .body>.content .ka-table-like.billing-profile td:nth-child(3),ux-dialog.order-detail .body>.content .ka-table-like.billing-profile th:nth-child(3){width:max(10vw,17rem)}ux-dialog.order-detail .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.order-detail .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/order-detail.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,kCAIE,oBCkXA,CAAA,cACA,CAAA,kDACA,oBACE,CAAA,WACA,CAAA,mCACA,CAAA,gCACA,CAAA,kCDvXmB,CAAA,iBCyXnB,CAAA,eACA,CAAA,oBAVkD,CAAA,kCAYlD,CAAA,aChYY,CAAA,wCDkYd,aClYc,CAAA,sCFOZ,YACE,CAAA,yCACA,gBACE,CAAA,aACA,CAAA,SACA,CAAA,sCACA,CAAA,4CACF,kCACE,CAAA,sCACA,CAAA,kBACA,CAAA,qDACF,QACE,CAAA,4BACA,CAAA,oEACA,+FACE,CAAA,wDACF,eACE,CAAA,2DACA,uCACE,CAAA,sHACF,wBACE,CAAA,gJACA,kBACE,CAAA,8DACJ,kCACE,CAAA,uBACA,CAAA,yCACA,CAAA,2EACF,SACE,CAAA,iEACF,kBACE,CAAA,mEACA,yBACE,CAAA,aEzCD,CAAA,cF2CC,CAAA,0EACA,oBCMZ,CAAA,WDLmC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCSvD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,yEDnBU,aE7CE,CAAA,0KFgDN,qBACE,CAAA,0KACF,qBACE,CAAA,+BACV,YACE,CAAA,wBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,mDACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.order-detail\\n  .copy-text\\n    @include copy-text(clamp(1.2rem, 2vw, 1.3rem))\\n    \\n  .body\\n    > .content\\n      padding: 2rem\\n      h3\\n        font-size: 1.6rem\\n        margin: 2rem 0\\n        padding: 0\\n        font-family: 'Roboto slab', 'sans-serif'\\n      .mono\\n        font-size: clamp(1.2rem, 2vw, 1.4rem)\\n        font-family: 'Roboto mono', 'sans-serif'\\n        white-space: nowrap\\n      .ka-table-like\\n        margin: 0\\n        box-shadow: 0 0 1px 0 $text-color\\n        & + .ka-table-like\\n          box-shadow: 1px 0 0 0 rgba($text-color, .2), -1px 0 0 0 rgba($text-color, .2), 0 1px 0 0 rgba($text-color, .2)\\n        tr\\n          box-shadow: none\\n          & + tr\\n            box-shadow: 0 -1px 0 0 rgba($text-color, .2)\\n          td, th\\n            padding: 1rem 0 1rem 1rem\\n            &:last-of-type\\n              padding-right: 1rem\\n          small\\n            font-size: clamp(1.3rem, 2vw, 1.4rem)\\n            color: rgba($text-color, .6)\\n            font-family: 'Roboto Condensed', sans-serif\\n          .order-description\\n            width: 30%\\n          .invoice\\n            white-space: nowrap\\n            > a\\n              text-decoration: underline\\n              color: $text-color\\n              cursor: pointer\\n              &:before\\n                @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n              &:hover\\n                color: $primary-color\\n        &.billing-profile\\n          td:nth-child(1), th:nth-child(1)\\n            width: max(15vw, 20rem)\\n          td:nth-child(3), th:nth-child(3)\\n            width: max(10vw, 17rem)\\n  .footer\\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.payment-instructions .body{padding:2rem}ux-dialog.payment-instructions .body p{margin:0;margin-bottom:1rem;padding:0}ux-dialog.payment-instructions .body ul{margin:0;padding:0 0 1rem;list-style:none}ux-dialog.payment-instructions .body .tips p{margin:0;padding:0}ux-dialog.payment-instructions .body .tips p .important{text-transform:uppercase}ux-dialog.payment-instructions .body .tips p .important:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.payment-instructions .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.payment-instructions .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/payment-instructions.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,qCAIE,YACE,CAAA,uCACA,QACE,CAAA,kBACA,CAAA,SACA,CAAA,wCACF,QACE,CAAA,gBACA,CAAA,eACA,CAAA,6CACF,QACE,CAAA,SACA,CAAA,wDACA,wBACE,CAAA,+DACA,oBC+BN,CAAA,WD9B6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCkCjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDtC4D,CAAA,oBC6BO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCD5CF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,2DACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.payment-instructions\\n  .body \\n    padding: 2rem\\n    p\\n      margin: 0\\n      margin-bottom: 1rem\\n      padding: 0\\n    ul\\n      margin: 0\\n      padding: 0 0 1rem\\n      list-style: none\\n    .tips p\\n      margin: 0\\n      padding: 0\\n      .important\\n        text-transform: uppercase\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, inherit)\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.settle-invoice .body{padding:2rem;color:#404040}ux-dialog.settle-invoice .body div>div{margin-block:1rem}ux-dialog.settle-invoice .body span.importo::after{content:\\\"€\\\"}ux-dialog.settle-invoice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right;margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/settle-invoice.sass\"],\"names\":[],\"mappings\":\"AAAA,+BAIE,YACE,CAAA,aACA,CAAA,uCAEA,iBACE,CAAA,mDAEF,WACE,CAAA,iCAEJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,aAEA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.settle-invoice\\n  .body\\n    padding: 2rem\\n    color: #404040\\n\\n    div > div\\n      margin-block: 1rem\\n\\n    span.importo::after\\n      content: \\\"€\\\"\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n    margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.contabilita-invoices-list h2.table-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}router-view.contabilita-invoices-list h2.table-title .download-container{display:flex}router-view.contabilita-invoices-list small.invoice{white-space:nowrap}router-view.contabilita-invoices-list small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list small.invoice>a:hover{color:#ed5a23}router-view.contabilita-invoices-list div.order-number{white-space:nowrap}router-view.contabilita-invoices-list div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-invoices-list .instruction{color:#ed5a23;cursor:pointer;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-invoices-list .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/invoices/invoices-list.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,qDAIE,YACE,CAAA,gBACA,CAAA,kBACA,CAAA,6BACA,CAAA,yEACA,YACE,CAAA,oDACJ,kBACE,CAAA,sDACA,yBACE,CAAA,aCdO,CAAA,cDgBP,CAAA,6DACA,oBEiCJ,CAAA,WFhC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEoC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4DF9CE,aClBU,CAAA,uDDoBd,kBACE,CAAA,uEACA,yBACE,CAAA,aCxBO,CAAA,cD0BP,CAAA,8EACA,oBEuBJ,CAAA,WFtB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBE0B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,6EFpCE,aC5BU,CAAA,mDD8Bd,aC9Bc,CAAA,cDgCZ,CAAA,yBACA,CAAA,cACA,CAAA,oBACA,CAAA,aCpCS,CAAA,yDDsCT,aCrCY\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.contabilita-invoices-list\\n  h2.table-title\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    .download-container\\n      display: flex\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    color: $primary-color\\n    cursor: pointer\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.contabilita-orders small.invoice{white-space:nowrap}router-view.contabilita-orders small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders small.invoice>a:hover{color:#ed5a23}router-view.contabilita-orders div.order-number{white-space:nowrap}router-view.contabilita-orders div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-orders .instruction{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-orders .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/orders.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,6CAIE,kBACE,CAAA,+CACA,yBACE,CAAA,aCPO,CAAA,cDSP,CAAA,sDACA,oBEwCJ,CAAA,WFvC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBE2C/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qDFrDE,aCXU,CAAA,gDDad,kBACE,CAAA,gEACA,yBACE,CAAA,aCjBO,CAAA,cDmBP,CAAA,uEACA,oBE8BJ,CAAA,WF7B2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEiC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sEF3CE,aCrBU,CAAA,4CDuBd,aACE,CAAA,aCxBY,CAAA,yBD0BZ,CAAA,cACA,CAAA,oBACA,CAAA,aC7BS,CAAA,kDD+BT,aC9BY\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.contabilita-orders\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.contabilita-pre-checkouts table>tbody td{font-size:1.5rem;line-height:1.5;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.contabilita-pre-checkouts table>tbody td small{display:block;font-size:1.5rem;white-space:nowrap}router-view.contabilita-pre-checkouts table>tbody td .copy-text:hover{color:#ed5a23 !important}router-view.contabilita-pre-checkouts table>tbody td.created-at{font-family:\\\"Roboto mono\\\",sans-serif}router-view.contabilita-pre-checkouts table>tbody td.created-at>div{font-family:\\\"Roboto condensed\\\",sans-serif;color:rgba(64,64,64,.6)}router-view.contabilita-pre-checkouts table>tbody td.amount{font-size:1.6rem;font-family:\\\"Roboto mono\\\",sans-serif;white-space:nowrap}router-view.contabilita-pre-checkouts table>tbody td.management>div{display:flex;justify-content:flex-end}@media(max-width: 575px){router-view.contabilita-pre-checkouts table>tbody td.management>div{display:block;padding:1rem;padding-left:0}}ux-dialog.pre-checkouts-payment-confirm ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.pre-checkouts-payment-confirm ux-dialog-footer button:first-of-type:hover{background:#081021}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/pre-checkouts.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAII,qDACE,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,2DACE,aAAA,CACA,gBAAA,CACA,kBAAA,CACF,sEACE,wBAAA,CACF,gEACE,oCAAA,CACA,oEACE,yCAAA,CACA,uBAAA,CACJ,4DACE,gBAAA,CACA,oCAAA,CACA,kBAAA,CAEA,oEACE,YAAA,CACA,wBAAA,CACF,yBACE,oEACE,aAAA,CACA,YAAA,CACA,cAAA,CAAA,CAIR,8EACE,cAAA,CACA,kBCnCY,CDoCZ,oFACE,kBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n\\nrouter-view.contabilita-pre-checkouts\\n  table\\n    > tbody td\\n      font-size: 1.5rem\\n      line-height: 1.5\\n      font-family: 'Roboto condensed', sans-serif\\n      small\\n        display: block\\n        font-size: 1.5rem\\n        white-space: nowrap\\n      .copy-text:hover\\n        color: $primary-color !important\\n      &.created-at\\n        font-family: 'Roboto mono', sans-serif\\n        > div\\n          font-family: 'Roboto condensed', sans-serif\\n          color: rgba($text-color, .6)\\n      &.amount\\n        font-size: 1.6rem\\n        font-family: 'Roboto mono', sans-serif\\n        white-space: nowrap\\n      &.management\\n        > div\\n          display: flex\\n          justify-content: flex-end\\n        @media (max-width: 575px)\\n          > div\\n            display: block\\n            padding: 1rem\\n            padding-left: 0\\n\\nux-dialog.pre-checkouts-payment-confirm\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 10%)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}.dashboard-aside{display:flex;flex-direction:column;gap:0;min-width:0}@media all and (min-width: 1300px){.dashboard-aside{--aside-card-height: calc((100cqb - 11rem) / 5);container-type:size;box-sizing:border-box;min-height:0;padding-bottom:2rem;overflow:hidden}}.dashboard-aside .aside-section{flex:0 0 auto}.dashboard-aside .aside-section-carousel{display:flex;flex-direction:column;min-width:0}.dashboard-aside .aside-section-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 4rem;box-sizing:border-box;min-height:0;padding:0 1rem}.dashboard-aside .aside-section-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-weight:700;font-size:1.3rem;font-family:\\\"Roboto Condensed\\\",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#11254b}.dashboard-aside .aside-section-nav{display:flex;gap:.5rem}.dashboard-aside .aside-section-nav>button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid rgba(17,37,75,.5);border-radius:50%;background:#fff;font-size:1rem;color:rgba(17,37,75,.8);cursor:pointer;transition:border .3s ease,color .3s ease;box-shadow:rgba(0,0,0,.1) 0 1px 3px,rgba(0,0,0,.2) 0 4px 8px -4px}.dashboard-aside .aside-section-nav>button.aside-section-prev:before{display:inline-block;content:\\\"\\\";margin:0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:900}.dashboard-aside .aside-section-nav>button.aside-section-next:before{display:inline-block;content:\\\"\\\";margin:0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:900}.dashboard-aside .aside-section-nav>button:hover:not(:disabled),.dashboard-aside .aside-section-nav>button:active:not(:disabled){color:#11254b;border:1px solid rgba(17,37,75,.8)}.dashboard-aside .aside-section-nav>button:focus-visible{outline:2px solid #19a5f2;outline-offset:2px}.dashboard-aside .aside-section-nav>button:disabled{background:#edeef0;color:rgba(17,37,75,.5);border:1px solid rgba(17,37,75,.3);cursor:default;box-shadow:none}.dashboard-aside .aside-carousel-track{display:flex;flex-direction:column;gap:1.5rem}@media all and (min-width: 1300px){.dashboard-aside .aside-carousel{height:calc(var(--aside-card-height)*2 + 1.5rem*1);overflow:hidden}.dashboard-aside .aside-carousel-track{transform:translateY(calc((var(--aside-card-height) + 1.5rem) * var(--index, 0) * -1));transition:transform .5s cubic-bezier(0.22, 1, 0.36, 1)}}@media(min-width: 1300px)and (prefers-reduced-motion: reduce){.dashboard-aside .aside-carousel-track{transition:none}}@media not all and (min-width: 1300px){.dashboard-aside .aside-section-nav{display:none}.dashboard-aside .aside-section.is-empty{display:none}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/dashboard/aside/aside.sass\",\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uBC0WA,KACE,SACE,CAAA,CAAA,iBDjWJ,YACE,CAAA,qBACA,CAAA,KACA,CAAA,WACA,CAAA,mCACA,iBALF,+CAMI,CAAA,mBACA,CAAA,qBACA,CAAA,YACA,CAAA,mBETY,CAAA,eFWZ,CAAA,CAAA,gCAEF,aACE,CAAA,yCACF,YACE,CAAA,qBACA,CAAA,WACA,CAAA,qCACF,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,aACA,CAAA,qBACA,CAAA,YACA,CAAA,cACA,CAAA,sCACF,WGnCA,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,QF8MA,CAAA,SACA,CAAA,eACA,CAAA,gBACA,CAAA,yCACA,CAAA,oBACA,CAAA,wBACA,CAAA,aCxNgB,CAAA,oCFsChB,YACE,CAAA,SACA,CAAA,2CACA,YCkLF,CAAA,kBACA,CAAA,sBACA,CAAA,YACA,CAAA,aACA,CAAA,SACA,CAAA,kCACA,CAAA,iBACA,CAAA,eACA,CAAA,cACA,CAAA,uBC3M8B,CAAA,cD6M9B,CAAA,yCACA,CAAA,iEACA,CAAA,qEACA,oBEzLA,CAAA,WF0LuB,CAAA,QAA2B,CAAA,iBAAT,CAAA,iBEtLzC,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFkLqD,CAAA,oBE3Lc,CAAA,eAAmB,CAAA,eAkBpF,CAAA,qEF0KF,oBE3LA,CAAA,WF4LuB,CAAA,QAA2B,CAAA,iBAAT,CAAA,iBExLzC,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFoLqD,CAAA,oBE7Lc,CAAA,eAAmB,CAAA,eAkBpF,CAAA,iIF4KF,aC7OgB,CAAA,kCD+Od,CAAA,yDACF,yBACE,CAAA,kBACA,CAAA,oDACF,kBACE,CAAA,uBACA,CAAA,kCACA,CAAA,cACA,CAAA,eACA,CAAA,uCD5MF,YACE,CAAA,qBACA,CAAA,UAzCa,CAAA,mCA4Cf,iCACE,kDACE,CAAA,eACA,CAAA,uCACF,sFACE,CAAA,uDACA,CAAA,CAAA,8DACA,uCAHF,eAII,CAAA,CAAA,uCACN,oCACE,YACE,CAAA,yCACF,YACE,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\n$visible: $dashboard-aside-visible-cards\\n$aside-headers: 2\\n$aside-card-units: 1 + $aside-headers * $visible\\n$aside-card-gap: 1.5rem\\n$aside-card-gaps: $aside-headers * ($visible - 1)\\n$aside-fixed: $aside-headers * $dashboard-aside-title-height + $aside-card-gaps * $aside-card-gap\\n\\n.dashboard-aside\\n  display: flex\\n  flex-direction: column\\n  gap: 0\\n  min-width: 0\\n  @media all and (min-width: $dashboard-lg)\\n    --aside-card-height: calc((100cqb - #{$aside-fixed}) / #{$aside-card-units})\\n    container-type: size\\n    box-sizing: border-box\\n    min-height: 0\\n    padding-bottom: $dashboard-gap\\n    overflow: hidden\\n\\n  .aside-section\\n    flex: 0 0 auto\\n  .aside-section-carousel\\n    display: flex\\n    flex-direction: column\\n    min-width: 0\\n  .aside-section-head\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    flex: 0 0 $dashboard-aside-title-height\\n    box-sizing: border-box\\n    min-height: 0\\n    padding: 0 1rem\\n  .aside-section-title\\n    @include asideSectionTitle\\n  .aside-section-nav\\n    display: flex\\n    gap: .5rem\\n    > button\\n      @include asideCarouselButton\\n\\n  .aside-carousel-track\\n    display: flex\\n    flex-direction: column\\n    gap: $aside-card-gap\\n\\n  @media all and (min-width: $dashboard-lg)\\n    .aside-carousel\\n      height: calc(var(--aside-card-height) * #{$visible} + #{$aside-card-gap} * #{$visible - 1})\\n      overflow: hidden\\n    .aside-carousel-track\\n      transform: translateY(calc((var(--aside-card-height) + #{$aside-card-gap}) * var(--index, 0) * -1))\\n      transition: transform .5s cubic-bezier(.22, 1, .36, 1)\\n      @media (prefers-reduced-motion: reduce)\\n        transition: none\\n  @media not all and (min-width: $dashboard-lg)\\n    .aside-section-nav\\n      display: none\\n    .aside-section.is-empty\\n      display: none\\n \\n\",\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../../static/images/logo-multicoin-white.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}.dashboard-aside .aside-card{border-top:1px solid rgba(0,0,0,.3);border-left:1px solid rgba(0,0,0,.3);border-right:none;border-bottom:1px solid rgba(0,0,0,.3);border-radius:0 0 5px 5px;box-shadow:0 0 2px 2px rgba(0,0,0,.1);box-shadow:none;--aside-card-bg: #fff;--aside-card-color: #11254b;--aside-card-badge-border: 999px;--aside-card-badge-bg: transparent;--aside-card-button-bg: #11254b;--aside-card-title-color: #11254b;--aside-card-color-matte: rgba(17, 37, 75, 0.8);--aside-card-badge-color: #11254b;--aside-card-button-color: #fff;display:grid;grid-template-rows:auto auto minmax(auto, 1fr) auto;gap:clamp(.6rem,var(--aside-card-height, 30rem)*.045,1.3rem);position:relative;box-sizing:border-box;container-type:inline-size;min-width:0;height:var(--aside-card-height, auto);padding:clamp(1.2rem,var(--aside-card-height, 30rem)*.07,2rem);background:var(--aside-card-bg);color:var(--aside-card-color)}.dashboard-aside .aside-card.is-empty{--aside-card-badge-color: rgba(17, 37, 75, 0.5) !important;border-style:dashed !important;border-color:rgba(17, 37, 75, 0.5) !important;background:rgba(255,255,255,.5) !important;box-shadow:none !important}.dashboard-aside .aside-card.is-empty .aside-card-icon{color:rgba(17, 37, 75, 0.5) !important}.dashboard-aside .aside-card.is-empty .aside-card-badge.is-outlined{color:rgba(17, 37, 75, 0.5) !important;border-color:rgba(17,37,75,.3) !important}@media all and (min-width: 1300px){.dashboard-aside .aside-card{container-type:size}}@media all and (min-width: 1300px)and (max-height: 900px){.dashboard-aside .aside-card{gap:clamp(.4rem,var(--aside-card-height, 30rem)*.03,1rem);padding:clamp(1rem,var(--aside-card-height, 30rem)*.06,1.6rem)}}.dashboard-aside .aside-card .aside-card-head{display:flex;align-items:center;gap:1rem;min-width:0;position:relative;z-index:2}.dashboard-aside .aside-card .aside-card-icon{flex:0 0 auto;height:clamp(1.9rem,min(5cqi,9.4736842105cqb),2rem);aspect-ratio:1;background:center/contain no-repeat}.dashboard-aside .aside-card .aside-card-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:.5rem 1.5rem;max-height:2.2rem;box-sizing:border-box;border-radius:999px;background:var(--aside-card-badge-bg);color:#11254b;font-weight:700;font-family:\\\"Roboto flex\\\",sans-serif;font-size:clamp(1.1rem,min(3.3333333333cqi,6.3157894737cqb),1.2rem);letter-spacing:.03rem;text-transform:uppercase}.dashboard-aside .aside-card .aside-card-badge.is-outlined{border:1px solid #11254b}.dashboard-aside .aside-card .aside-card-meta{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-weight:700;font-family:\\\"Roboto flex\\\",sans-serif;font-size:clamp(0.9rem,min(2.7777777778cqi,5.2631578947cqb),1.2rem);text-transform:uppercase;color:var(--aside-card-color-matte)}.dashboard-aside .aside-card .aside-card-titles{display:flex;flex-direction:column;gap:.4rem;min-width:0}.dashboard-aside .aside-card h4.aside-card-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;position:relative;z-index:2;margin:0;font-weight:500;color:#fff;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:clamp(1.5rem,min(4.4444444444cqi,8.4210526316cqb),1.7rem);color:var(--aside-card-title-color)}.dashboard-aside .aside-card h5.aside-card-subtitle{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;z-index:2;margin:0;font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;text-transform:uppercase;font-size:clamp(1.2rem,min(3.3333333333cqi,6.3157894737cqb),1.4rem);color:var(--aside-card-color-matte)}.dashboard-aside .aside-card .aside-card-body{position:relative;z-index:2;min-height:1.5em;overflow:hidden;font-size:clamp(1.25rem,1rem + 3cqi,1.4rem);line-height:1.5}@media all and (min-width: 1300px){.dashboard-aside .aside-card .aside-card-body{container:aside-card-body/size}}.dashboard-aside .aside-card .aside-card-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;overflow:hidden;font-weight:400;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:inherit;line-height:inherit;color:var(--aside-card-color-matte)}@media all and (min-width: 1300px){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:1}}@container aside-card-body (min-height: 1.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:1}}@container aside-card-body (min-height: 3em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:2}}@container aside-card-body (min-height: 4.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:3}}@container aside-card-body (min-height: 6em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:4}}@container aside-card-body (min-height: 7.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:5}}@container aside-card-body (min-height: 9em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:6}}@container aside-card-body (min-height: 10.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:7}}@container aside-card-body (min-height: 12em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:8}}@container aside-card-body (min-height: 13.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:9}}@container aside-card-body (min-height: 15em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:10}}@container aside-card-body (min-height: 16.5em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:11}}@container aside-card-body (min-height: 18em){.dashboard-aside .aside-card .aside-card-body>p{-webkit-line-clamp:12}}.dashboard-aside .aside-card .aside-card-button{display:flex;align-items:center;justify-content:center;position:relative;z-index:2;isolation:isolate;height:3rem;padding:0 2rem;border-radius:3rem;background:#fff;color:#11254b;font-weight:500;font-family:\\\"Roboto\\\",sans-serif;font-size:clamp(1.3rem,min(3.3333333333cqi,6.3157894737cqb),1.4rem);text-decoration:none;cursor:pointer;transition:border-radius .3s cubic-bezier(0.23, 1, 0.32, 1),color .3s cubic-bezier(0.23, 1, 0.32, 1)}.dashboard-aside .aside-card .aside-card-button:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .6em;font-size:.9em;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:unset;animation:unset;font-weight:400}.dashboard-aside .aside-card .aside-card-button:hover,.dashboard-aside .aside-card .aside-card-button:active{border-radius:5px;color:#c41}.dashboard-aside .aside-card .aside-card-button:focus-visible{outline:2px solid #19a5f2;outline-offset:2px}.dashboard-aside .aside-card .aside-card-button.is-empty{pointer-events:none;cursor:default;background:rgba(17,37,75,.08);color:rgba(0,0,0,0)}.dashboard-aside .aside-card .aside-card-button.is-empty:after{content:none}@media(prefers-reduced-motion: reduce){.dashboard-aside .aside-card .aside-card-button{transition:none}}.dashboard-aside .aside-card span.aside-card-button{cursor:default;pointer-events:none}.dashboard-aside .aside-card .aside-card-head.skeleton,.dashboard-aside .aside-card h4.aside-card-title.skeleton,.dashboard-aside .aside-card .aside-card-body.skeleton,.dashboard-aside .aside-card .aside-card-button.skeleton{background-color:rgba(17,37,75,.05);background-image:linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));background-size:40px 100%;background-repeat:no-repeat;background-position:left -40px top 0;border-radius:5px;color:rgba(0,0,0,0);animation:skeleton-in .3s ease,shine 1s ease infinite;animation:none}.dashboard-aside .aside-card .aside-card-head.skeleton:after,.dashboard-aside .aside-card h4.aside-card-title.skeleton:after,.dashboard-aside .aside-card .aside-card-body.skeleton:after,.dashboard-aside .aside-card .aside-card-button.skeleton:after{content:\\\"\\\";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%)}.dashboard-aside .aside-card .aside-card-head.skeleton{height:clamp(1.8rem,min(6.3888888889cqi,12.1052631579cqb),2.3rem)}.dashboard-aside .aside-card .aside-card-head.skeleton>*{display:none}.dashboard-aside .aside-card h4.aside-card-title.skeleton{height:1.2em}.dashboard-aside .aside-card .aside-card-button.skeleton{border-radius:999px}.dashboard-aside .aside-card .aside-card-button.skeleton:after{margin:0}.dashboard-aside .aside-card.multicoin{border-top:none;border-left:1px solid rgba(0,0,0,.3);border-right:1px solid rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.3);border-radius:0 0 0 5px;box-shadow:0 0 2px 2px rgba(0,0,0,.1);box-shadow:none;--aside-card-bg: #232d3d !important;--aside-card-color: #fff;--aside-card-badge-border: 999px;--aside-card-badge-bg: #fff;--aside-card-button-bg: #fff;--aside-card-title-color: #fff;--aside-card-color-matte: #fff;--aside-card-badge-color: #11254b;--aside-card-button-color: #11254b;box-shadow:inset 0 1px 0 0 rgba(0,0,0,.6),inset -1px 0 0 0 rgba(0,0,0,.6),inset 0 2px 4px 0 rgba(0,0,0,.8)}.dashboard-aside .aside-card.multicoin:before{content:\\\"\\\";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:5px;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, #0f131a 1px, transparent 0, transparent 50%)}.dashboard-aside .aside-card.multicoin.is-empty{--aside-card-badge-color: rgba(17, 37, 75, 0.5) !important;border-style:dashed !important;border-color:rgba(17, 37, 75, 0.5) !important;background:rgba(255,255,255,.5) !important;box-shadow:none !important}.dashboard-aside .aside-card.multicoin.is-empty .aside-card-icon{color:rgba(17, 37, 75, 0.5) !important}.dashboard-aside .aside-card.multicoin.is-empty .aside-card-badge.is-outlined{color:rgba(17, 37, 75, 0.5) !important;border-color:rgba(17,37,75,.3) !important}@media not all and (min-width: 1300px){.dashboard-aside .aside-card.multicoin{border-radius:5px;box-shadow:none}}.dashboard-aside .aside-card.multicoin .aside-card-icon{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.dashboard-aside .aside-card.advice,.dashboard-aside .aside-card.offer{border-right:0;border-radius:5px 0 0 5px}.dashboard-aside .aside-card.advice .aside-card-icon,.dashboard-aside .aside-card.offer .aside-card-icon{display:flex;align-items:center;justify-content:center;color:#e44c13;font-size:clamp(1.7rem,min(5.2777777778cqi,10cqb),2.2rem)}.dashboard-aside .aside-card.advice .aside-card-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.dashboard-aside .aside-card.offer .aside-card-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/dashboard/aside/card.sass\",\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\n$aside-card-body-line-height: 1.4\\n$aside-card-body-max-lines: 12\\n$aside-card-empty-color: rgba($secondary-color, .5)\\n\\n.dashboard-aside .aside-card\\n  @include dashboardCardPreset(0 0 $md-dashboard-border-radius $md-dashboard-border-radius, 1px solid rgba(#000, .3), none)\\n  @include asideCardTheme\\n  display: grid\\n  grid-template-rows: auto auto minmax(auto, 1fr) auto\\n  gap: clamp(.6rem, calc(var(--aside-card-height, 30rem) * .045), 1.3rem)\\n  position: relative\\n  box-sizing: border-box\\n  container-type: inline-size\\n  min-width: 0\\n  height: var(--aside-card-height, auto)\\n  @media all and (min-width: $dashboard-lg)\\n    container-type: size\\n  padding: clamp(1.2rem, calc(var(--aside-card-height, 30rem) * .07), 2rem)\\n  background: var(--aside-card-bg)\\n  @media all and (min-width: $dashboard-lg) and (max-height: 900px)\\n    gap: clamp(.4rem, calc(var(--aside-card-height, 30rem) * .03), 1rem)\\n    padding: clamp(1rem, calc(var(--aside-card-height, 30rem) * .06), 1.6rem)\\n  color: var(--aside-card-color)\\n\\n  .aside-card-head\\n    display: flex\\n    align-items: center\\n    gap: 1rem\\n    min-width: 0\\n    position: relative\\n    z-index: 2\\n  .aside-card-icon\\n    flex: 0 0 auto\\n    height: asideCardFluid(1.9rem, 1.8rem, 2rem)\\n    aspect-ratio: 1\\n    background: center / contain no-repeat\\n  .aside-card-badge\\n    @include asideCardBadge\\n  .aside-card-meta\\n    @include asideCardMeta\\n  .aside-card-titles\\n    display: flex\\n    flex-direction: column\\n    gap: .4rem\\n    min-width: 0\\n  h4.aside-card-title\\n    @include asideCardH4\\n  h5.aside-card-subtitle\\n    @include asideCardH5\\n  .aside-card-body\\n    position: relative\\n    z-index: 2\\n    @include asideCardBody\\n  .aside-card-button\\n    @include asideCardButton\\n  span.aside-card-button\\n    cursor: default\\n    pointer-events: none\\n  .aside-card-head.skeleton, h4.aside-card-title.skeleton, .aside-card-body.skeleton, .aside-card-button.skeleton\\n    @include skeleton(rgba($secondary-color, .05))\\n    animation: none\\n  .aside-card-head.skeleton\\n    height: asideCardFluid(1.8rem, 2.3rem, 2.3rem)\\n    > *\\n      display: none\\n  h4.aside-card-title.skeleton\\n    height: 1.2em\\n  .aside-card-button.skeleton\\n    border-radius: 999px\\n    &:after\\n      margin: 0\\n\\n  // Varianti\\n  &.multicoin\\n    @include dashboardStripes($md-dashboard-border-radius, 1, before, repeating-linear-gradient(45deg, transparent 0, darken(#181f2a, 5%) 1px, transparent 0, transparent 50%))\\n    @include dashboardCardPreset(0 0 0 $md-dashboard-border-radius, none)\\n    @include asideCardTheme($background: #232d3d !important, $color: #fff, $title-color: #fff, $color-matte: #fff, $badge-bg: #fff, $badge-color: $secondary-color, $button-bg: #fff, $button-color: $secondary-color)\\n    box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.6), inset -1px 0 0 0 rgba(0, 0, 0, .6), inset 0 2px 4px 0 rgba(0, 0, 0, .8)\\n    @media not all and (min-width: $dashboard-lg)\\n      border-radius: $md-dashboard-border-radius\\n      box-shadow: none\\n    .aside-card-icon\\n      background-image: url('../../../static/images/logo-multicoin-white.svg')\\n  &.advice, &.offer\\n    border-right: 0\\n    border-radius: $md-dashboard-border-radius 0 0 $md-dashboard-border-radius\\n    .aside-card-icon\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      color: darken($primary-color, 5%)\\n      font-size: asideCardFluid(1.7rem, 1.9rem, 2.2rem)\\n  &.advice .aside-card-icon:before\\n    @include fontawesome('\\\\f34e', 'regular', inherit, 0, inherit)\\n  &.offer .aside-card-icon:before\\n    @include fontawesome('\\\\f02b', 'regular', inherit, 0, inherit)\\n\",\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}.dashboard-card{position:relative;display:grid;min-width:0;perspective:2000px}.dashboard-card .card-flipper{display:grid;transform-style:preserve-3d;transition:transform .7s cubic-bezier(0.65, 0, 0.35, 1);will-change:transform}.dashboard-card .card-face{grid-area:1/1;position:relative;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;border-top:1px solid rgba(0,0,0,.3);border-left:1px solid rgba(0,0,0,.3);border-right:1px solid rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:0 0 2px 2px rgba(0,0,0,.1);background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:visibility 0s linear .35s}.dashboard-card .card-face.queue-messages-email-pec md-cards>article:last-of-type .md-cards-info p:last-of-type{color:#11254b}.dashboard-card .card-front{transform:translateZ(1px)}.dashboard-card .card-rear{transform:rotateY(180deg) translateZ(1px);visibility:hidden}.dashboard-card.is-flipped .card-flipper{transform:rotateY(180deg)}.dashboard-card.is-flipped .card-front{visibility:hidden}.dashboard-card.is-flipped .card-rear{visibility:visible}.dashboard-card .card-header{display:flex;flex:0 0 auto;align-items:center;position:relative;container-type:inline-size;z-index:1;justify-content:space-between;gap:1.2rem;padding:0 2rem;height:7rem;width:100%;box-sizing:border-box;box-shadow:0 6px 10px -8px rgba(17,37,75,.3)}.dashboard-card .card-title-wrapper{display:flex;align-items:center;min-width:0;gap:1.2rem}.dashboard-card .card-icon{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:clamp(2rem,2rem + 3cqi,4rem);aspect-ratio:1/1;background-size:5px 5px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(17, 37, 75, 0.2) 1px, transparent 0, transparent 50%)}.dashboard-card .card-icon img{display:block;width:90%;height:90%}.dashboard-card .card-title{min-width:0}.dashboard-card .card-title h3{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .3rem;padding:0;line-height:1.1 !important;font-size:clamp(1.3rem,.5rem + 2.5cqi,1.7rem);font-weight:400;font-family:\\\"Roboto Slab\\\",serif;color:#11254b}.dashboard-card .card-title h3 .highlighted{font-weight:400;font-size:clamp(1.35rem,.6rem + 2.5cqi,1.8rem);font-family:\\\"Roboto\\\",sans-serif;color:#e44c13}.dashboard-card .card-title h4{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:400;font-size:clamp(1.1rem,.6rem + 1.5cqi,1.3rem);font-family:\\\"Roboto\\\",sans-serif;color:rgba(17,37,75,.8);word-spacing:-0.08em}.dashboard-card .card-content{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;gap:1.2rem;padding:2rem min(1.5vw,2rem);opacity:1;transition:opacity .25s ease-out .45s}.dashboard-card .card-content [class^=card-content-row-],.dashboard-card .card-content [class*=card-content-row-]{width:100%;display:flex;align-items:center;flex-direction:column;gap:1.2rem}.dashboard-card .card-content .card-content-row-up>h4{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-weight:500;text-align:center;font-size:clamp(1.2rem,1.1rem + 2.5cqi,1.5rem);font-family:\\\"Roboto condensed\\\",sans-serif;color:#11254b}.dashboard-card .card-content .card-content-row-down{flex:1 1 auto;justify-content:center}.dashboard-card .card-rear .card-content{opacity:0;transition:opacity .15s ease-in}.dashboard-card.is-flipped .card-front .card-content{opacity:0;transition:opacity .15s ease-in}.dashboard-card.is-flipped .card-rear .card-content{opacity:1;transition:opacity .25s ease-out .45s}@media(prefers-reduced-motion: reduce){.dashboard-card .card-flipper,.dashboard-card .card-face,.dashboard-card .card-content,.dashboard-card.is-flipped .card-front .card-content,.dashboard-card.is-flipped .card-rear .card-content{transition:none}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/views/dashboard/cards/card.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AA0WA,uBACE,KACE,SAAA,CAAA,CCjWJ,gBACE,iBAAA,CACA,YAAA,CACA,WAAA,CACA,kBAAA,CACA,8BACE,YAAA,CACA,2BAAA,CACA,uDAAA,CACA,qBAAA,CACF,2BACE,aAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,qBAAA,CDtBF,mCADmF,CAEnF,oCAF8M,CAG9M,qCAH4H,CAI5H,sCAJsK,CAKtK,iBEY2B,CFX3B,qCAAA,CCmBE,eAAA,CACA,0BAAA,CACA,kCAAA,CACA,oCAAA,CACA,gHACE,aChCY,CDiChB,4BACE,yBAAA,CACF,2BACE,yCAAA,CACA,iBAAA,CAEA,yCACE,yBAAA,CACF,uCACE,iBAAA,CACF,sCACE,kBAAA,CACJ,6BACE,YAAA,CACA,aAAA,CACA,kBAAA,CACA,iBAAA,CACA,0BAAA,CACA,SAAA,CACA,6BAAA,CACA,UCrCqB,CDsCrB,cAAA,CACA,WCnCyB,CDoCzB,UAAA,CACA,qBAAA,CACA,4CAAA,CACF,oCACE,YAAA,CACA,kBAAA,CACA,WAAA,CACA,UC/CqB,CDgDvB,2BD2GA,iBAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CACA,gBAAA,CACA,uBAAA,CACA,2HAAA,CCjHE,+BACE,aAAA,CACA,SAAA,CACA,UAAA,CACJ,4BACE,WAAA,CACA,+BEvEF,WAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CHkJA,gBAAA,CACA,SAAA,CACA,0BAAA,CACA,6CAAA,CACA,eAAA,CACA,+BAAA,CACA,aE5JgB,CF6JhB,4CACE,eAAA,CACA,8CAAA,CACA,+BAAA,CACA,aAAA,CCvFA,+BEzEF,WAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CHgKA,QAAA,CACA,eAAA,CACA,6CAAA,CACA,+BAAA,CACA,uBE/I8B,CFgJ9B,oBAAA,CC5FA,8BACE,YAAA,CACA,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,UClEqB,CDmErB,4BAAA,CACA,SAAA,CACA,qCAAA,CACA,kHACE,UAAA,CACA,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,UC3EmB,CD4ErB,sDE3FF,WAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CHuGA,QAAA,CACA,SAAA,CACA,eAAA,CACA,iBAAA,CACA,8CAAA,CACA,yCAAA,CACA,aEjHgB,CD8Fd,qDACE,aAAA,CACA,sBAAA,CACJ,yCACE,SAAA,CACA,+BAAA,CAEA,qDACE,SAAA,CACA,+BAAA,CACF,oDACE,SAAA,CACA,qCAAA,CAEJ,uCACE,gMAKE,eAAA,CAAA\",\"sourcesContent\":[\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n@import '../../../static/dashboard-mixins'\\n\\n$flip-duration: .7s\\n$flip-easing: cubic-bezier(.65, 0, .35, 1)\\n$flip-half: $flip-duration * .5\\n$content-fade-out: .15s\\n$content-fade-in: .25s\\n$content-delay: $flip-half + .1s\\n\\n.dashboard-card\\n  position: relative\\n  display: grid\\n  min-width: 0\\n  perspective: 2000px\\n  .card-flipper\\n    display: grid\\n    transform-style: preserve-3d\\n    transition: transform $flip-duration $flip-easing\\n    will-change: transform\\n  .card-face\\n    grid-area: 1 / 1\\n    position: relative\\n    display: flex\\n    flex-direction: column\\n    min-width: 0\\n    box-sizing: border-box\\n    @include dashboardCardPreset\\n    background: #fff\\n    backface-visibility: hidden\\n    -webkit-backface-visibility: hidden\\n    transition: visibility 0s linear $flip-half\\n    &.queue-messages-email-pec md-cards > article:last-of-type .md-cards-info p:last-of-type\\n      color: $secondary-color\\n  .card-front\\n    transform: translateZ(1px)\\n  .card-rear\\n    transform: rotateY(180deg) translateZ(1px)\\n    visibility: hidden\\n  &.is-flipped\\n    .card-flipper\\n      transform: rotateY(180deg)\\n    .card-front\\n      visibility: hidden\\n    .card-rear\\n      visibility: visible\\n  .card-header\\n    display: flex\\n    flex: 0 0 auto\\n    align-items: center\\n    position: relative\\n    container-type: inline-size\\n    z-index: 1\\n    justify-content: space-between\\n    gap: $md-dashboard-inset-gap\\n    padding: 0 $dashboard-gap\\n    height: $md-dashboard-header-height\\n    width: 100%\\n    box-sizing: border-box\\n    box-shadow: 0 6px 10px -8px rgba($secondary-color, .3)\\n  .card-title-wrapper\\n    display: flex\\n    align-items: center\\n    min-width: 0\\n    gap: $md-dashboard-inset-gap\\n  .card-icon\\n    @include cardIcon\\n    img\\n      display: block\\n      width: 90%\\n      height: 90%\\n  .card-title\\n    min-width: 0\\n    h3\\n      @include headerH3\\n    h4\\n      @include headerH4\\n\\n  .card-content\\n    display: flex\\n    flex: 1 1 auto\\n    flex-direction: column\\n    align-items: center\\n    gap: $md-dashboard-inset-gap\\n    padding: $dashboard-gap min(1.5vw, $dashboard-gap)\\n    opacity: 1\\n    transition: opacity $content-fade-in ease-out $content-delay\\n    [class^=\\\"card-content-row-\\\"], [class*=\\\"card-content-row-\\\"]\\n      width: 100%\\n      display: flex\\n      align-items: center\\n      flex-direction: column\\n      gap: $md-dashboard-inset-gap\\n    .card-content-row-up > h4\\n      @include h4\\n    .card-content-row-down\\n      flex: 1 1 auto\\n      justify-content: center\\n  .card-rear .card-content\\n    opacity: 0\\n    transition: opacity $content-fade-out ease-in\\n  &.is-flipped\\n    .card-front .card-content\\n      opacity: 0\\n      transition: opacity $content-fade-out ease-in\\n    .card-rear .card-content\\n      opacity: 1\\n      transition: opacity $content-fade-in ease-out $content-delay\\n\\n  @media (prefers-reduced-motion: reduce)\\n    .card-flipper,\\n    .card-face,\\n    .card-content,\\n    &.is-flipped .card-front .card-content,\\n    &.is-flipped .card-rear .card-content\\n      transition: none\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}.card-content>p{margin:0;line-height:1.5;min-width:0;font-weight:400;font-size:min(1rem + .3vw,1.3rem)}.card-content>p:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.card-content>.card-settings-list{display:grid;row-gap:calc(1.2rem/2);align-self:stretch;width:100%;margin:0;padding:0;list-style:none}.card-content>.card-settings-list.is-locked{pointer-events:none}.card-content>.card-settings-list>li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-width:0;padding:1.2rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);border-radius:5px;background-color:#fff;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.1) 1px, transparent 0, transparent 50%);font:400 1.5rem \\\"Roboto Condensed\\\",sans-serif;color:#11254b;text-align:left;cursor:pointer;transition:background-color .3s ease,border-color .3s ease}.card-content>.card-settings-list>li>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.card-content>.card-settings-list>li>span[md-action]{display:flex;align-items:center;justify-content:flex-end;padding:0 1.5rem 0 0;position:absolute;z-index:3;right:0;top:0;width:100%;height:100%}.card-content>.card-settings-list>li>span[md-action] .wrapper{display:flex;justify-content:flex-end;align-items:center}.card-content>.card-settings-list>li>span[md-action] .wrapper>i{color:rgba(17,37,75,.8);transition:color .3s ease}.card-content>.card-settings-list>li.selected{background-color:rgba(125,220,112,.5)}.card-content>.card-settings-list>li.selected>span[md-action] .wrapper>i{color:#24580d}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/dashboard/cards/models/settings.sass\",\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,uBC0WA,KACE,SACE,CAAA,CAAA,gBDvWF,QACE,CAAA,eACA,CAAA,WACA,CAAA,eACA,CAAA,iCACA,CAAA,uBACA,oBEuCF,CAAA,WFtCyB,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBE0C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kCFpDF,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,UACA,CAAA,QACA,CAAA,SACA,CAAA,eACA,CAAA,4CAEA,mBACE,CAAA,qCACF,iBACE,CAAA,YACA,CAAA,kBACA,CAAA,6BACA,CAAA,UGVmB,CAAA,WHYnB,CAAA,cGZmB,CAAA,0CHcnB,CAAA,iBGXuB,CAAA,qBHavB,CAAA,uBGfiB,CAAA,wHAUM,CAAA,6CHQvB,CAAA,aGnCY,CAAA,eHqCZ,CAAA,cACA,CAAA,0DACA,CAAA,0CACA,WEvCJ,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,WFsCM,CAAA,qDACF,YACE,CAAA,kBACA,CAAA,wBACA,CAAA,oBACA,CAAA,iBACA,CAAA,SACA,CAAA,OACA,CAAA,KACA,CAAA,UACA,CAAA,WACA,CAAA,8DACA,YACE,CAAA,wBACA,CAAA,kBACA,CAAA,gEACA,uBGjCsB,CAAA,yBHmCpB,CAAA,8CACN,qCACE,CAAA,yEAEE,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n@import '../../../../static/dashboard-mixins'\\n\\n.card-content\\n  > p\\n    margin: 0\\n    line-height: 1.5\\n    min-width: 0\\n    font-weight: 400\\n    font-size: min(calc(1rem + .3vw), 1.3rem)\\n    &:before\\n      @include fontawesome('\\\\f05a', 'regular', inherit, 0 .5rem 0 0, $primary-color)\\n  > .card-settings-list\\n    display: grid\\n    row-gap: calc(#{$md-dashboard-inset-gap} / 2)\\n    align-self: stretch\\n    width: 100%\\n    margin: 0\\n    padding: 0\\n    list-style: none\\n    // Salvataggio del layout in corso: nessuna voce cliccabile\\n    &.is-locked\\n      pointer-events: none\\n    > li\\n      position: relative\\n      display: flex\\n      align-items: center\\n      justify-content: space-between\\n      gap: $md-dashboard-inset-gap\\n      min-width: 0\\n      padding: $md-dashboard-inset-gap\\n      box-shadow: inset 0 0 0 1px rgba(#000, .15)\\n      border-radius: $md-dashboard-border-radius\\n      background-color: #fff\\n      background-size: $dashboard-image-size\\n      background-image: $dashboard-background-image\\n      font: 400 1.5rem 'Roboto Condensed', sans-serif\\n      color: $md-dashboard-text-color\\n      text-align: left\\n      cursor: pointer\\n      transition: background-color .3s ease, border-color .3s ease\\n      > span\\n        @include ellipsis\\n        min-width: 0\\n      > span[md-action]\\n        display: flex\\n        align-items: center\\n        justify-content: flex-end\\n        padding: 0 1.5rem 0 0\\n        position: absolute\\n        z-index: 3\\n        right: 0\\n        top: 0\\n        width: 100%\\n        height: 100%\\n        .wrapper\\n          display: flex\\n          justify-content: flex-end\\n          align-items: center\\n          > i\\n            color: $md-dashboard-text-color-matte\\n            transition: color .3s ease\\n      &.selected\\n        background-color: rgba($dashboard-green, .5)\\n        > span[md-action] .wrapper\\n          > i\\n            color: #24580d\\n      \\n\",\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes skeleton-in{from{opacity:0}}router-view.dashboard{overflow-y:auto;scrollbar-width:none}router-view.dashboard::-webkit-scrollbar{display:none}@media all and (min-width: 1300px){router-view.dashboard{display:flex;flex-direction:column}}router-view.dashboard md-loader+.dashboard-wrapper{background:#f9f9f9 !important}router-view.dashboard md-loader+.dashboard-wrapper:before{opacity:0 !important}router-view.dashboard>.dashboard-wrapper{display:grid;grid-template-columns:minmax(0, 1fr);align-content:start;gap:2rem;position:relative;box-sizing:border-box;min-height:100%;padding-inline:1rem;overflow:clip;background:rgba(17,37,75,.05);transition:background .5s ease-in-out .2s}router-view.dashboard>.dashboard-wrapper:before{content:\\\"\\\";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:none;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, transparent 0, rgba(0, 0, 0, 0.06) 1px, transparent 0, transparent 50%)}router-view.dashboard>.dashboard-wrapper section{position:relative;z-index:2}@media all and (min-width: 1300px){router-view.dashboard>.dashboard-wrapper{grid-template-columns:minmax(0, 1fr) min(20vw,45rem);grid-template-rows:auto 1fr;grid-template-areas:\\\"actions aside\\\" \\\"cards aside\\\";align-content:stretch;flex:1 0 auto;min-height:max(100%,80rem);padding-inline:2rem;padding-right:0}router-view.dashboard>.dashboard-wrapper .actions{grid-area:actions}router-view.dashboard>.dashboard-wrapper .dashboard-aside{grid-area:aside}router-view.dashboard>.dashboard-wrapper .cards-wrapper{grid-area:cards}}router-view.dashboard>.dashboard-wrapper .dashboard-aside{animation:dashboard-aside-in .6s cubic-bezier(0.22, 1, 0.36, 1) .6s both}@media(prefers-reduced-motion: reduce){router-view.dashboard>.dashboard-wrapper .dashboard-aside{animation:none}}router-view.dashboard>.dashboard-wrapper .cards-wrapper{display:grid;grid-template-columns:minmax(0, 1fr);grid-auto-rows:minmax(28rem, auto);gap:2rem;margin-bottom:2rem;animation:dashboard-cards-in 1.2s ease .6s both}@media(prefers-reduced-motion: reduce){router-view.dashboard>.dashboard-wrapper .cards-wrapper{animation:none}}@media all and (min-width: 1300px){router-view.dashboard>.dashboard-wrapper .cards-wrapper{grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:minmax(28rem, 1fr)}}router-view.dashboard>.dashboard-wrapper .actions{display:grid;grid-template-columns:1fr auto 1fr;column-gap:1rem;align-items:center;position:relative;z-index:1;padding:0 2rem;min-height:6rem;background:#fff;border-top:none;border-left:1px solid rgba(0,0,0,.3);border-right:1px solid rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.3);border-radius:0 0 5px 5px;box-shadow:0 0 2px 2px rgba(0,0,0,.1);animation:dashboard-actions-in .6s cubic-bezier(0.22, 1, 0.36, 1) .4s both}@media(prefers-reduced-motion: reduce){router-view.dashboard>.dashboard-wrapper .actions{animation:none}}router-view.dashboard>.dashboard-wrapper .actions>:first-child{justify-self:start}router-view.dashboard>.dashboard-wrapper .actions>:last-child{justify-self:end}router-view.dashboard>.dashboard-wrapper .actions .actions-reset{display:flex;align-items:center;padding:0px 1.2rem;height:3rem;width:fit-content;border-radius:999px;border:1px solid rgba(0,0,0,.3);cursor:pointer;white-space:nowrap;background:#fff;outline:none;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:clamp(1.2rem,.8rem + .5vw,1.4rem);font-weight:400;color:rgba(64,64,64,.9);box-shadow:rgba(0,0,0,.1) 0 1px 3px,rgba(0,0,0,.2) 0 4px 8px -4px;transition:color .3s ease,border .3s ease,box-shadow .3s ease}router-view.dashboard>.dashboard-wrapper .actions .actions-reset>.wrapper.icon-before{font-size:clamp(1.2rem,.8rem + .4vw,1.3rem);text-align:left;transition:color .3s ease;max-width:2rem}router-view.dashboard>.dashboard-wrapper .actions .actions-reset>.wrapper.icon-before>i{color:rgba(64,64,64,.9)}router-view.dashboard>.dashboard-wrapper .actions .actions-reset:hover{color:#000;border:1px solid rgba(0,0,0,.4);box-shadow:rgba(0,0,0,.2) 0 1px 3px,rgba(0,0,0,.3) 0 4px 8px -4px}router-view.dashboard>.dashboard-wrapper .actions .actions-reset:hover .wrapper.icon-before>i{color:#000}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts{display:flex;align-items:center;padding:0px 1.2rem;height:3rem;width:fit-content;border-radius:999px;border:1px solid rgba(0,0,0,.3);cursor:pointer;white-space:nowrap;background:#fff;outline:none;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:clamp(1.2rem,.8rem + .5vw,1.4rem);font-weight:400;color:rgba(64,64,64,.9);box-shadow:rgba(0,0,0,.1) 0 1px 3px,rgba(0,0,0,.2) 0 4px 8px -4px;transition:color .3s ease,border .3s ease,box-shadow .3s ease;text-decoration:none}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts>.wrapper.icon-before{font-size:clamp(1.2rem,.8rem + .4vw,1.3rem);text-align:left;transition:color .3s ease;max-width:2rem}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts>.wrapper.icon-before>i{color:rgba(64,64,64,.9)}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts:hover{color:#000;border:1px solid rgba(0,0,0,.4);box-shadow:rgba(0,0,0,.2) 0 1px 3px,rgba(0,0,0,.3) 0 4px 8px -4px}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts:hover .wrapper.icon-before>i{color:#000}router-view.dashboard>.dashboard-wrapper .actions .actions-drafts>b{margin:0 .3rem;font-weight:800;color:rgba(17,37,75,.9);font-family:\\\"Roboto mono\\\",sans-serif}@keyframes dashboard-actions-in{from{transform:translateY(calc(-100% - 1rem))}}@keyframes dashboard-aside-in{from{transform:translateX(100%)}}@keyframes dashboard-cards-in{from{opacity:0}to{opacity:1}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_dashboard-mixins.sass\",\"webpack://./src/views/dashboard/dashboard.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA0WA,uBACE,KACE,SAAA,CAAA,CC/VJ,sBACE,eAAA,CACA,oBAAA,CACA,yCACE,YAAA,CACF,mCALF,sBAMI,YAAA,CACA,qBAAA,CAAA,CACF,mDACE,6BAAA,CACA,0DACE,oBAAA,CACJ,yCACE,YAAA,CACA,oCAAA,CACA,mBAAA,CACA,QClBY,CDmBZ,iBAAA,CACA,qBAAA,CACA,eAAA,CACA,mBAAA,CACA,aAAA,CACA,6BCTsB,CDUtB,yCAAA,CDeF,gDACE,UAAA,CACA,iBAAA,CACA,OAAA,CACA,SClBgC,CDmBhC,mBAAA,CACA,kBCpB0B,CDqB1B,uBCrBiJ,CDsBjJ,yHCtB2C,CAC3C,iDACE,iBAAA,CACA,SAAA,CACF,mCAhBF,yCAiBI,oDAAA,CACA,2BAAA,CACA,iDAAA,CACA,qBAAA,CACA,aAAA,CACA,0BAAA,CACA,mBCrCU,CDsCV,eAAA,CACA,kDACE,iBAAA,CACF,0DACE,eAAA,CACF,wDACE,eAAA,CAAA,CACJ,0DACE,wEAAA,CACA,uCAFF,0DAGI,cAAA,CAAA,CAEJ,wDACE,YAAA,CACA,oCAAA,CACA,kCAAA,CACA,QCtDU,CDuDV,kBCvDU,CDwDV,+CAAA,CACA,uCAPF,wDAQI,cAAA,CAAA,CACF,mCATF,wDAUI,+CAAA,CACA,iCAAA,CAAA,CAEJ,kDACE,YAAA,CACA,kCAAA,CACA,eAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACA,eAAA,CD9EJ,eC+E2H,CD9E3H,oCAF8M,CAG9M,qCAH4H,CAI5H,sCAJsK,CAKtK,yBC2EiD,CD1EjD,qCAAA,CC2EI,0EAAA,CACA,uCAZF,kDAaI,cAAA,CAAA,CACF,+DACE,kBAAA,CACF,8DACE,gBAAA,CACF,iEDhFJ,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,+BAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,YAAA,CACA,yCAAA,CACA,2CAAA,CACA,eAAA,CACA,uBAAA,CACA,iEAAA,CACA,6DAAA,CACA,sFACE,2CAAA,CACA,eAAA,CACA,yBAAA,CACA,cAAA,CACA,wFACE,uBAAA,CACJ,uEACE,UAAA,CACA,+BAAA,CACA,iEAAA,CACA,8FACE,UAAA,CCqDA,kEDlFJ,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,+BAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,YAAA,CACA,yCAAA,CACA,2CAAA,CACA,eAAA,CACA,uBAAA,CACA,iEAAA,CACA,6DAAA,CAgBA,oBAAA,CAfA,uFACE,2CAAA,CACA,eAAA,CACA,yBAAA,CACA,cAAA,CACA,yFACE,uBAAA,CACJ,wEACE,UAAA,CACA,+BAAA,CACA,iEAAA,CACA,+FACE,UAAA,CAIJ,oEACE,cAAA,CACA,eAAA,CACA,uBAAA,CACA,oCAAA,CCgDJ,gCACE,KACE,wCAAA,CAAA,CAEJ,8BACE,KACE,0BAAA,CAAA,CAEJ,8BACE,KACE,SAAA,CACF,GACE,SAAA,CAAA\",\"sourcesContent\":[\"@use 'sass:math'\\n@import 'vars'\\n\\n// Dashboard\\n@mixin dashboardCardPreset($border-radius: $md-dashboard-border-radius, $border-top: 1px solid rgba(#000, .3), $border-right: 1px solid rgba(#000, .3), $border-bottom: 1px solid rgba(#000, .3), $border-left: 1px solid rgba(#000, .3))\\n  border-top: $border-top\\n  border-left: $border-left\\n  border-right: $border-right\\n  border-bottom: $border-bottom\\n  border-radius: $border-radius\\n  box-shadow: 0 0 2px 2px rgba(#000, .1)\\n@mixin dashboardButtonReset\\n  display: flex\\n  align-items: center\\n  padding: 0px 1.2rem\\n  height: 3rem\\n  width: fit-content\\n  border-radius: 999px\\n  border: 1px solid rgba(#000, .3)\\n  cursor: pointer\\n  white-space: nowrap\\n  background: #fff\\n  outline: none\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: clamp(1.2rem, calc(.8rem + .5vw), 1.4rem)\\n  font-weight: 400\\n  color: rgba($text-color, .9)\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  transition: color .3s ease, border .3s ease, box-shadow .3s ease\\n  > .wrapper.icon-before\\n    font-size: clamp(1.2rem, calc(.8rem + .4vw), 1.3rem)\\n    text-align: left\\n    transition: color .3s ease\\n    max-width: 2rem\\n    > i\\n      color: rgba($text-color, .9)\\n  &:hover\\n    color: #000\\n    border: 1px solid rgba(#000, .4)\\n    box-shadow: rgba(#000, .2) 0 1px 3px, rgba(#000, .3) 0 4px 8px -4px\\n    .wrapper.icon-before > i\\n      color: #000\\n@mixin dashboardDraftsLink\\n  @include dashboardButtonReset\\n  text-decoration: none\\n  > b\\n    margin: 0 .3rem\\n    font-weight: 800\\n    color: rgba($secondary-color, .9)\\n    font-family: 'Roboto mono', sans-serif\\n@mixin dashboardStripes($border-radius: $md-dashboard-border-radius, $z-index: 1, $pseudo: after, $background-image: $dashboard-background-image, $background-size: $dashboard-image-size)\\n  &:#{$pseudo}\\n    content: ''\\n    position: absolute\\n    inset: 0\\n    z-index: $z-index\\n    pointer-events: none\\n    border-radius: $border-radius\\n    background-size: $background-size\\n    background-image: $background-image\\n@mixin skeletonLayer($background, $shine)\\n  background-color: $background\\n  background-image: linear-gradient(90deg, rgba($shine, 0), rgba($shine, .06), rgba($shine, 0))\\n  background-size: 40px 100%\\n  background-repeat: no-repeat\\n  background-position: left -40px top 0\\n  border-radius: $md-dashboard-border-radius\\n@mixin skeleton($background: #f0f0f0, $shine: #000, $when: null, $z-index: 0, $fade-in: .3s, $fade-out: .4s, $delay: 0s)\\n  @if $when\\n    isolation: isolate\\n    &:before\\n      @include skeletonLayer($background, $shine)\\n      content: ''\\n      position: absolute\\n      inset: 0\\n      z-index: $z-index\\n      opacity: 0\\n      pointer-events: none\\n      animation: shine 1s ease infinite\\n      transition: opacity $fade-out ease $delay\\n    &#{$when}\\n      background: transparent\\n    &#{$when}:before\\n      opacity: 1\\n      animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n      transition: none\\n    @media (prefers-reduced-motion: reduce)\\n      &:before, &#{$when}:before\\n        animation: shine 1s ease infinite\\n        transition: none\\n  @else\\n    @include dashboardStripes(inherit, $z-index, after)\\n    @include skeletonLayer($background, $shine)\\n    color: transparent\\n    animation: skeleton-in $fade-in ease, shine 1s ease infinite\\n\\n// Cards\\n@mixin h3\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  text-transform: uppercase\\n  font-size: clamp(1.1rem, 1rem + 2.5cqi, 1.4rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin h4\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 500\\n  text-align: center\\n  font-size: clamp(1.2rem, 1.1rem + 2.5cqi, 1.5rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  color: $md-dashboard-text-color\\n@mixin total\\n  margin-left: .25rem\\n  font-weight: 400\\n  font-size: clamp(1.2rem, 14cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n@mixin partial($adaptive: false)\\n  font-weight: 700\\n  display: inline-block\\n  font-size: clamp(1.8rem, 22cqi, 2.9rem)\\n  font-family: 'Roboto mono', sans-serif\\n  @if $adaptive\\n    font-size: clamp(1.2rem, calc((100cqi - var(--partial-reserve, 2.5rem)) / (var(--partial-chars, 4) * .62)), 2.9rem)\\n  &.has-decimals\\n    letter-spacing: -.1rem\\n  &.md-cards-text\\n    @include ellipsis\\n    max-width: 100%\\n    font-weight: 600\\n    vertical-align: bottom\\n    font-family: 'Roboto flex', sans-serif\\n@mixin paragraph\\n  @include ellipsis\\n  font-weight: 400\\n  line-height: 1.2\\n  font-size: clamp(1rem, 1.1rem + 3cqi, 1.5rem)\\n  color: $md-dashboard-text-color-matte\\n  font-family: 'Roboto condensed', sans-serif\\n  &.md-cards-cta\\n    margin: 0\\n    color: $md-dashboard-text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    text-decoration-thickness: 1px\\n@mixin headerH3\\n  @include ellipsis\\n  margin: 0 0 .3rem\\n  padding: 0\\n  line-height: 1.1 !important\\n  font-size: clamp(1.3rem, .5rem + 2.5cqi, 1.7rem)\\n  font-weight: 400\\n  font-family: 'Roboto Slab', serif\\n  color: $md-dashboard-text-color\\n  .highlighted\\n    font-weight: 400\\n    font-size: clamp(1.35rem, .6rem + 2.5cqi, 1.8rem)\\n    font-family: 'Roboto', sans-serif\\n    color: darken($primary-color, 5%)\\n@mixin headerH4\\n  @include ellipsis\\n  margin: 0\\n  font-weight: 400\\n  font-size: clamp(1.1rem, .6rem + 1.5cqi, 1.3rem)\\n  font-family: 'Roboto', sans-serif\\n  color: $md-dashboard-text-color-matte\\n  word-spacing: -.08em\\n@mixin cardIcon\\n  position: relative\\n  flex: 0 0 auto\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  height: clamp(2rem, 2rem + 3cqi, 4rem)\\n  aspect-ratio: 1 / 1\\n  background-size: 5px 5px\\n  background-image: repeating-linear-gradient(45deg, transparent 0, rgba($secondary-color, .2) 1px, transparent 0, transparent 50%)\\n\\n// Aside cards\\n@mixin asideCardTheme($background: #fff, $color: $md-dashboard-text-color, $title-color: $color, $color-matte: $md-dashboard-text-color-matte, $badge-bg: transparent, $badge-color: $md-dashboard-text-color, $button-bg: $secondary-color, $button-color: #fff)\\n  box-shadow: none\\n  --aside-card-bg: #{$background}\\n  --aside-card-color: #{$color}\\n  --aside-card-badge-border: 999px\\n  --aside-card-badge-bg: #{$badge-bg}\\n  --aside-card-button-bg: #{$button-bg}\\n  --aside-card-title-color: #{$title-color}\\n  --aside-card-color-matte: #{$color-matte}\\n  --aside-card-badge-color: #{$badge-color}\\n  --aside-card-button-color: #{$button-color}\\n  &.is-empty\\n    --aside-card-badge-color: #{$aside-card-empty-color} !important\\n    border-style: dashed !important\\n    border-color: #{$aside-card-empty-color} !important\\n    background: rgba(#fff, .5) !important\\n    box-shadow: none !important\\n    .aside-card-icon\\n      color: #{$aside-card-empty-color} !important\\n    .aside-card-badge.is-outlined\\n      color: #{$aside-card-empty-color} !important\\n      border-color: rgba($secondary-color, .3) !important\\n@function asideCardFluid($min, $base, $max)\\n  $by-width: math.div($base, $dashboard-aside-card-ref-width) * 100cqi\\n  $by-height: math.div($base, $dashboard-aside-card-ref-height) * 100cqb\\n  @return clamp(#{$min}, min(#{$by-width}, #{$by-height}), #{$max})\\n@mixin asideSectionTitle\\n  @include ellipsis\\n  margin: 0\\n  padding: 0\\n  font-weight: 700\\n  font-size: 1.3rem\\n  font-family: 'Roboto Condensed', sans-serif\\n  letter-spacing: .08em\\n  text-transform: uppercase\\n  color: $md-dashboard-text-color\\n@mixin asideCarouselButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  width: 2.5rem\\n  height: 2.5rem\\n  padding: 0\\n  border: 1px solid rgba($secondary-color, .5)\\n  border-radius: 50%\\n  background: #fff\\n  font-size: 1rem\\n  color: $md-dashboard-text-color-matte\\n  cursor: pointer\\n  transition: border .3s ease, color .3s ease\\n  box-shadow: rgba(#000, .1) 0 1px 3px, rgba(#000, .2) 0 4px 8px -4px\\n  &.aside-section-prev:before\\n    @include fontawesome('\\\\f077', 'solid', inherit, 0, inherit)\\n  &.aside-section-next:before\\n    @include fontawesome('\\\\f078', 'solid', inherit, 0, inherit)\\n  &:hover:not(:disabled), &:active:not(:disabled)\\n    color: $secondary-color\\n    border: 1px solid $md-dashboard-text-color-matte\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &:disabled\\n    background: #edeef0\\n    color: rgba($secondary-color, .5)\\n    border: 1px solid rgba($secondary-color, .3)\\n    cursor: default\\n    box-shadow: none\\n@mixin asideCardP\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  margin: 0\\n  overflow: hidden\\n  font-weight: 400\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: inherit\\n  line-height: inherit\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBody($line-height: 1.5, $max-lines: 12)\\n  min-height: #{$line-height}em\\n  overflow: hidden\\n  font-size: clamp(1.25rem, 1rem + 3cqi, 1.4rem)\\n  line-height: $line-height\\n  @media all and (min-width: $dashboard-lg)\\n    container: aside-card-body / size\\n  > p\\n    @include asideCardP\\n    @media all and (min-width: $dashboard-lg)\\n      -webkit-line-clamp: 1\\n    @for $lines from 1 through $max-lines\\n      @container aside-card-body (min-height: #{$lines * $line-height}em)\\n        -webkit-line-clamp: $lines\\n@mixin asideCardH4\\n  @include ellipsis\\n  display: -webkit-box\\n  -webkit-box-orient: vertical\\n  -webkit-line-clamp: 2\\n  white-space: normal\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 500\\n  color: #fff\\n  font-family: 'Roboto Condensed', sans-serif\\n  font-size: asideCardFluid(1.5rem, 1.6rem, 1.7rem)\\n  color: var(--aside-card-title-color)\\n@mixin asideCardH5\\n  @include ellipsis\\n  position: relative\\n  z-index: 2\\n  margin: 0\\n  font-weight: 400\\n  font-family: 'Roboto flex', sans-serif\\n  text-transform: uppercase\\n  font-size: asideCardFluid(1.2rem, 1.2rem, 1.4rem)\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardMeta\\n  @include ellipsis\\n  margin-left: auto\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(.9rem, 1rem, 1.2rem)\\n  text-transform: uppercase\\n  color: var(--aside-card-color-matte)\\n@mixin asideCardBadge\\n  display: inline-flex\\n  align-items: center\\n  flex: 0 0 auto\\n  padding: .5rem 1.5rem\\n  max-height: 2.2rem\\n  box-sizing: border-box\\n  border-radius: 999px\\n  background: var(--aside-card-badge-bg)\\n  color: $secondary-color\\n  font-weight: 700\\n  font-family: 'Roboto flex', sans-serif\\n  font-size: asideCardFluid(1.1rem, 1.2rem, 1.2rem)\\n  letter-spacing: .03rem\\n  text-transform: uppercase\\n  &.is-outlined\\n    border: 1px solid $secondary-color\\n@mixin asideCardButton\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  position: relative\\n  z-index: 2\\n  isolation: isolate\\n  height: 3rem\\n  padding: 0 2rem\\n  border-radius: 3rem\\n  background: #fff\\n  color: $md-dashboard-text-color\\n  font-weight: 500\\n  font-family: 'Roboto', sans-serif\\n  font-size: asideCardFluid(1.3rem, 1.2rem, 1.4rem)\\n  text-decoration: none\\n  cursor: pointer\\n  transition: border-radius .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)\\n  &:after\\n    @include fontawesome('\\\\f061', 'regular', .9em, 0 0 0 .6em, $md-dashboard-text-color)\\n  &:hover, &:active\\n    border-radius: $md-dashboard-border-radius\\n    color: darken($primary-color, 10%)\\n  &:focus-visible\\n    outline: 2px solid $accent-color\\n    outline-offset: 2px\\n  &.is-empty\\n    pointer-events: none\\n    cursor: default\\n    background: rgba($secondary-color, .08)\\n    color: transparent\\n    &:after\\n      content: none\\n  @media (prefers-reduced-motion: reduce)\\n    transition: none\\n\\n// Animations\\n@keyframes skeleton-in\\n  from\\n    opacity: 0\\n\",\"@import '../../static/_vars'\\n@import '../../static/mixins'\\n@import '../../static/dashboard-mixins'\\n\\n$dashboard-actions-delay: .4s\\n$dashboard-aside-duration: .6s\\n$dashboard-cards-duration: 1.2s\\n$dashboard-lg-min-height: 80rem\\n$dashboard-actions-duration: .6s\\n$dashboard-in-easing: cubic-bezier(.22, 1, .36, 1)\\n$dashboard-aside-delay: .6s\\n$dashboard-cards-delay: .6s\\n\\nrouter-view.dashboard\\n  overflow-y: auto\\n  scrollbar-width: none\\n  &::-webkit-scrollbar\\n    display: none\\n  @media all and (min-width: $dashboard-lg)\\n    display: flex\\n    flex-direction: column\\n  md-loader + .dashboard-wrapper\\n    background: $background-color !important\\n    &:before\\n      opacity: 0 !important\\n  > .dashboard-wrapper\\n    display: grid\\n    grid-template-columns: minmax(0, 1fr)\\n    align-content: start\\n    gap: $dashboard-gap\\n    position: relative\\n    box-sizing: border-box\\n    min-height: 100%\\n    padding-inline: $dashboard-gap / 2\\n    overflow: clip\\n    background: $md-dashboard-background\\n    transition: background .5s ease-in-out .2s\\n    @include dashboardStripes(none, 0, before, repeating-linear-gradient(45deg, transparent 0, rgba(#000, .06) 1px, transparent 0, transparent 50%), 7px 7px)\\n    section\\n      position: relative\\n      z-index: 2\\n    @media all and (min-width: $dashboard-lg)\\n      grid-template-columns: minmax(0, 1fr) $dashboard-aside-width\\n      grid-template-rows: auto 1fr\\n      grid-template-areas: 'actions aside' 'cards aside'\\n      align-content: stretch\\n      flex: 1 0 auto\\n      min-height: max(100%, #{$dashboard-lg-min-height})\\n      padding-inline: $dashboard-gap\\n      padding-right: 0\\n      .actions\\n        grid-area: actions\\n      .dashboard-aside\\n        grid-area: aside\\n      .cards-wrapper\\n        grid-area: cards\\n    .dashboard-aside\\n      animation: dashboard-aside-in $dashboard-aside-duration $dashboard-in-easing $dashboard-aside-delay both\\n      @media (prefers-reduced-motion: reduce)\\n        animation: none\\n\\n    .cards-wrapper\\n      display: grid\\n      grid-template-columns: minmax(0, 1fr)\\n      grid-auto-rows: minmax($dashboard-card-min-height, auto)\\n      gap: $dashboard-gap\\n      margin-bottom: $dashboard-gap\\n      animation: dashboard-cards-in $dashboard-cards-duration ease $dashboard-cards-delay both\\n      @media (prefers-reduced-motion: reduce)\\n        animation: none\\n      @media all and (min-width: $dashboard-lg)\\n        grid-template-columns: repeat(2, minmax(0, 1fr))\\n        grid-auto-rows: minmax($dashboard-card-min-height, 1fr)\\n\\n    .actions\\n      display: grid\\n      grid-template-columns: 1fr auto 1fr\\n      column-gap: $dashboard-gap / 2\\n      align-items: center\\n      position: relative\\n      z-index: 1\\n      padding: 0 2rem\\n      min-height: 6rem\\n      background: #fff\\n      @include dashboardCardPreset($border-radius: 0 0 $md-dashboard-border-radius $md-dashboard-border-radius, $border-top: none)\\n      animation: dashboard-actions-in $dashboard-actions-duration $dashboard-in-easing $dashboard-actions-delay both\\n      @media (prefers-reduced-motion: reduce)\\n        animation: none\\n      > :first-child\\n        justify-self: start\\n      > :last-child\\n        justify-self: end\\n      .actions-reset\\n        @include dashboardButtonReset\\n      .actions-drafts\\n        @include dashboardDraftsLink\\n          \\n@keyframes dashboard-actions-in\\n  from\\n    transform: translateY(calc(-100% - 1rem))\\n\\n@keyframes dashboard-aside-in\\n  from\\n    transform: translateX(100%)\\n\\n@keyframes dashboard-cards-in\\n  from\\n    opacity: 0\\n  to\\n    opacity: 1\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.fidelity-card-payment-confirm ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.fidelity-card-payment-confirm ux-dialog-footer button:first-of-type:hover{background:#081021}router-view.fidelity-cards-activation-history .mono{font-size:1.5rem;color:#404040;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";white-space:nowrap}router-view.fidelity-cards-activation-history .activations-table .properties{font-size:1.5rem}router-view.fidelity-cards-activation-history .activations-table .properties>span{display:block;font-family:\\\"Roboto condensed\\\",sans-serif;color:rgba(64,64,64,.8)}router-view.fidelity-cards-activation-history .activations-table .properties>span>strong{font-weight:500;color:#404040}router-view.fidelity-cards-activation-history .activations-table .type{font-weight:500;font-size:1.5rem;font-family:\\\"Roboto flex\\\",sans-serif;text-transform:capitalize}router-view.fidelity-cards-activation-history .activations-table .type.base{color:#ed5a23}router-view.fidelity-cards-activation-history .activations-table .type.base-plus{color:#1a3a75}router-view.fidelity-cards-activation-history .activations-table .type.silver{color:#000}router-view.fidelity-cards-activation-history .activations-table .type.gold{color:#cc7a00}router-view.fidelity-cards-activation-history .activations-table .price{font-family:\\\"Roboto mono\\\",sans-serif}router-view.fidelity-cards-activation-history .activatedAt{color:rgba(64,64,64,.6)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/activation-history.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKI,8EACE,cAAA,CACA,kBCLY,CDMZ,oFACE,kBAAA,CAGN,oDACE,gBAAA,CACA,aCdS,CDeT,sCAAA,CACA,kBAAA,CAEA,6EACE,gBAAA,CACA,kFACE,aAAA,CACA,yCAAA,CACA,uBAAA,CACA,yFACE,eAAA,CACA,aC1BG,CD2BT,uEACE,eAAA,CACA,gBAAA,CACA,oCAAA,CACA,yBAAA,CACA,4EACE,aChCQ,CDiCV,iFACE,aAAA,CACF,8EACE,UAAA,CACF,4EACE,aAAA,CACJ,wEACE,oCAAA,CACJ,2DACE,uBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nux-dialog.fidelity-card-payment-confirm\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 10%)\\n\\nrouter-view.fidelity-cards-activation-history\\n  .mono\\n    font-size: 1.5rem\\n    color: $text-color\\n    font-family: 'Roboto mono', 'sans-serif'\\n    white-space: nowrap\\n  .activations-table\\n    .properties\\n      font-size: 1.5rem\\n      > span\\n        display: block\\n        font-family: 'Roboto condensed', sans-serif\\n        color: rgba($text-color, .8)\\n        > strong\\n          font-weight: 500\\n          color: $text-color\\n    .type\\n      font-weight: 500\\n      font-size: 1.5rem\\n      font-family: 'Roboto flex', sans-serif\\n      text-transform: capitalize\\n      &.base\\n        color: $primary-color\\n      &.base-plus\\n        color: lighten($secondary-color, 10%)\\n      &.silver\\n        color: #000\\n      &.gold\\n        color: darken($pending-color, 10%)\\n    .price\\n      font-family: 'Roboto mono', sans-serif\\n  .activatedAt\\n    color: rgba($text-color, .6)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.fidelity-cards-activation{background:rgba(17,37,75,.01)}router-view.fidelity-cards-activation .cards-wrapper{height:100%;overflow:auto}router-view.fidelity-cards-activation .cards-wrapper .information-band{padding:1rem;display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;background:#fff;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>h2{margin:0 0 .4rem;padding:0 !important;border:none;padding:0 1rem;line-height:1.2;min-height:unset;height:fit-content}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p{margin:0;line-height:1.2;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a:hover{color:#ed5a23}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages{display:flex;align-items:center;margin-left:auto}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .card-title,router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .promotion-title{text-transform:capitalize}router-view.fidelity-cards-activation .cards-wrapper .cards-1{display:block;max-width:100rem;padding:1rem}router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{display:grid;row-gap:1rem;column-gap:1rem;padding:1rem}@media(max-width: 1200px){router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{grid-template-columns:repeat(1, 1fr) !important}}router-view.fidelity-cards-activation .cards-wrapper .cards-2{grid-template-columns:repeat(2, 1fr)}@media(max-width: 1980px){router-view.fidelity-cards-activation .cards-wrapper .cards-2{max-width:130rem}}router-view.fidelity-cards-activation .cards-wrapper .cards-3{grid-template-columns:repeat(3, 1fr)}@media(max-width: 1600px){router-view.fidelity-cards-activation .cards-wrapper .cards-3{grid-template-columns:repeat(2, 1fr)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/activation.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,sCACE,6BAAA,CACA,qDACE,WAAA,CACA,aAAA,CACA,uEACE,YAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,6CAAA,CAEE,iFACE,gBAAA,CACA,oBAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACF,gFACE,QAAA,CACA,eAAA,CACA,gBAAA,CACA,yCAAA,CACA,kFACE,eAAA,CACA,2BAAA,CACA,oBAAA,CACA,wFACE,aClCE,CDmCV,iFACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,+LACE,yBAAA,CACN,8DACE,aAAA,CACA,gBAAA,CACA,YAAA,CACF,4HACE,YAAA,CACA,YAAA,CACA,eAAA,CACA,YAAA,CACA,0BALF,4HAMI,+CAAA,CAAA,CACJ,8DACE,oCAAA,CACA,0BAFF,8DAGI,gBAAA,CAAA,CACJ,8DACE,oCAAA,CACA,0BAFF,8DAGI,oCAAA,CAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.fidelity-cards-activation\\n  background: rgba($secondary-color, .01)\\n  .cards-wrapper\\n    height: 100%\\n    overflow: auto\\n    .information-band\\n      padding: 1rem\\n      display: flex\\n      align-items: center\\n      justify-content: space-between\\n      min-height: 3.5rem\\n      background: #fff\\n      box-shadow: inset 0 -1px 0 0 rgba($secondary-color, .1)\\n      > .title\\n        > h2\\n          margin: 0 0 .4rem\\n          padding: 0 !important\\n          border: none\\n          padding: 0 1rem\\n          line-height: 1.2\\n          min-height: unset\\n          height: fit-content\\n        > p\\n          margin: 0\\n          line-height: 1.2\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > a\\n            font-weight: 600\\n            text-underline-offset: .4rem\\n            transition: color .3s\\n            &:hover\\n              color: $primary-color\\n      > .messages\\n        display: flex\\n        align-items: center\\n        margin-left: auto\\n        .card-title, .promotion-title\\n          text-transform: capitalize\\n    .cards-1\\n      display: block\\n      max-width: 100rem\\n      padding: 1rem  \\n    .cards-2, .cards-3\\n      display: grid\\n      row-gap: 1rem\\n      column-gap: 1rem\\n      padding: 1rem\\n      @media (max-width: 1200px)\\n        grid-template-columns: repeat(1, 1fr) !important\\n    .cards-2\\n      grid-template-columns: repeat(2, 1fr)\\n      @media (max-width: 1980px)\\n        max-width: 130rem\\n    .cards-3\\n      grid-template-columns: repeat(3, 1fr)\\n      @media (max-width: 1600px)\\n        grid-template-columns: repeat(2, 1fr)\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.fidelity-card-activation{max-width:min(90vw,100rem)}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2{display:flex;align-items:center;justify-content:space-between;padding:0 2rem}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title{color:#11254b;font-family:\\\"Roboto slab\\\",serif}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title>strong{font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;color:#ed5a23}ux-dialog.fidelity-card-activation .body{margin:0;padding:0;position:relative;overflow-y:auto;overflow-x:hidden;min-height:6.2rem}ux-dialog.fidelity-card-activation .body div[ref=cardDisclosureWrapper]{height:0;opacity:0;overflow:hidden;transition:height .8s ease-in-out,opacity .8s ease-in-out}ux-dialog.fidelity-card-activation .body div[ref=cardDisclosureWrapper] .disclosure>*:first-child{margin-top:0 !important}ux-dialog.fidelity-card-activation .body .acknowledgement{margin:2rem}ux-dialog.fidelity-card-activation .body .acknowledgement>h4{margin:0 0 .7rem;line-height:1.6;font-size:1.6rem;font-weight:500;font-family:\\\"Roboto condensed\\\",serif;color:#cc2900}ux-dialog.fidelity-card-activation .body .acknowledgement>h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#cc2900;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check{height:fit-content;padding:1rem 1.5rem;align-items:flex-start;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;pointer-events:none;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]{position:relative;z-index:1;margin:.3rem 0 0;flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:0;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 1px #505050}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:before{content:\\\"\\\";opacity:0;position:absolute;top:50%;left:50%;height:1rem;width:1rem;background:#ed5a23;transform:translate(-50%, -50%);transition:opacity .3s}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked{background:inherit}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked:before{opacity:1}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>.description{line-height:1.5;font-size:1.5rem;white-space:unset;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000}ux-dialog.fidelity-card-activation .footer{display:flex;align-items:center;position:relative;justify-content:flex-end;border-top:1px solid #e5e5e5;min-height:6.3rem}ux-dialog.fidelity-card-activation .footer md-table-progressbar{position:absolute;top:0;left:0;width:100%;height:.3rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,mCAGA,0BACE,CAAA,8EACA,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,0FACA,aCRc,CAAA,+BDUZ,CAAA,iGACA,eACE,CAAA,oCACA,CAAA,aCdQ,CAAA,yCDgBd,QACE,CAAA,SACA,CAAA,iBACA,CAAA,eACA,CAAA,iBACA,CAAA,iBACA,CAAA,wEACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,kGAEE,uBACE,CAAA,0DAEN,WACE,CAAA,6DACA,gBACE,CAAA,eACA,CAAA,gBACA,CAAA,eACA,CAAA,oCACA,CAAA,aACA,CAAA,oEACA,oBEQN,CAAA,WFP6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEWjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFfsE,CAAA,oBEMH,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2EFrBE,kBACE,CAAA,mBACA,CAAA,sBACA,CAAA,kBACA,CAAA,kCACA,CAAA,iFACA,iBACE,CAAA,UACA,CAAA,WACA,CAAA,UACA,CAAA,KACA,CAAA,MACA,CAAA,uBACA,CAAA,mBACA,CAAA,iIACA,CAAA,gGACF,iBACE,CAAA,SACA,CAAA,gBACA,CAAA,aACA,CAAA,YACA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,eACA,CAAA,kCACA,CAAA,uGACA,UACE,CAAA,SACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,kBC7EI,CAAA,+BD+EJ,CAAA,sBACA,CAAA,wGACF,kBACE,CAAA,+GACA,SACE,CAAA,wFACN,eACE,CAAA,gBACA,CAAA,iBACA,CAAA,yCACA,CAAA,UACA,CAAA,2CACR,YACE,CAAA,kBACA,CAAA,iBACA,CAAA,wBACA,CAAA,4BACA,CAAA,iBACA,CAAA,gEACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,YACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-activation\\n  max-width: min(90vw, 100rem)\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    > .card-title\\n      color: $secondary-color\\n      font-family: 'Roboto slab', serif\\n      > strong\\n        font-weight: 400\\n        font-family: 'Roboto flex', sans-serif\\n        color: $primary-color\\n  .body\\n    margin: 0\\n    padding: 0\\n    position: relative\\n    overflow-y: auto\\n    overflow-x: hidden\\n    min-height: 6.2rem\\n    div[ref=\\\"cardDisclosureWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .8s ease-in-out, opacity .8s ease-in-out\\n      .disclosure\\n        > *:first-child\\n          margin-top: 0 !important\\n\\n    .acknowledgement\\n      margin: 2rem\\n      > h4\\n        margin: 0 0 .7rem\\n        line-height: 1.6\\n        font-size: 1.6rem\\n        font-weight: 500\\n        font-family: 'Roboto condensed', serif\\n        color: darken($error-color, 10%)\\n        &:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.7rem, 0 .8rem 0 0, darken($error-color, 10%))\\n      ka-control-check\\n        height: fit-content\\n        padding: 1rem 1.5rem\\n        align-items: flex-start\\n        background: #f3f3f3\\n        box-shadow: inset 0 0 0 1px #bdbdbd\\n        &:after\\n          position: absolute\\n          content: \\\"\\\"\\n          height: 100%\\n          width: 100%\\n          top: 0\\n          left: 0\\n          background-size: 6px 6px\\n          pointer-events: none\\n          background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)\\n        > input[type=\\\"checkbox\\\"]\\n          position: relative\\n          z-index: 1\\n          margin: .3rem 0 0\\n          flex-shrink: 0\\n          width: 1.6rem\\n          height: 1.6rem\\n          border-radius: 0\\n          cursor: pointer\\n          background: #fff\\n          box-shadow: inset 0 0 0 1px #505050\\n          &:before\\n            content: ''\\n            opacity: 0\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            height: 1rem\\n            width: 1rem\\n            background: $primary-color\\n            transform: translate(-50%,-50%)\\n            transition: opacity .3s\\n          &:checked\\n            background: inherit\\n            &:before\\n              opacity: 1           \\n        > .description\\n          line-height: 1.5\\n          font-size: 1.5rem\\n          white-space: unset\\n          font-family: 'Roboto condensed', sans-serif\\n          color: #000\\n  .footer\\n    display: flex\\n    align-items: center\\n    position: relative\\n    justify-content: flex-end\\n    border-top: 1px solid #e5e5e5\\n    min-height: 6.3rem\\n    md-table-progressbar\\n      position: absolute\\n      top: 0\\n      left: 0\\n      width: 100%\\n      height: .3rem\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.fidelity-card-payment{max-width:min(40vw,80rem)}ux-dialog.fidelity-card-payment div[ref=cardPaymentWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2{display:flex;align-items:center;justify-content:space-between;padding:0 2rem}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2>.card-title{color:#11254b;font-family:\\\"Roboto slab\\\",serif}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2>.card-title>strong{font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;color:#ed5a23}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2>.copy-all{margin-left:1rem;font-size:1.5rem;cursor:pointer;text-decoration:underline;text-underline-offset:.5rem;text-decoration-thickness:1px;transition:color .2s ease;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040;white-space:nowrap}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2>.copy-all:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.fidelity-card-payment ux-dialog-header .dialog-header-content h2>.copy-all:hover{color:#ed5a23}ux-dialog.fidelity-card-payment .body{padding:2rem;min-height:6.2rem;transition:height 1s ease-in-out}ux-dialog.fidelity-card-payment .body h6{margin:2rem 0;font-size:1.6rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.fidelity-card-payment .body ka-control .ka-control-buttons .button-copy{cursor:pointer}ux-dialog.fidelity-card-payment .body:not(.WAITING-FOR-COST-CONFIRMATION):not(.GRACE-PERIOD) div[ref=cardPaymentPrececkoutWrapper]{height:0;opacity:0;overflow:hidden;transition:height .6s ease-in-out,opacity .6s ease-in-out}ux-dialog.fidelity-card-payment .footer{display:flex;align-items:center;position:relative;justify-content:flex-end;border-top:1px solid #e5e5e5;min-height:6.3rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-payment.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,gCAGA,yBACE,CAAA,4DACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,2EACF,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,uFACA,aCbc,CAAA,+BDeZ,CAAA,8FACA,eACE,CAAA,oCACA,CAAA,aCnBQ,CAAA,qFDqBZ,gBACE,CAAA,gBACA,CAAA,cACA,CAAA,yBACA,CAAA,2BACA,CAAA,6BACA,CAAA,yBACA,CAAA,yCACA,CAAA,aC9BO,CAAA,kBDgCP,CAAA,4FACA,oBEiBJ,CAAA,WFhB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEoB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2FF9BE,aClCU,CAAA,sCDoCd,YACE,CAAA,iBACA,CAAA,gCACA,CAAA,yCACA,aACE,CAAA,gBACA,CAAA,eACA,CAAA,yCACA,CAAA,kFACF,cACE,CAAA,mIAEA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,wCACN,YACE,CAAA,kBACA,CAAA,iBACA,CAAA,wBACA,CAAA,4BACA,CAAA,iBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-payment\\n  max-width: min(40vw, 80rem)\\n  div[ref=\\\"cardPaymentWrapper\\\"]\\n    height: 0\\n    opacity: 0\\n    overflow: hidden\\n    transition: height .4s ease-in-out, opacity .4s ease-in-out\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    > .card-title\\n      color: $secondary-color\\n      font-family: 'Roboto slab', serif\\n      > strong\\n        font-weight: 400\\n        font-family: 'Roboto flex', sans-serif\\n        color: $primary-color\\n    > .copy-all\\n      margin-left: 1rem\\n      font-size: 1.5rem\\n      cursor: pointer\\n      text-decoration: underline\\n      text-underline-offset: .5rem\\n      text-decoration-thickness: 1px\\n      transition: color .2s ease\\n      font-family: 'Roboto condensed', sans-serif\\n      color: $text-color\\n      white-space: nowrap\\n      &:before\\n        @include fontawesome('\\\\f24d', 'regular', 1.3rem, 0 .5rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .body\\n    padding: 2rem\\n    min-height: 6.2rem\\n    transition: height 1s ease-in-out\\n    h6\\n      margin: 2rem 0\\n      font-size: 1.6rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    ka-control .ka-control-buttons .button-copy\\n      cursor: pointer\\n    &:not(.WAITING-FOR-COST-CONFIRMATION):not(.GRACE-PERIOD)\\n      div[ref=\\\"cardPaymentPrececkoutWrapper\\\"]\\n        height: 0\\n        opacity: 0\\n        overflow: hidden\\n        transition: height .6s ease-in-out, opacity .6s ease-in-out\\n  .footer\\n    display: flex\\n    align-items: center\\n    position: relative\\n    justify-content: flex-end\\n    border-top: 1px solid #e5e5e5\\n    min-height: 6.3rem\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.fidelity-card-renewal-management{max-width:max(25vw,55rem)}ux-dialog.fidelity-card-renewal-management .body{padding:2rem}ux-dialog.fidelity-card-renewal-management .body>h3{font-weight:800;color:#404040}ux-dialog.fidelity-card-renewal-management .body>p{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;margin:1rem 0 0 0}ux-dialog.fidelity-card-renewal-management .body>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s;margin-left:.3rem}ux-dialog.fidelity-card-renewal-management .body>p>a:hover{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a:hover::before{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a::before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:900;transition:color .3s}ux-dialog.fidelity-card-renewal-management .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2CAGA,yBACE,CAAA,iDACA,YACE,CAAA,oDACA,eACE,CAAA,aCRO,CAAA,mDDUT,gBACE,CAAA,yCACA,CAAA,iBACA,CAAA,qDACA,eACE,CAAA,2BACA,CAAA,oBACA,CAAA,iBACA,CAAA,2DACA,aClBQ,CAAA,mEDoBN,aCpBM,CAAA,6DDsBR,oBE2BN,CAAA,WF1B6B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBE8B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFlCoE,CAAA,oBEyBD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,oBF1CM,CAAA,mDAER,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-renewal-management\\n  max-width: max(25vw, 55rem)\\n  .body\\n    padding: 2rem\\n    > h3\\n      font-weight: 800\\n      color: $text-color\\n    > p\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      margin: 1rem 0 0 0\\n      > a\\n        font-weight: 600\\n        text-underline-offset: 0.4rem\\n        transition: color 0.3s\\n        margin-left: .3rem\\n        &:hover\\n          color: $primary-color\\n          &::before \\n            color: $primary-color\\n        &::before\\n          @include fontawesome('\\\\f08e', 'solid', 1.2rem, 0 .3rem 0 0, inherit )\\n          transition: color 0.3s\\n         \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.fidelity-cards-comparison{max-width:min(100vw,110rem)}ux-dialog.fidelity-cards-comparison h2{color:#11254b;font-family:\\\"Roboto slab\\\",serif}ux-dialog.fidelity-cards-comparison h2 strong{font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;color:#ed5a23}ux-dialog.fidelity-cards-comparison .body{padding:1rem 2rem}ux-dialog.fidelity-cards-comparison .body .cards-wrapper{display:grid;row-gap:1rem;column-gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(max-width: 1000px){ux-dialog.fidelity-cards-comparison .body .cards-wrapper{grid-template-columns:repeat(1, 1fr) !important}}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card-title-wrapper{display:flex;align-items:center;justify-content:space-between;margin:.5rem 0 1.5rem}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card-title-wrapper>h3{display:flex;align-items:center;padding:0;margin:0;font-size:1.6rem;font-weight:400;line-height:1;white-space:nowrap;color:#11254b;font-family:\\\"Roboto slab\\\",sans-serif;text-transform:capitalize}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card-title-wrapper>h3>.title{margin-left:.6rem}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card-title-wrapper>h3>.title>span{color:#ed5a23;font-family:\\\"Roboto flex\\\",sans-serif}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card-title-wrapper>i{opacity:0;font-size:1.6rem;color:#11254b;animation:slide-fade 2s ease-in-out 3}ux-dialog.fidelity-cards-comparison .body .cards-wrapper>.card-wrapper>.card{padding:2rem;align-items:flex-start;justify-content:flex-start;min-height:unset}ux-dialog.fidelity-cards-comparison .footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #e5e5e5}@keyframes slide-fade{0%{opacity:0;transform:translateX(-8rem)}25%{opacity:1}50%{opacity:1;transform:translateX(-0.5rem)}65%{opacity:0;transform:translateX(-0.5rem)}100%{opacity:0;transform:translateX(-8rem)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-cards-comparison.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,oCACE,2BAAA,CACA,uCACE,aAAA,CACA,+BAAA,CACA,8CACE,eAAA,CACA,oCAAA,CACA,aCVU,CDYd,0CACE,iBAAA,CACA,yDACE,YAAA,CACA,YAAA,CACA,eAAA,CACA,oCAAA,CACA,0BALF,yDAMI,+CAAA,CAAA,CAEA,2FACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,qBAAA,CACA,8FACE,YAAA,CACA,kBAAA,CACA,SAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,kBAAA,CACA,aCnCM,CDoCN,oCAAA,CACA,yBAAA,CACA,qGACE,iBAAA,CACA,0GACE,aC1CA,CD2CA,oCAAA,CACN,6FACE,SAAA,CACA,gBAAA,CACA,aC9CM,CD+CN,qCAAA,CACJ,6EACE,YAAA,CACA,sBAAA,CACA,0BAAA,CACA,gBAAA,CACR,4CACE,YAAA,CACA,kBAAA,CACA,wBAAA,CACA,mBAAA,CACA,4BAAA,CAGJ,sBACE,GACE,SAAA,CACA,2BAAA,CACF,IACE,SAAA,CACF,IACE,SAAA,CACA,6BAAA,CACF,IACE,SAAA,CACA,6BAAA,CACF,KACE,SAAA,CACA,2BAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-cards-comparison\\n  max-width: min(100vw, 110rem)\\n  h2 \\n    color: #11254b\\n    font-family: 'Roboto slab', serif\\n    strong    \\n      font-weight: 400\\n      font-family: 'Roboto flex', sans-serif\\n      color: $primary-color\\n\\n  .body\\n    padding: 1rem 2rem\\n    .cards-wrapper\\n      display: grid\\n      row-gap: 1rem\\n      column-gap: 1rem\\n      grid-template-columns: repeat(2, 1fr)\\n      @media (max-width: 1000px)\\n        grid-template-columns: repeat(1, 1fr) !important\\n      > .card-wrapper\\n        > .card-title-wrapper\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          margin: .5rem 0 1.5rem\\n          > h3\\n            display: flex\\n            align-items: center\\n            padding: 0\\n            margin: 0\\n            font-size: 1.6rem\\n            font-weight: 400\\n            line-height: 1\\n            white-space: nowrap\\n            color: $secondary-color\\n            font-family: 'Roboto slab', sans-serif\\n            text-transform: capitalize\\n            > .title\\n              margin-left: .6rem\\n              > span\\n                color: $primary-color\\n                font-family: 'Roboto flex', sans-serif\\n          > i\\n            opacity: 0\\n            font-size: 1.6rem\\n            color: $secondary-color\\n            animation: slide-fade 2s ease-in-out 3\\n        > .card\\n          padding: 2rem\\n          align-items: flex-start\\n          justify-content: flex-start\\n          min-height: unset\\n  .footer\\n    display: flex\\n    align-items: center\\n    justify-content: flex-end\\n    padding: 1rem 1.5rem\\n    border-top: 1px solid #e5e5e5\\n\\n\\n@keyframes slide-fade\\n  0%\\n    opacity: 0\\n    transform: translateX(-8rem)\\n  25%\\n    opacity: 1\\n  50%\\n    opacity: 1\\n    transform: translateX(-.5rem)\\n  65%\\n    opacity: 0\\n    transform: translateX(-.5rem)\\n  100%\\n    opacity: 0\\n    transform: translateX(-8rem)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".cards-1>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.fidelity-card{width:100% !important}.cards-1>.card>.card-body>.card-description-html,.cards-2>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.card-section,.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:0 0 0 2rem}.cards-1>.card>.card-body>.card-content>.card-section>.buttons,.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}@media(max-width: 1200px){.cards-1>.card{align-items:center;justify-content:center;flex-direction:column}.cards-1>.card>.card-body{display:flex;flex-direction:column}.cards-1>.card>.card-body>.card-description-html{min-height:9rem}.cards-1>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-1>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:3rem 0 0;padding:0}.cards-1>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-1>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}.cards-2 .card .card-body{display:flex;flex-direction:column}.cards-2 .card .card-body>.card-content>.fidelity-card{max-height:24rem}.cards-2 .card .card-body>.card-content{height:100%}@media(max-width: 1980px){.cards-2>.card{align-items:center;justify-content:center;flex-direction:column}.cards-2>.card>.card-body{display:flex;flex-direction:column}.cards-2>.card>.card-body>.card-description-html{min-height:9rem}.cards-2>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:3rem 0 0;padding:0}.cards-2>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}.cards-3>.card{align-items:center;justify-content:center;flex-direction:column}.cards-3>.card>.card-body{display:flex;flex-direction:column}.cards-3>.card>.card-body>.card-description-html{min-height:9rem}.cards-3>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-3>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:3rem 0 0;padding:0}.cards-3>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-3>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}.card{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:30vh;border:1px solid #e0e0e0;background:#fff}.card.highlighted{border-color:#d9d9d9;box-shadow:0 0 5px 3px rgba(0,0,0,.06)}.card .card-header{display:flex;width:100%;min-height:8rem;align-items:center;justify-content:space-between;padding:0 2rem;box-shadow:0 1px 0 0 rgba(17,37,75,.08),0 10px 8px -2px rgba(17,37,75,.1)}.card .card-header>.card-title-wrapper+.new-tag{margin-left:1rem}.card .card-header>.card-title-wrapper+.new-tag.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-header>.card-title-wrapper{display:flex;align-items:center;justify-content:center}.card .card-header>.card-title-wrapper>.card-icon{display:flex;align-items:center;justify-content:center;position:relative;height:6rem;width:6rem;margin-right:2.5rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, #fff 0, #fff 50%)}.card .card-header>.card-title-wrapper>.card-icon>img{height:100%;width:fit-content}.card .card-header h3{padding:0;margin:0 0 .7rem;font-size:1.8rem;font-weight:400;line-height:1;color:#11254b;font-family:\\\"Roboto slab\\\",sans-serif;text-transform:capitalize}.card .card-header h3>span{color:#e44c13;font-family:\\\"Roboto\\\",sans-serif}@media(max-width: 1980px){.card .card-header h3{word-spacing:-0.04rem;letter-spacing:-0.04rem}.card .card-header h3>span{letter-spacing:-0.04rem}}.card .card-header h4{margin:0;font-size:1.5rem;font-weight:400;line-height:1;animation:animated-greetings 1.4s ease-in-out;font-family:\\\"Roboto Condensed\\\",sans-serif;color:rgba(17,37,75,.7)}@media(max-width: 1980px){.card .card-header h4{word-spacing:-0.02rem;letter-spacing:-0.02rem}}.card .card-header h4.text-primary{text-decoration-color:rgba(237,90,35,.5)}.card .card-body{position:relative;height:100%;width:100%;padding:2rem}.card .card-body .card-description-html{margin:0 0 2rem}.card .card-body .card-description-html>*{margin:0;padding:0}.card .card-body .card-description-html,.card .card-body .card-description-html>*{font-size:1.4rem;line-height:1.6;font-weight:300;color:rgba(17,37,75,.8);font-family:\\\"Roboto Flex\\\",sans-serif}.card .card-body .card-description-html>strong{font-weight:600;color:#11254b}.card .card-body>.card-content{display:flex}.card .card-body>.card-content>.fidelity-card{flex-shrink:1;width:66%;min-width:32rem;max-width:35rem;min-height:20rem;aspect-ratio:60/39}.card .card-body>.card-content .card-section{display:flex;flex-direction:column;width:100%}.card .card-body>.card-content .card-section>.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:3rem}.card .card-body>.card-content .card-section>.card-actions .buttons{display:flex;flex-wrap:nowrap}.card .card-body>.card-content .card-section>.card-actions .activation-info{display:flex;flex-wrap:nowrap;align-items:center;margin:0}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-YES:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-NO:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.error:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#960e29;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>span{display:block;margin-right:.5rem}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period{text-decoration:underline;text-underline-offset:.3rem;text-decoration-color:rgba(64,64,64,.5);margin-bottom:.3rem;cursor:pointer}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:hover{color:#c41;text-decoration-color:rgba(237,90,35,.8)}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:text-bottom;animation:unset;font-weight:400}.card .card-benefits{height:100%}.card .card-benefits ul.marketing-hints{list-style:none;margin:0;padding:0}.card .card-benefits ul.marketing-hints>li{font-weight:300;line-height:1.5;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;-webkit-word-break:break-word;-webkit-word-wrap:break-word;word-break:break-word;word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}@media(max-width: 1980px){.card .card-benefits ul.marketing-hints>li{word-spacing:-0.06rem;letter-spacing:-0.02rem}}.card .card-benefits ul.marketing-hints>li+li{margin-top:1rem}.card .card-benefits ul.marketing-hints>li>strong,.card .card-benefits ul.marketing-hints>li a{font-weight:500;color:#11254b;text-underline-offset:.4rem}.card .card-benefits ul.marketing-hints>li>a{color:#ed5a23}.card .card-benefits ul.marketing-hints>li>a:hover{color:#11254b}.card .card-benefits ul.marketing-hints>li.simple:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:middle;animation:unset;font-weight:400}.card .card-benefits ul.marketing-hints>li.promo:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}.card .card-benefits ul.marketing-hints>li.pro:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#18af00;vertical-align:unset;animation:unset;font-weight:400}.card .card-benefits ul.marketing-hints>li.find-out{position:relative}.card .card-benefits ul.marketing-hints>li.find-out>.accordion{cursor:pointer;color:#ed5a23;text-decoration:underline;text-underline-offset:.5rem;text-decoration-thickness:.1rem;font-weight:400;transition:color .3s}.card .card-benefits ul.marketing-hints>li.find-out>.accordion:hover{color:#11254b}.card .card-benefits ul.marketing-hints>li.find-out>.accordion:before{transition:all .3s;display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:middle;animation:unset;font-weight:400}.card .card-benefits ul.marketing-hints>li.find-out>.wrapper{display:flex;align-items:flex-end;position:absolute;z-index:2;height:0;overflow:hidden;transition:height .5s,opacity .3s ease-in-out}.card .card-benefits ul.marketing-hints>li.find-out>.wrapper .descriptions{position:relative;padding:2rem;background:#232d3d;border-radius:.3rem}.card .card-benefits ul.marketing-hints>li.find-out>.wrapper .descriptions:before{content:\\\"\\\";position:absolute;top:-10px;left:30px;width:0;height:0;border:10px solid rgba(0,0,0,0);border-bottom-color:#11254b;border-top:0}.card .card-benefits ul.marketing-hints>li.find-out>.wrapper .descriptions>p{display:inline;margin:0;font-weight:200;font-size:1.5rem;line-height:1.8;font-style:italic;color:#fff}.card .card-benefits ul.marketing-hints>li.find-out>.wrapper .descriptions>p>strong{font-weight:300}.card .card-benefits ul.marketing-hints>li.find-out.open>.accordion:before{transform:rotate(180deg);color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/templates/card.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n@mixin cardDashboardXl()\\n  > .card \\n    > .card-body \\n      > .card-description-html\\n          min-height: 7rem\\n      > .card-content \\n        > .fidelity-card\\n          width: 100% !important\\n\\n@mixin cardDashboard()\\n  > .card\\n    > .card-body\\n      > .card-description-html\\n        min-height: 7rem\\n      > .card-content\\n        > .card-section\\n          flex-grow: 1\\n          margin: 0 0 0 2rem\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n@mixin cardMobile()\\n  > .card\\n    align-items: center\\n    justify-content: center\\n    flex-direction: column\\n    > .card-body\\n      display: flex\\n      flex-direction: column\\n      > .card-description-html\\n        min-height: 9rem\\n      > .card-content\\n        flex-direction: column\\n        align-items: center\\n        flex-grow: 1\\n        > .card-section\\n          flex-grow: 1\\n          margin: 3rem 0 0\\n          padding: 0\\n          > .card-actions\\n            justify-content: space-between\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n.cards-1\\n  @include cardDashboardXl()\\n.cards-1, .cards-2\\n  @include cardDashboard()\\n.cards-1\\n  @media (max-width: 1200px)\\n    @include cardMobile()\\n.cards-2\\n  .card .card-body\\n    display: flex\\n    flex-direction: column\\n  .card .card-body > .card-content > .fidelity-card\\n    max-height: 24rem\\n  .card .card-body > .card-content\\n    height: 100%\\n  @media (max-width: 1980px)\\n    @include cardMobile()\\n.cards-3\\n  @include cardMobile()\\n\\n.card\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  flex-direction: column\\n  width: 100%\\n  min-height: 30vh\\n  border: 1px solid #e0e0e0\\n  background: #fff\\n  &.highlighted\\n    border-color: #d9d9d9\\n    box-shadow: 0 0 5px 3px rgba(0, 0, 0, .06)\\n  .card-header\\n    display: flex\\n    width: 100%\\n    min-height: 8rem\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    box-shadow: 0 1px 0 0 rgba($secondary-color, .08), 0 10px 8px -2px rgba($secondary-color, .1)\\n    > .card-title-wrapper + .new-tag\\n      margin-left: 1rem\\n      &.success:before\\n        @include fontawesome('\\\\f00c', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n    > .card-title-wrapper\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      > .card-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        position: relative\\n        height: 6rem\\n        width: 6rem\\n        margin-right: 2.5rem\\n        background-size: 7px 7px\\n        background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, #fff 0, #fff 50%)\\n        > img\\n          height: 100%\\n          width: fit-content\\n    h3\\n      padding: 0\\n      margin: 0 0 .7rem\\n      font-size: 1.8rem\\n      font-weight: 400\\n      line-height: 1\\n      color: $secondary-color\\n      font-family: 'Roboto slab', sans-serif\\n      text-transform: capitalize\\n      > span\\n        color: darken($primary-color, 5%)\\n        font-family: 'Roboto', sans-serif\\n      @media (max-width: 1980px)\\n        word-spacing: -.04rem\\n        letter-spacing: -.04rem\\n        > span\\n          letter-spacing: -.04rem\\n    h4\\n      margin: 0\\n      font-size: 1.5rem\\n      font-weight: 400\\n      line-height: 1\\n      animation: animated-greetings 1.4s ease-in-out\\n      font-family: 'Roboto Condensed', sans-serif\\n      color: rgba($secondary-color, .7)\\n      @media (max-width: 1980px)\\n        word-spacing: -.02rem\\n        letter-spacing: -.02rem\\n      &.text-primary\\n        text-decoration-color: rgba($primary-color, .5)\\n          \\n  .card-body\\n    position: relative\\n    height: 100%\\n    width: 100%\\n    padding: 2rem\\n    .card-description-html\\n      margin: 0 0 2rem\\n      > *\\n        margin: 0\\n        padding: 0\\n      &, > *\\n        font-size: 1.4rem\\n        line-height: 1.6\\n        font-weight: 300\\n        color: rgba($secondary-color, .8)\\n        font-family: 'Roboto Flex', sans-serif\\n      > strong\\n        font-weight: 600\\n        color: $secondary-color\\n    > .card-content\\n      display: flex\\n      > .fidelity-card\\n        flex-shrink: 1\\n        width: 66%\\n        min-width: 32rem\\n        max-width: 35rem\\n        min-height: 20rem\\n        aspect-ratio: 60/39\\n      .card-section\\n        display: flex\\n        flex-direction: column\\n        width: 100%\\n        > .card-actions\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          margin-top: auto\\n          padding-top: 3rem\\n          .buttons\\n            display: flex\\n            flex-wrap: nowrap\\n          .activation-info\\n            display: flex\\n            flex-wrap: nowrap\\n            align-items: center\\n            margin: 0\\n            > .card-activable-YES:before\\n                @include fontawesome('\\\\f164', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .card-activable-NO:before\\n                @include fontawesome('\\\\f00d', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .new-tag.self-renewal\\n            > .new-tag.self-renewal\\n              &.success:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n              &.error:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken(crimson, 15%), top)\\n            > span\\n              display: block\\n              margin-right: .5rem\\n            .grace-period\\n              text-decoration: underline\\n              text-underline-offset: .3rem\\n              text-decoration-color: rgba($text-color, .5)\\n              margin-bottom: .3rem\\n              cursor: pointer\\n              &:hover\\n                color: darken($primary-color, 10%)\\n                text-decoration-color: rgba($primary-color, .8)\\n              &:before\\n                @include fontawesome('\\\\f06a', 'regular', inherit, 0 .3rem 0 0, darken($primary-color, 5%), text-bottom)\\n  \\n  .card-benefits\\n    height: 100%\\n    ul.marketing-hints\\n      list-style: none\\n      margin: 0\\n      padding: 0\\n      > li\\n        font-weight: 300\\n        line-height: 1.5\\n        font-size: 1.5rem\\n        font-family: 'Roboto condensed', sans-serif\\n        -webkit-word-break: break-word\\n        -webkit-word-wrap: break-word\\n        word-break: break-word\\n        word-wrap: break-word\\n        -webkit-hyphens: auto\\n        -moz-hyphens: auto\\n        hyphens: auto\\n        @media (max-width: 1980px)\\n          word-spacing: -.06rem\\n          letter-spacing: -.02rem\\n        & + li\\n          margin-top: 1rem\\n        > strong, a\\n          font-weight: 500\\n          color: $secondary-color\\n          text-underline-offset: .4rem\\n        > a\\n          color: $primary-color\\n          &:hover\\n            color: $secondary-color\\n        &.simple:before\\n          @include fontawesome('\\\\f35a', 'regular', 1.6rem, 0 .6rem 0 0, $secondary-color, middle)\\n        &.promo:before\\n          @include fontawesome('\\\\f336', 'regular', 1.6rem, 0 .6rem 0 0, darken($primary-color, 5%))\\n        &.pro:before\\n          @include fontawesome('\\\\f058', 'regular', 1.6rem, 0 .6rem 0 0, darken($success-color, 5%))\\n        &.find-out\\n          position: relative\\n          > .accordion\\n            cursor: pointer\\n            color: $primary-color\\n            text-decoration: underline\\n            text-underline-offset: .5rem\\n            text-decoration-thickness: .1rem\\n            font-weight: 400\\n            transition: color .3s\\n            &:hover\\n              color: $secondary-color\\n            &:before\\n              transition: all .3s\\n              @include fontawesome('\\\\f13a', 'regular', 1.6rem, 0 .8rem 0 0, $secondary-color, middle)\\n          > .wrapper\\n            display: flex\\n            align-items: flex-end\\n            position: absolute\\n            z-index: 2\\n            height: 0\\n            overflow: hidden\\n            transition: height .5s, opacity .3s ease-in-out\\n            .descriptions\\n              position: relative\\n              padding: 2rem\\n              background: #232d3d\\n              border-radius: .3rem\\n              &:before\\n                content: ''\\n                position: absolute\\n                top: -10px\\n                left: 30px\\n                width: 0\\n                height: 0\\n                border: 10px solid transparent\\n                border-bottom-color: $secondary-color\\n                border-top: 0\\n              > p\\n                display: inline\\n                margin: 0\\n                font-weight: 200\\n                font-size: 1.5rem\\n                line-height: 1.8\\n                font-style: italic\\n                color: #fff\\n                > strong\\n                  font-weight: 300\\n          &.open\\n            > .accordion:before\\n              transform: rotate(180deg)\\n              color: $primary-color\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".fidelity-card{flex-shrink:0;border-radius:10px;position:relative;z-index:2}.fidelity-card:before{content:\\\"\\\";position:absolute;left:0;top:0;height:100%;width:100%;border-radius:10px;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, transparent 0, transparent 50%)}.fidelity-card>.fidelity-card-header,.fidelity-card>.fidelity-card-footer{position:absolute;left:2rem;z-index:3;width:calc(100% - 4rem);height:fit-content}.fidelity-card>.fidelity-card-header p,.fidelity-card>.fidelity-card-header h5,.fidelity-card>.fidelity-card-header h6,.fidelity-card>.fidelity-card-footer p,.fidelity-card>.fidelity-card-footer h5,.fidelity-card>.fidelity-card-footer h6{margin:0;padding:0;color:#fff;text-shadow:2px 1px 1px rgba(0,0,0,.8)}.fidelity-card>.fidelity-card-header{top:1.5rem}.fidelity-card>.fidelity-card-header>h5{font-weight:300;font-size:2.5rem;font-family:\\\"Roboto flex\\\",sans-serif;text-transform:capitalize}.fidelity-card>.fidelity-card-header>p{font-weight:300;font-size:1.5rem;line-height:1.3;max-width:70%;width:100%;margin-top:.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;letter-spacing:-0.02rem;word-spacing:-0.02rem;-webkit-word-break:break-word;-webkit-word-wrap:break-word;word-break:break-word;word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.fidelity-card>.fidelity-card-footer{display:flex;justify-content:space-between;align-items:flex-end;bottom:1.5rem}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>h6{margin-bottom:.2rem;font-size:1.5rem;font-weight:400;white-space:nowrap;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p{font-weight:300;font-size:1.5rem;white-space:collapse;font-family:\\\"Roboto flex\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p .price{font-size:1.8rem;font-family:\\\"Roboto mono\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price{display:block;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price>.price{font-size:inherit}.fidelity-card>.fidelity-card-footer>svg{height:5rem}.fidelity-card>.fidelity-card-footer>svg>circle,.fidelity-card>.fidelity-card-footer>svg>path{fill:#fff;stroke:rgba(0,0,0,.5);stroke-width:6px}.fidelity-card>.fidelity-card-footer>svg>g>path{fill:#11254b}.fidelity-card.BASE{background-image:radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%);box-shadow:inset 0 0 0 1px #8f0f00}.fidelity-card.BASE-PLUS{background-image:radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #5e0b41,inset 0 1px 0 0 #1a0312,inset 0 -1px 0 0 #1a0312}.fidelity-card.BASE-PLUS:before{background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 1px, transparent 0, transparent 50%)}.fidelity-card.SILVER{background-image:radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #797979,inset 0 1px 0 0 #606060,inset 0 -1px 0 0 #606060}.fidelity-card.SILVER:before{z-index:2;background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.09) 0, rgba(255, 255, 255, 0.09) 1px, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 50%)}.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{fill:#ed5a23}.fidelity-card.GOLD{background-image:radial-gradient(circle 1020px at 120% -20%, #ffe994 8%, #ffca4c 14%, #ffa42f 25%, #9e3b00 45%);box-shadow:inset 1px 0 0 0 #853100,inset -1px 0 0 0 #c87100,inset 0 1px 0 0 #955400,inset 0 -1px 0 0 #853100}.fidelity-card.GOLD:before{z-index:2;background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 1px, rgba(0, 0, 0, 0.03) 0, rgba(0, 0, 0, 0.03) 50%)}.fidelity-card.GOLD>.fidelity-card-footer>svg>circle,.fidelity-card.GOLD>.fidelity-card-footer>svg>path{stroke:#853100;stroke-width:6px}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>circle,.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{stroke:rgba(0,29,47,.7);stroke-width:6px}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>g>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>g>path{fill:#000}.fidelity-card>.ribbon{--fold: 1.4rem;--tail: 1.2rem;display:flex;align-items:center;position:absolute;z-index:3;top:13px;right:calc(-1*var(--fold));padding:.6rem 1rem;font-size:1.5rem;line-height:1;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;color:#fff;text-shadow:1px 1px 0 #000;background:#1a4383;letter-spacing:.02rem;border-bottom:var(--fold) solid rgba(0,0,0,.3333333333);border-left:var(--tail) solid rgba(0,0,0,0);clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--fold)), calc(100% - var(--fold)) 100%, calc(100% - var(--fold)) calc(100% - var(--fold)), 0 calc(100% - var(--fold)), var(--tail) calc(50% - var(--fold) / 2))}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/templates/fidelity-card.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,eACE,aAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,sBACE,UAAA,CACA,iBAAA,CACA,MAAA,CACA,KAAA,CACA,WAAA,CACA,UAAA,CACA,kBAAA,CACA,uBAAA,CACA,uIAAA,CAEF,0EACE,iBAAA,CACA,SAAA,CACA,SAAA,CACA,uBAAA,CACA,kBAAA,CACA,8OACE,QAAA,CACA,SAAA,CACA,UAAA,CACA,sCAAA,CACJ,qCACE,UAAA,CACA,wCACE,eAAA,CACA,gBAAA,CACA,oCAAA,CACA,yBAAA,CACF,uCACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,UAAA,CACA,gBAAA,CACA,yCAAA,CACA,uBAAA,CACA,qBAAA,CACA,6BAAA,CACA,4BAAA,CACA,qBAAA,CACA,oBAAA,CACA,oBAAA,CACA,iBAAA,CACA,YAAA,CACJ,qCACE,YAAA,CACA,6BAAA,CACA,oBAAA,CACA,aAAA,CAEE,6DACE,mBAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,yCAAA,CACF,4DACE,eAAA,CACA,gBAAA,CACA,oBAAA,CACA,oCAAA,CACA,mEACE,gBAAA,CACA,oCAAA,CACF,6EACE,aAAA,CACA,gBAAA,CACA,yCAAA,CACA,oFACE,iBAAA,CACR,yCACE,WAAA,CACA,8FACE,SAAA,CACA,qBAAA,CACA,gBAAA,CACF,gDACE,YCrFU,CDuFhB,oBACE,kFAAA,CACA,kCAAA,CACF,yBACE,+FAAA,CACA,yGAAA,CACA,gCACE,2IAAA,CACJ,sBACE,+GAAA,CACA,yGAAA,CACA,6BACE,SAAA,CACA,6JAAA,CAGE,4GACE,YCzGM,CD0Gd,oBACE,+GAAA,CACA,4GAAA,CACA,2BACE,SAAA,CACA,2JAAA,CAGE,wGACE,cAAA,CACA,gBAAA,CAIF,8NACE,uBAAA,CACA,gBAAA,CACF,iHACE,SAAA,CAEV,uBACE,cAAA,CACA,cAAA,CACA,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,QAAA,CACA,0BAAA,CACA,kBAAA,CACA,gBAAA,CACA,aAAA,CACA,eAAA,CACA,yCAAA,CACA,UAAA,CACA,0BAAA,CACA,kBAAA,CACA,qBAAA,CACA,uDAAA,CACA,2CAAA,CACA,oNAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n.fidelity-card\\n  flex-shrink: 0\\n  border-radius: 10px\\n  position: relative\\n  z-index: 2\\n  &:before\\n    content: ''\\n    position: absolute\\n    left: 0\\n    top: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: 10px\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, transparent 0, transparent 50%)\\n\\n  > .fidelity-card-header, > .fidelity-card-footer\\n    position: absolute\\n    left: 2rem\\n    z-index: 3\\n    width: calc(100% - 4rem)\\n    height: fit-content\\n    p, h5, h6\\n      margin: 0\\n      padding: 0\\n      color: #fff\\n      text-shadow: 2px 1px 1px rgba(#000, .8)\\n  > .fidelity-card-header\\n    top: 1.5rem\\n    > h5\\n      font-weight: 300\\n      font-size: 2.5rem\\n      font-family: 'Roboto flex', sans-serif\\n      text-transform: capitalize\\n    > p\\n      font-weight: 300\\n      font-size: 1.5rem\\n      line-height: 1.3\\n      max-width: 70%\\n      width: 100%\\n      margin-top: .5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      letter-spacing: -.02rem\\n      word-spacing: -.02rem\\n      -webkit-word-break: break-word\\n      -webkit-word-wrap: break-word\\n      word-break: break-word\\n      word-wrap: break-word\\n      -webkit-hyphens: auto\\n      -moz-hyphens: auto\\n      hyphens: auto\\n  > .fidelity-card-footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: flex-end\\n    bottom: 1.5rem\\n    > .fidelity-card-price\\n      > h6\\n        margin-bottom: .2rem\\n        font-size: 1.5rem\\n        font-weight: 400\\n        white-space: nowrap\\n        font-family: 'Roboto condensed', sans-serif\\n      > p\\n        font-weight: 300\\n        font-size: 1.5rem\\n        white-space: collapse\\n        font-family: 'Roboto flex', sans-serif\\n        .price\\n          font-size: 1.8rem\\n          font-family: 'Roboto mono', sans-serif\\n        > .reference-price\\n          display: block\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > .price\\n            font-size: inherit\\n    > svg\\n      height: 5rem\\n      > circle, > path\\n        fill: #fff \\n        stroke: rgba(#000, .5)\\n        stroke-width: 6px\\n      > g > path\\n        fill: $secondary-color\\n\\n  &.BASE\\n    background-image: radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%)\\n    box-shadow: inset 0 0 0 1px darken(#c21500, 10%)\\n  &.BASE-PLUS\\n    background-image: radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#d0198f, 25%), inset 0 1px 0 0 darken(#d0198f, 40%), inset 0 -1px 0 0 darken(#d0198f, 40%)\\n    &:before\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .1) 0, rgba(#fff, .1) 1px, transparent 0, transparent 50%)\\n  &.SILVER\\n    background-image: radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#acacac, 20%), inset 0 1px 0 0 darken(#acacac, 30%), inset 0 -1px 0 0 darken(#acacac, 30%)\\n    &:before\\n      z-index: 2\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .09) 0, rgba(#fff, .09) 1px, rgba(#000, .02) 0, rgba(#000, .02) 50%)\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          fill: $primary-color\\n  &.GOLD\\n    background-image: radial-gradient(circle 1020px at 120% -20%, #ffe994 8%, #ffca4c 14%, #ffa42f 25%, #9e3b00 45%)\\n    box-shadow: inset 1px 0 0 0 darken(#9e3b00, 5%), inset -1px 0 0 0 darken(#ffa42f, 20%), inset 0 1px 0 0 darken(#ffa42f, 30%), inset 0 -1px 0 0 darken(#9e3b00, 5%)\\n    &:before\\n      z-index: 2\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .1) 0, rgba(#fff, .1) 1px, rgba(#000, .03) 0, rgba(#000, .03) 50%)\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          stroke: darken(#9e3b00, 5%)\\n          stroke-width: 6px\\n  &.BASE-PLUS, &.SILVER\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          stroke: rgba(#001d2f, .7)\\n          stroke-width: 6px\\n        > g > path\\n          fill: darken($secondary-color, 20%)\\n\\n.fidelity-card > .ribbon\\n  --fold: 1.4rem\\n  --tail: 1.2rem\\n  display: flex\\n  align-items: center   \\n  position: absolute\\n  z-index: 3\\n  top: 13px\\n  right: calc(-1 * var(--fold))\\n  padding: .6rem 1rem\\n  font-size: 1.5rem\\n  line-height: 1\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #fff\\n  text-shadow: 1px 1px 0 #000\\n  background: #1a4383\\n  letter-spacing: .02rem\\n  border-bottom: var(--fold) solid #0005\\n  border-left: var(--tail) solid #0000\\n  clip-path: polygon(0 0,100% 0,100% calc(100% - var(--fold)),calc(100% - var(--fold)) 100%, calc(100% - var(--fold)) calc(100% - var(--fold)),0 calc(100% - var(--fold)), var(--tail) calc(50% - var(--fold)/2))\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.help-services-agreement .body{padding:2rem}ux-dialog.help-services-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/help/dialogs/help-services-agreement.sass\"],\"names\":[],\"mappings\":\"AAIE,wCACE,YAAA,CACF,0CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.help-services-agreement\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.help{font-family:\\\"Roboto condensed\\\",sans-serif}router-view.help .row{margin:0;padding:.75rem}router-view.help .row>div[class*=col]{padding:0}router-view.help .row .step-box{display:flex;flex-direction:column;margin:.5rem;padding:0 2rem;height:max(32vh,32rem);text-align:center;background-color:#fff;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),1px 1px 10px 0 rgba(64,64,64,.1)}router-view.help .row .step-box>i{margin:max(3vh,3rem) 0;font-size:max(5vh,5rem);color:#11254b}router-view.help .row .step-box>p{margin:0}router-view.help .row .step-box>p span.code small{display:inline-block;line-height:1.3}router-view.help .row .step-box>.footer{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;flex-grow:1;padding:max(3vh,3rem) 0 2rem}router-view.help .row .step-box>.footer>p{margin:0}router-view.help .row .step-box>.footer>p a{transition:color .3s;text-underline-offset:4px}router-view.help .row .step-box>.footer>p a:hover{color:#ed5a23}router-view.help .row .step-box>.footer>p .disclaimer:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .row .step-box>.footer>p .software:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a{text-decoration:none;transition:color .3s}router-view.help .address>a>span{text-decoration:underline;text-underline-offset:4px}router-view.help .address>a:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a:hover{color:#ed5a23}router-view.help .iva:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .telephone:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .email:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/help/help.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,iBAGA,yCACE,CAAA,sBACA,QACE,CAAA,cACA,CAAA,sCACA,SACE,CAAA,gCACF,YACE,CAAA,qBACA,CAAA,YACA,CAAA,cACA,CAAA,sBACA,CAAA,iBACA,CAAA,qBACA,CAAA,6EACA,CAAA,kCACA,sBACE,CAAA,uBACA,CAAA,aCnBU,CAAA,kCDqBZ,QACE,CAAA,kDACA,oBACE,CAAA,eACA,CAAA,wCACJ,YACE,CAAA,qBACA,CAAA,0BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,0CACA,QACE,CAAA,4CACA,oBACE,CAAA,yBACA,CAAA,kDACA,aCvCI,CAAA,6DDyCN,oBEQR,CAAA,WFP+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBEWnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2DFrBM,oBEMR,CAAA,WFL+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBESnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BFlBF,oBACE,CAAA,oBACA,CAAA,iCACA,yBACE,CAAA,yBACA,CAAA,mCACF,oBEHF,CAAA,WFIyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBAAA,CAAA,mBEC7C,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kCFVA,aCtDY,CAAA,6BDwDd,oBEPA,CAAA,WFQuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBEJ3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mCFNF,oBETA,CAAA,WFUuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBEN3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+BFJF,oBEXA,CAAA,WFYuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBER3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.help\\n  font-family: 'Roboto condensed', sans-serif\\n  .row\\n    margin: 0\\n    padding: .75rem\\n    > div[class*=\\\"col\\\"]\\n      padding: 0\\n    .step-box\\n      display: flex\\n      flex-direction: column\\n      margin: 0.5rem\\n      padding: 0 2rem\\n      height: max(32vh, 32rem)\\n      text-align: center\\n      background-color: #fff\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 1px 1px 10px 0 rgba($text-color, .1)\\n      > i\\n        margin: max(3vh, 3rem) 0\\n        font-size: max(5vh, 5rem)\\n        color: $secondary-color\\n      > p \\n        margin: 0\\n        span.code small\\n          display: inline-block\\n          line-height: 1.3\\n      > .footer\\n        display: flex\\n        flex-direction: column\\n        justify-content: flex-start\\n        align-items: center\\n        flex-grow: 1\\n        padding: max(3vh, 3rem) 0 2rem\\n        > p\\n          margin: 0\\n          a\\n            transition: color .3s\\n            text-underline-offset: 4px\\n            &:hover\\n              color: $primary-color\\n          .disclaimer:before\\n            @include fontawesome(\\\"\\\\f1f9\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n          .software:before\\n            @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n    \\n  .address > a\\n    text-decoration: none\\n    transition: color .3s\\n    > span\\n      text-decoration: underline\\n      text-underline-offset: 4px\\n    &:before\\n      @include fontawesome(\\\"\\\\f279\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .iva:before\\n    @include fontawesome(\\\"\\\\f2bb\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .telephone:before\\n    @include fontawesome(\\\"\\\\f8d3\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .email:before\\n    @include fontawesome(\\\"\\\\f0e0\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-pec .content{padding:2rem}ux-dialog.add-pec .content p{margin:0 0 1.5rem 0}ux-dialog.add-pec .content md-resource>ka-flex-row{padding:0}ux-dialog.add-pec .footer{display:flex;justify-content:end;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.add-pec .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/emailPec/dialogs/add-pec.sass\"],\"names\":[],\"mappings\":\"AACE,2BACE,YAAA,CACA,6BACE,mBAAA,CAEA,mDACE,SAAA,CACN,0BACE,YAAA,CACA,mBAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,8CACE,aAAA\",\"sourcesContent\":[\"ux-dialog.add-pec\\n  .content\\n    padding: 2rem\\n    p\\n      margin: 0 0 1.5rem 0\\n    md-resource \\n      > ka-flex-row\\n        padding: 0 \\n  .footer \\n    display: flex\\n    justify-content: end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.impostazioni-email-pec h2{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages>p{display:inline-block;margin:0;cursor:pointer}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages>p>.title{font-weight:600;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#11254b}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages>p>.title>span{display:none}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages>p>.content{padding-left:.3rem;line-height:1;font-size:2.2rem;font-family:\\\"Roboto mono\\\",sans-serif;color:#ed5a23}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages>p>.content>span{font-size:1.6rem;color:#11254b;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages.finished:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:900}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages.finished>p>.title>span{display:inline}router-view.impostazioni-email-pec h2>.multinvio-digital-self-usages.finished>p>.content{color:#f30}router-view.impostazioni-email-pec h3{font-family:\\\"Roboto slab\\\",serif;padding:0}router-view.impostazioni-email-pec h3.info-tooltip{display:inline-block;cursor:pointer}router-view.impostazioni-email-pec h3.info-tooltip:hover{color:#404040;transition:color .3s}router-view.impostazioni-email-pec h3.info-tooltip:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}router-view.impostazioni-email-pec span.discover-more{font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040;text-decoration:underline;text-underline-offset:.3rem;margin-left:.6rem;transition:color .3s ease}router-view.impostazioni-email-pec md-input.disabled{background-color:#f3f3f3;box-shadow:inset 0 -1px 0 rgba(64,64,64,.3);color:#6b6b6b}router-view.impostazioni-email-pec md-input input:not([type=checkbox]){padding:0;transform:translateX(7px)}router-view.impostazioni-email-pec ka-control-combo>.display-value{padding-left:7px}router-view.impostazioni-email-pec .preferences>.email>ka-flex-row,router-view.impostazioni-email-pec .preferences .pec>ka-flex-row{padding:0}router-view.impostazioni-email-pec .preferences>.email>ka-flex-row:first-of-type,router-view.impostazioni-email-pec .preferences .pec>ka-flex-row:first-of-type{min-height:5rem;align-items:center}router-view.impostazioni-email-pec .pec-address{position:relative;padding:1.8rem 1rem 1rem;margin:1rem 0 2rem;border-radius:.3rem;background-color:#f9f9f9;background-image:repeating-linear-gradient(45deg, transparent 0, transparent 1px, #fff 0, #fff 50%);background-size:7px 7px;box-shadow:inset 0 0 0 1px rgba(25,40,72,.35)}router-view.impostazioni-email-pec .pec-address .pec-form{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}router-view.impostazioni-email-pec .pec-address>.legend{position:absolute;top:-0.8rem;left:1.4rem;padding:0 .6rem;line-height:1.6rem;white-space:nowrap;font-family:\\\"Roboto condensed\\\",sans-serif;font-size:1.5rem;font-weight:500;color:#000}router-view.impostazioni-email-pec .pec-address>.legend:before{position:absolute;top:0;left:0;z-index:1;content:\\\"\\\";background:#f9f9f9;width:100%;height:1rem}router-view.impostazioni-email-pec .pec-address>.legend>span{position:relative;z-index:2}router-view.impostazioni-email-pec .pec-address>.legend>span>small{font-size:1.3rem;margin-left:.5rem}router-view.impostazioni-email-pec .pec-address ka-flex-row{align-items:center}router-view.impostazioni-email-pec .pec-address .actions{display:flex;gap:1rem;margin-left:1rem}router-view.impostazioni-email-pec .pec-address .actions ka-button{margin:0}router-view.impostazioni-email-pec .footer{display:flex;justify-content:end;margin:1rem;border-top:1px solid #e5e5e5}ux-dialog.delete-pec ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.delete-pec ux-dialog-footer button:first-of-type:hover{background:#09152a}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/emailPec/views/settings.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,sCAIE,YACE,CAAA,gBACA,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,4EAEE,oBCuCJ,CAAA,WDtC2B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBC0C/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uEDpDE,oBACE,CAAA,QACA,CAAA,cACA,CAAA,8EACA,eACE,CAAA,gBACA,CAAA,yCACA,CAAA,aElBQ,CAAA,mFFoBR,YACE,CAAA,gFACJ,kBACE,CAAA,aACA,CAAA,gBACA,CAAA,oCACA,CAAA,aE3BM,CAAA,qFF6BN,gBACE,CAAA,aE7BM,CAAA,yCF+BN,CAAA,qFAEJ,oBCeN,CAAA,WDd6B,CAAA,kBAA2B,CAAA,iBAAT,CAAA,iBCkB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,oBD4CuD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,4FD7BM,cACE,CAAA,yFACF,UEnCI,CAAA,sCFqCZ,+BACE,CAAA,SACA,CAAA,mDACA,oBACE,CAAA,cACA,CAAA,yDACA,aACE,CAAA,oBACA,CAAA,0DACF,oBCDJ,CAAA,WDE2B,CAAA,kBAAA,CAAA,gBAAoB,CAAA,iBCE/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDNoE,CAAA,oBCHD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sDDZF,yCACE,CAAA,aEtDS,CAAA,yBFwDT,CAAA,2BACA,CAAA,iBACA,CAAA,yBACA,CAAA,qDAEA,wBACE,CAAA,2CACA,CAAA,aACA,CAAA,uEACF,SACE,CAAA,yBACA,CAAA,mEAEF,gBACE,CAAA,oIAGA,SACE,CAAA,gKACA,eACE,CAAA,kBACA,CAAA,gDAER,iBACE,CAAA,wBACA,CAAA,kBACA,CAAA,mBACA,CAAA,wBACA,CAAA,mGACA,CAAA,uBACA,CAAA,6CACA,CAAA,0DACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,wDAEF,iBACE,CAAA,WACA,CAAA,WACA,CAAA,eACA,CAAA,kBACA,CAAA,kBACA,CAAA,yCACA,CAAA,gBACA,CAAA,eACA,CAAA,UACA,CAAA,+DACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,SACA,CAAA,UACA,CAAA,kBEtGW,CAAA,UFwGX,CAAA,WACA,CAAA,6DACF,iBACE,CAAA,SACA,CAAA,mEACA,gBACE,CAAA,iBACA,CAAA,4DAEN,kBACE,CAAA,yDAEF,YACE,CAAA,QACA,CAAA,gBACA,CAAA,mEACA,QACE,CAAA,2CAEN,YACE,CAAA,mBACA,CAAA,WACA,CAAA,4BACA,CAAA,2DAIA,cACE,CAAA,kBE1IY,CAAA,iEF4IZ,kBACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.impostazioni-email-pec\\n  h2\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > .multinvio-digital-self-usages\\n      &:before\\n        @include fontawesome('\\\\f05a', 'regular', inherit, 0 .3rem 0 0, $primary-color)\\n      > p\\n        display: inline-block\\n        margin: 0\\n        cursor: pointer\\n        > .title\\n          font-weight: 600\\n          font-size: 1.6rem\\n          font-family: 'Roboto condensed', sans-serif\\n          color: $secondary-color\\n          > span\\n            display: none\\n        > .content\\n          padding-left: .3rem\\n          line-height: 1\\n          font-size: 2.2rem\\n          font-family: 'Roboto mono', sans-serif\\n          color: $primary-color\\n          > span\\n            font-size: 1.6rem\\n            color: $secondary-color\\n            font-family: 'Roboto condensed', sans-serif\\n      &.finished\\n        &:before\\n          @include fontawesome('\\\\f05e', 'solid', inherit, 0 .3rem 0 0, $error-color)\\n        & > p\\n          > .title > span\\n            display: inline\\n          > .content\\n            color: $error-color\\n  h3\\n    font-family: \\\"Roboto slab\\\", serif\\n    padding: 0\\n    &.info-tooltip\\n      display: inline-block\\n      cursor: pointer\\n      &:hover\\n        color: #404040\\n        transition: color .3s\\n      &:before\\n        @include fontawesome('\\\\f05a', 'regular', 1.4rem, 0 .5rem 0 0, darken($primary-color, 5%))\\n  span.discover-more\\n    font-family: 'Roboto condensed', sans-serif\\n    color: $text-color\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    margin-left: .6rem\\n    transition: color .3s ease\\n  md-input\\n    &.disabled\\n      background-color: #f3f3f3\\n      box-shadow: inset 0 -1px 0 rgba(64, 64, 64, .3)\\n      color: #6b6b6b\\n    input:not([type=\\\"checkbox\\\"])\\n      padding: 0\\n      transform: translateX(7px)\\n  ka-control-combo\\n    > .display-value\\n      padding-left: 7px\\n  .preferences\\n    > .email, .pec\\n      > ka-flex-row\\n        padding: 0\\n        &:first-of-type\\n          min-height: 5rem\\n          align-items: center\\n\\n  .pec-address\\n    position: relative\\n    padding: 1.8rem 1rem 1rem\\n    margin: 1rem 0 2rem\\n    border-radius: .3rem\\n    background-color: #f9f9f9\\n    background-image: repeating-linear-gradient(45deg, transparent 0, transparent 1px, #fff 0, #fff 50%)\\n    background-size: 7px 7px\\n    box-shadow: inset 0 0 0 1px rgba(25, 40, 72, .35)\\n    .pec-form\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n\\n    > .legend\\n      position: absolute\\n      top: -.8rem\\n      left: 1.4rem\\n      padding: 0 .6rem\\n      line-height: 1.6rem\\n      white-space: nowrap\\n      font-family: 'Roboto condensed', sans-serif\\n      font-size: 1.5rem\\n      font-weight: 500\\n      color: #000\\n      &:before\\n        position: absolute\\n        top: 0\\n        left: 0\\n        z-index: 1\\n        content: ''\\n        background: $background-color\\n        width: 100%\\n        height: 1rem\\n      > span\\n        position: relative\\n        z-index: 2\\n        > small\\n          font-size: 1.3rem\\n          margin-left: .5rem\\n\\n    ka-flex-row\\n      align-items: center\\n\\n    .actions\\n      display: flex\\n      gap: 1rem\\n      margin-left: 1rem\\n      ka-button\\n        margin: 0\\n\\n  .footer\\n    display: flex\\n    justify-content: end\\n    margin: 1rem\\n    border-top: 1px solid #e5e5e5\\n\\nux-dialog.delete-pec\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 8%)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.impostazioni-multicerta .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-multicerta md-input.compact,router-view.impostazioni-multicerta ka-input.compact{margin:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/multicerta/views/settings.sass\"],\"names\":[],\"mappings\":\"AACE,qDACE,kCAAA,CAEF,0GACE,QAAA\",\"sourcesContent\":[\"router-view.impostazioni-multicerta\\n  .col-border-left\\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n  md-input.compact, ka-input.compact\\n    margin: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.impostazioni-notifiche .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-notifiche md-input.compact,router-view.impostazioni-notifiche ka-input.compact{margin:0}router-view.impostazioni-notifiche #comm fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.4rem}router-view.impostazioni-notifiche #comm fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.impostazioni-notifiche #comm fieldset .input-radio{display:flex;align-items:center}router-view.impostazioni-notifiche #comm fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.impostazioni-notifiche #comm fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.impostazioni-notifiche #comm fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.impostazioni-notifiche #comm fieldset .input-radio input:checked:before{transform:scale(1)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/notifiche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,oDACE,kCAAA,CAEF,wGACE,QAAA,CAGA,kDACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,0DACE,oBAAA,CACA,eAAA,CACA,aC3BK,CD4BP,+DACE,YAAA,CACA,kBAAA,CACA,qEACE,aChCG,CDiCH,kBAAA,CACF,qEACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,4EACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,oFACE,kBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.impostazioni-notifiche\\n  .col-border-left \\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n  md-input.compact, ka-input.compact \\n    margin: 0\\n\\n  #comm\\n    fieldset\\n      margin-inline-start: 0\\n      margin-inline-end: 0\\n      padding-block-start: 0\\n      padding-inline-start: 0\\n      padding-inline-end: 0\\n      padding-block-end: 0\\n      min-inline-size: min-content\\n      border-width: 0\\n      border-style: none\\n      height: 100%\\n      font-size: 1.4rem\\n\\n      .legend\\n        display: inline-block\\n        margin: 0 0 1rem\\n        color: $text-color\\n      .input-radio\\n        display: flex\\n        align-items: center\\n        label\\n          color: $text-color\\n          white-space: nowrap                 \\n        input\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          flex-shrink: 0\\n          margin: 0\\n          margin-right: .5rem\\n          font: inherit\\n          background-color: #fff\\n          width: 1.5rem\\n          height: 1.5rem\\n          border: 0.15rem solid $text-color\\n          border-radius: 50%\\n          cursor: pointer\\n          appearance: none              \\n          &:before\\n            content: \\\"\\\"\\n            width: .8rem\\n            height: .8rem\\n            border-radius: 50%\\n            transform: scale(0)\\n            transition: .2s transform ease-in-out\\n            box-shadow: inset 1em 1em $primary-color\\n          &:checked:before\\n            transform: scale(1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.small{max-width:430px}ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog md-prefsel{margin:0;background:rgba(0,0,0,0);border:none}ux-dialog md-prefsel .material-icons{display:none}ux-dialog md-prefsel p{padding:0}ux-dialog md-prefsel p.options{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/posta-dialog-confirm.scss\"],\"names\":[],\"mappings\":\"AACE,gBAAA,eAAA,CACA,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,qBACE,QAAA,CACA,wBAAA,CACA,WAAA,CACA,qCAAA,YAAA,CACA,uBACE,SAAA,CACA,+BAAA,eAAA\",\"sourcesContent\":[\"ux-dialog {\\n  &.small { max-width: 430px; }\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  md-prefsel {\\n    margin: 0;\\n    background: transparent;\\n    border: none;\\n    .material-icons { display: none; }\\n    p { \\n      padding: 0;\\n      &.options { margin-top: 1rem; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-keyword .body{padding:2rem}ux-dialog.add-keyword .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/dialogs/add-keyword.sass\"],\"names\":[],\"mappings\":\"AAGE,4BACE,YAAA,CACF,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.add-keyword\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.already-existing-label ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.already-existing-label ux-dialog-footer button:first-of-type:hover{background:#09152a}ux-dialog.signature-editor .body{overflow-x:hidden !important}ux-dialog.signature-editor .body>.content{padding:2rem}ux-dialog.signature-editor .body>.content .image-size{position:absolute;z-index:999;right:6px;transform:translateY(6px)}ux-dialog.signature-editor .body>.content .image-size>span{font-weight:500;font-family:\\\"Roboto mono\\\",sans-serif}ux-dialog.signature-editor .body>.content .image-size.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:center;animation:unset;font-weight:400}ux-dialog.signature-editor .body>.content .image-size.error:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:center;animation:unset;font-weight:400}ux-dialog.signature-editor .body>.content ka-control[name=html],ux-dialog.signature-editor .body>.content .ck.ck-editor{width:100%}ux-dialog.signature-editor .body>.content ka-control[name=html] .ck.ck-button,ux-dialog.signature-editor .body>.content .ck.ck-editor .ck.ck-button{cursor:pointer}ux-dialog.signature-editor .body>.content ka-control[name=html] .ck.ck-editor__main,ux-dialog.signature-editor .body>.content ka-control[name=html] .ck-editor__editable_inline,ux-dialog.signature-editor .body>.content .ck.ck-editor .ck.ck-editor__main,ux-dialog.signature-editor .body>.content .ck.ck-editor .ck-editor__editable_inline{height:15vh}ux-dialog.signature-editor .body>.content ka-control[name=html] .ck-editor__editable figure.image figcaption,ux-dialog.signature-editor .body>.content .ck.ck-editor .ck-editor__editable figure.image figcaption{display:none !important}ux-dialog.signature-editor .body>.content ka-control[name=text] textarea{display:block;height:15vh}ux-dialog.signature-editor .footer{display:flex;justify-content:end;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.signature-editor .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/dialogs/signature-editor.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uEAKI,cACE,CAAA,kBCJY,CAAA,6EDMZ,kBACE,CAAA,iCAEN,4BACE,CAAA,0CACA,YACE,CAAA,sDACA,iBACE,CAAA,WACA,CAAA,SACA,CAAA,yBACA,CAAA,2DACA,eACE,CAAA,oCACA,CAAA,qEACF,oBE2BN,CAAA,WF1B6B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBE8BjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFlCuE,CAAA,qBAAS,CAAA,eEyBM,CAAA,eAgBpF,CAAA,mEFxCI,oBEyBN,CAAA,WFxB6B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBE4BjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFhCuE,CAAA,qBAAS,CAAA,eEuBM,CAAA,eAgBpF,CAAA,wHFtCE,UACE,CAAA,oJACA,cACE,CAAA,gVACF,WACE,CAAA,kNACF,uBACE,CAAA,yEAEF,aACE,CAAA,WACA,CAAA,mCACR,YACE,CAAA,mBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,uDACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.already-existing-label\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 8%)\\nux-dialog.signature-editor\\n  .body\\n    overflow-x: hidden !important\\n    > .content\\n      padding: 2rem\\n      .image-size\\n        position: absolute\\n        z-index: 999\\n        right: 6px\\n        transform: translateY(6px)\\n        > span\\n          font-weight: 500\\n          font-family: 'Roboto mono', sans-serif\\n        &.success:before\\n          @include fontawesome('\\\\f00c', 'regular', inherit, 0 .5rem 0 0, inherit, center)\\n        &.error:before\\n          @include fontawesome('\\\\f06a', 'regular', inherit, 0 .5rem 0 0, inherit, center)\\n      ka-control[name=\\\"html\\\"], .ck.ck-editor\\n        width: 100%\\n        .ck.ck-button\\n          cursor: pointer\\n        .ck.ck-editor__main, .ck-editor__editable_inline\\n          height: 15vh\\n        .ck-editor__editable figure.image figcaption\\n          display: none !important\\n      ka-control[name=\\\"text\\\"]\\n        textarea\\n          display: block\\n          height: 15vh\\n  .footer \\n    display: flex\\n    justify-content: end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.signature-preview .body{padding:2rem}ux-dialog.signature-preview .body ka-control[name=html],ux-dialog.signature-preview .body .ck.ck-editor{width:100%}ux-dialog.signature-preview .body ka-control[name=html] div.ck.ck-editor__top,ux-dialog.signature-preview .body .ck.ck-editor div.ck.ck-editor__top{display:none}ux-dialog.signature-preview .body ka-control[name=html] .ck.ck-editor__main,ux-dialog.signature-preview .body ka-control[name=html] .ck-editor__editable_inline,ux-dialog.signature-preview .body .ck.ck-editor .ck.ck-editor__main,ux-dialog.signature-preview .body .ck.ck-editor .ck-editor__editable_inline{height:15vh}ux-dialog.signature-preview .body ka-control[name=html] .ck-editor__editable figure.image figcaption,ux-dialog.signature-preview .body .ck.ck-editor .ck-editor__editable figure.image figcaption{display:none !important}ux-dialog.signature-preview .body ka-control[name=text] textarea{display:block;height:15vh}ux-dialog.signature-preview .body div[ref=signaturePreviewWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.signature-preview .footer{display:flex;justify-content:end;padding:6px;border-top:1px solid #e5e5e5;text-align:right;margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/dialogs/signature-preview.sass\"],\"names\":[],\"mappings\":\"AAIE,kCACE,YAAA,CACA,wGACE,UAAA,CACA,oJACE,YAAA,CACF,gTACE,WAAA,CACF,kMACE,uBAAA,CAEF,iEACE,aAAA,CACA,WAAA,CACJ,mEACE,QAAA,CACA,SAAA,CACA,eAAA,CACA,yDAAA,CACJ,oCACE,YAAA,CACA,mBAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEA,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.signature-preview\\n  .body\\n    padding: 2rem\\n    ka-control[name=\\\"html\\\"], .ck.ck-editor\\n      width: 100%\\n      div.ck.ck-editor__top\\n        display: none\\n      .ck.ck-editor__main, .ck-editor__editable_inline\\n        height: 15vh\\n      .ck-editor__editable figure.image figcaption\\n        display: none !important\\n    ka-control[name=\\\"text\\\"]\\n      textarea\\n        display: block\\n        height: 15vh\\n    div[ref=\\\"signaturePreviewWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n  .footer\\n    display: flex\\n    justify-content: end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n    margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.already-existing-label ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.already-existing-label ux-dialog-footer button:first-of-type:hover{background:#09152a}ux-dialog.template-editor div[ref=templateEditorWrapper]{overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.template-editor div[ref=templateEditorWrapper] .body{padding:2rem;min-height:6.2rem;transition:height 1s ease-in-out}ux-dialog.template-editor div[ref=templateEditorWrapper] .body ka-control[name=htmlBody],ux-dialog.template-editor div[ref=templateEditorWrapper] .body .ck.ck-editor{width:100%}ux-dialog.template-editor div[ref=templateEditorWrapper] .body ka-control[name=htmlBody] .ck.ck-editor__main,ux-dialog.template-editor div[ref=templateEditorWrapper] .body ka-control[name=htmlBody] .ck-editor__editable_inline,ux-dialog.template-editor div[ref=templateEditorWrapper] .body .ck.ck-editor .ck.ck-editor__main,ux-dialog.template-editor div[ref=templateEditorWrapper] .body .ck.ck-editor .ck-editor__editable_inline{height:20vh}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords label{display:block;margin-bottom:.8rem;color:#ed5a23;font-size:1.2rem}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keywords-list{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem .5rem;font-family:\\\"Roboto Condensed\\\",sans-serif;font-size:1.4rem;line-height:1}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip{display:flex;align-items:center;cursor:pointer;padding:.5rem .8rem;border-radius:2rem;width:fit-content;white-space:nowrap;background:#fff;color:#e44c13;box-shadow:0 0 0 1px #e44c13;transition:all .3s ease}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip>span:after{display:flex;content:\\\"\\\";width:0;transition:all .3s ease;border-bottom:1px solid #c41}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip>span:hover:after{width:100%}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip>.delete{font-size:1.2rem;padding-left:.6rem;transition:color .3s ease;color:#c41}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip>.delete:hover{color:#11254b}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip:hover{transform:scale(1.03);color:#c41;background:rgba(237,90,35,.15);box-shadow:0 0 0 1px #c41}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.add{font-weight:300;background:rgba(237,90,35,.15);color:#11254b}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.add>i{padding:0 .4rem 0 0;font-size:1.2rem;color:#e44c13}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.add:hover{background:#ed5a23;color:#fff;box-shadow:0 0 0 1px #c41}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.add:hover>i{color:#11254b}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.system{color:#11254b;box-shadow:0 0 0 1px #11254b}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.system>span:after{border-bottom:1px solid #11254b}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.system>.delete{color:#000}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.system>.delete:hover{color:#f30}ux-dialog.template-editor div[ref=templateEditorWrapper] .body .keywords .keyword-chip.system:hover{color:#000;background:rgba(17,37,75,.08);box-shadow:0 0 0 1px #000}ux-dialog.template-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/dialogs/template-editor.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAII,uEACE,cAAA,CACA,kBCJY,CDKZ,6EACE,kBAAA,CAGN,yDAGE,eAAA,CACA,yDAAA,CACA,+DACE,YAAA,CACA,iBAAA,CACA,gCAAA,CACA,sKACE,UAAA,CACA,4aACE,WAAA,CAEF,+EACE,aAAA,CACA,mBAAA,CACA,aC3BM,CD4BN,gBAAA,CACF,wFACE,YAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,yCAAA,CACA,gBAAA,CACA,aAAA,CACF,uFACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,mBAAA,CACA,kBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,aAAA,CACA,4BAAA,CACA,uBAAA,CAEE,kGACE,YAAA,CACA,UAAA,CACA,OAAA,CACA,uBAAA,CACA,4BAAA,CACF,wGACE,UAAA,CACJ,+FACE,gBAAA,CACA,kBAAA,CACA,yBAAA,CACA,UAAA,CACA,qGACE,aC/DI,CDgER,6FACE,qBAAA,CACA,UAAA,CACA,8BAAA,CACA,yBAAA,CACF,2FACE,eAAA,CACA,8BAAA,CACA,aCxEM,CDyEN,6FACE,mBAAA,CACA,gBAAA,CACA,aAAA,CACF,iGACE,kBC/EE,CDgFF,UAAA,CACA,yBAAA,CACA,mGACE,aClFE,CDmFR,8FACE,aCpFM,CDqFN,4BAAA,CACA,yGACE,+BAAA,CACF,sGACE,UAAA,CACA,4GACE,UCxFF,CDyFF,oGACE,UAAA,CACA,6BAAA,CACA,yBAAA,CACZ,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.already-existing-label\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 8%)\\n\\nux-dialog.template-editor\\n  div[ref=\\\"templateEditorWrapper\\\"]\\n    /* height: 0 */\\n    /* opacity: 0 */\\n    overflow: hidden\\n    transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    .body\\n      padding: 2rem\\n      min-height: 6.2rem\\n      transition: height 1s ease-in-out\\n      ka-control[name=\\\"htmlBody\\\"], .ck.ck-editor\\n        width: 100%\\n        .ck.ck-editor__main, .ck-editor__editable_inline\\n          height: 20vh\\n      .keywords\\n        label\\n          display: block\\n          margin-bottom: .8rem\\n          color: $primary-color\\n          font-size: 1.2rem\\n        .keywords-list\\n          display: flex\\n          flex-wrap: wrap\\n          align-items: center\\n          gap: .8rem .5rem\\n          font-family: 'Roboto Condensed', sans-serif\\n          font-size: 1.4rem\\n          line-height: 1\\n        .keyword-chip\\n          display: flex\\n          align-items: center\\n          cursor: pointer\\n          padding: .5rem .8rem\\n          border-radius: 2rem\\n          width: fit-content\\n          white-space: nowrap\\n          background: #fff\\n          color: darken($primary-color, 5%)\\n          box-shadow: 0 0 0 1px darken($primary-color, 5%)\\n          transition: all .3s ease\\n          > span\\n            &:after\\n              display: flex\\n              content: ''\\n              width: 0\\n              transition: all .3s ease\\n              border-bottom: 1px solid darken($primary-color, 10%)\\n            &:hover:after\\n              width: 100%\\n          > .delete\\n            font-size: 1.2rem\\n            padding-left: .6rem\\n            transition: color .3s ease\\n            color: darken($primary-color, 10%)\\n            &:hover\\n              color: $secondary-color\\n          &:hover\\n            transform: scale(1.03)\\n            color: darken($primary-color, 10%)\\n            background: rgba($primary-color, .15)\\n            box-shadow: 0 0 0 1px darken($primary-color, 10%)\\n          &.add\\n            font-weight: 300\\n            background: rgba($primary-color, .15)\\n            color: $secondary-color\\n            > i\\n              padding: 0 .4rem 0 0\\n              font-size: 1.2rem\\n              color: darken($primary-color, 5%)\\n            &:hover\\n              background: $primary-color\\n              color: #fff\\n              box-shadow: 0 0 0 1px darken($primary-color, 10%)\\n              > i\\n                color: $secondary-color\\n          &.system\\n            color: $secondary-color\\n            box-shadow: 0 0 0 1px $secondary-color\\n            > span:after\\n              border-bottom: 1px solid $secondary-color\\n            > .delete\\n              color: darken($secondary-color, 20%)\\n              &:hover\\n                color: $error-color\\n            &:hover\\n              color: darken($secondary-color, 20%)\\n              background: rgba($secondary-color, .08)\\n              box-shadow: 0 0 0 1px darken($secondary-color, 20%)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.template-preview .body{padding:2rem}ux-dialog.template-preview .body div[ref=templatePreviewWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.template-preview .body ka-control[name=htmlBody],ux-dialog.template-preview .body .ck.ck-editor{width:100%}ux-dialog.template-preview .body ka-control[name=htmlBody] .ck.ck-toolbar,ux-dialog.template-preview .body .ck.ck-editor .ck.ck-toolbar{display:none}ux-dialog.template-preview .body ka-control[name=htmlBody] .ck.ck-editor__main,ux-dialog.template-preview .body ka-control[name=htmlBody] .ck-editor__editable_inline,ux-dialog.template-preview .body .ck.ck-editor .ck.ck-editor__main,ux-dialog.template-preview .body .ck.ck-editor .ck-editor__editable_inline{height:40vh}ux-dialog.template-preview .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/dialogs/template-preview.sass\"],\"names\":[],\"mappings\":\"AACE,iCACE,YAAA,CACA,iEACE,QAAA,CACA,SAAA,CACA,eAAA,CACA,yDAAA,CACF,0GACE,UAAA,CACA,wIACE,YAAA,CACF,oTACE,WAAA,CACN,mCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"ux-dialog.template-preview\\n  .body\\n    padding: 2rem\\n    div[ref=\\\"templatePreviewWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    ka-control[name=\\\"htmlBody\\\"], .ck.ck-editor\\n      width: 100%\\n      .ck.ck-toolbar\\n        display: none\\n      .ck.ck-editor__main, .ck-editor__editable_inline\\n        height: 40vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.delete-signature ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.delete-signature ux-dialog-footer button:first-of-type:hover{background:#09152a}ux-dialog.template-delete ux-dialog-footer button:first-of-type{margin-right:0;background:#11254b}ux-dialog.template-delete ux-dialog-footer button:first-of-type:hover{background:#09152a}router-view.impostazioni-email-pec h2,router-view.impostazioni-multicerta h2,router-view.impostazioni-sms h2{display:flex;align-items:center;justify-content:space-between;padding:0 0 0 1rem}router-view.impostazioni-email-pec table td.created-at,router-view.impostazioni-multicerta table td.created-at,router-view.impostazioni-sms table td.created-at{font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.impostazioni-email-pec table td.created-at>div,router-view.impostazioni-multicerta table td.created-at>div,router-view.impostazioni-sms table td.created-at>div{color:rgba(64,64,64,.6)}router-view.impostazioni-email-pec table td>.data,router-view.impostazioni-email-pec table td>div>.data,router-view.impostazioni-multicerta table td>.data,router-view.impostazioni-multicerta table td>div>.data,router-view.impostazioni-sms table td>.data,router-view.impostazioni-sms table td>div>.data{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.impostazioni-email-pec table td.management>div,router-view.impostazioni-multicerta table td.management>div,router-view.impostazioni-sms table td.management>div{display:flex;justify-content:flex-end}@media(max-width: 575px){router-view.impostazioni-email-pec table td.management>div,router-view.impostazioni-multicerta table td.management>div,router-view.impostazioni-sms table td.management>div{display:block;padding:1rem;padding-left:0}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/shared-views/shared-view.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAII,iEACE,cAAA,CACA,kBCJY,CDKZ,uEACE,kBAAA,CAGJ,gEACE,cAAA,CACA,kBCXY,CDYZ,sEACE,kBAAA,CAEN,6GACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,kBAAA,CAGE,gKACE,2CAAA,CACA,4KACE,uBAAA,CACJ,8SACE,sCAAA,CAEA,4KACE,YAAA,CACA,wBAAA,CACF,yBACE,4KACE,aAAA,CACA,YAAA,CACA,cAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.delete-signature\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 8%)\\nux-dialog.template-delete\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 8%)\\nrouter-view.impostazioni-email-pec, router-view.impostazioni-multicerta, router-view.impostazioni-sms\\n  h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 0 0 1rem\\n  table\\n    td\\n      &.created-at\\n        font-family: 'Roboto condensed', 'sans-serif'\\n        > div\\n          color: rgba($text-color, .6)\\n      > .data, > div > .data\\n        font-family: 'Roboto mono', 'sans-serif'\\n      &.management\\n        > div\\n          display: flex\\n          justify-content: flex-end\\n        @media (max-width: 575px)\\n          > div\\n            display: block\\n            padding: 1rem\\n            padding-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.sms-alias-request .body>p.owner{margin:0 0 2rem;font-size:1.6rem}ux-dialog.sms-alias-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/sms/dialogs/sms-alias-request.sass\"],\"names\":[],\"mappings\":\"AACE,0CACE,eAAA,CACA,gBAAA,CACF,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"ux-dialog.sms-alias-request\\n  .body > p.owner\\n    margin: 0 0 2rem\\n    font-size: 1.6rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.impostazioni-sms h2>.list-title{display:flex;align-items:center}router-view.impostazioni-sms h2>.list-title>small{margin-top:.3rem;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(64,64,64,.3);font-size:1.4rem;line-height:2rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040}@media(max-width: 1280px){router-view.impostazioni-sms h2>.list-title>small{display:none}}router-view.impostazioni-sms md-nav-element+h2,router-view.impostazioni-sms md-nav-element+md-loader+h2,router-view.impostazioni-sms md-prefsel+h2{border-top:0}router-view.impostazioni-sms md-prefsel>.modern-layout{margin-bottom:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/sms/sms.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,4CACE,YAAA,CACA,kBAAA,CACA,kDACE,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,uCAAA,CACA,gBAAA,CACA,gBAAA,CACA,yCAAA,CACA,aCfO,CDgBP,0BATF,kDAUI,YAAA,CAAA,CACN,mJACE,YAAA,CACF,uDACE,eAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.impostazioni-sms\\n  h2 > .list-title\\n    display: flex\\n    align-items: center\\n    > small\\n      margin-top: .3rem\\n      margin-left: 1rem\\n      padding-left: 1rem\\n      border-left: 1px solid rgba($text-color, .3)\\n      font-size: 1.4rem\\n      line-height: 2rem\\n      font-family: 'Roboto condensed', sans-serif\\n      color: $text-color\\n      @media (max-width: 1280px)\\n        display: none\\n  md-nav-element + h2, md-nav-element + md-loader + h2, md-prefsel + h2\\n    border-top: 0\\n  md-prefsel > .modern-layout\\n    margin-bottom: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"static/images/multicerta-inline.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.conferma-lettura{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;width:100vw;max-height:unset;padding:2rem 0;overflow:auto}router-view.conferma-lettura main{display:flex;flex-grow:1;flex-direction:column;justify-content:center;align-items:center;width:min(60vw,60rem)}@media(max-width: 768px){router-view.conferma-lettura main{width:calc(100vw - 4rem)}}router-view.conferma-lettura main h1{margin:clamp(1rem,2.5vh,3rem) 0 clamp(1rem,1.5vh,2rem);color:#11254b;text-align:center;font-size:clamp(2.5rem,2.5vw,3rem)}router-view.conferma-lettura main h3{margin:0;font-size:1.8rem;font-weight:300;font-family:\\\"Roboto slab\\\",serif;color:#11254b}router-view.conferma-lettura main h4{margin:clamp(1rem,1.5vh,2rem) 0 clamp(1rem,1vh,1.5rem);font-size:clamp(1.2rem,1vw,1.4rem);font-weight:500;text-transform:uppercase;color:#ed5a23;text-shadow:1px 1px 0 rgba(0,0,0,.8);font-family:\\\"Roboto flex\\\",sans-serif}router-view.conferma-lettura main h5{font-size:clamp(1.2rem,.8vw,1.4rem);font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.conferma-lettura main .error-init{display:flex;flex-direction:column;align-items:center}router-view.conferma-lettura main .error-init>p{margin-top:3rem;font-weight:300;font-size:clamp(1.4rem,1vw,1.6rem);line-height:1.7;color:#11254b;font-family:\\\"Roboto slab\\\",serif}router-view.conferma-lettura main .icon-wrapper{display:flex;align-items:center;justify-content:center;height:clamp(7.3rem,6vw,8rem);width:clamp(7.3rem,6vw,8rem);border-radius:50%;box-shadow:inset 0 0 0 1px #b53c0f}router-view.conferma-lettura main .icon-wrapper>svg{display:none;height:70%;width:70%}router-view.conferma-lettura main .icon-wrapper.ERROR{background:#f30;box-shadow:inset 0 0 0 1px #b32400}router-view.conferma-lettura main .icon-wrapper.ERROR>svg.error{display:block}router-view.conferma-lettura main .icon-wrapper.PENDING{background:#ed5a23;box-shadow:inset 0 0 0 1px #b53c0f}router-view.conferma-lettura main .icon-wrapper.PENDING>svg.pending{display:block}router-view.conferma-lettura main .icon-wrapper.CONFIRMED{background:#2caf2a;box-shadow:inset 0 0 0 1px #1c711b}router-view.conferma-lettura main .icon-wrapper.CONFIRMED>svg.confirmed{display:block}router-view.conferma-lettura main ka-button{position:relative;margin:clamp(1rem,2.5vh,3rem) 0;padding:0 clamp(2rem,1.5vw,3rem);height:clamp(4.5rem,3vw,5rem);line-height:clamp(4.5rem,3vw,5rem);font-size:clamp(1.6rem,1.2vw,1.8rem);font-weight:500;font-family:\\\"Roboto flex\\\",sans-serif;text-shadow:1px 1px 2px rgba(0,0,0,.6);letter-spacing:.02rem;font-family:\\\"Roboto\\\",sans-serif;background:linear-gradient(180deg, #f5a181 0%, #e44c13 40%, #cc4411 100%);box-shadow:inset 0 0 0 1px #a7370e,0 0 10px 3px rgba(0,0,0,.2)}router-view.conferma-lettura main ka-button>span{margin:0;padding:0;position:relative;z-index:2}router-view.conferma-lettura main ka-button:after{position:absolute;z-index:1;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}router-view.conferma-lettura main ka-button:not(.disabled):hover{transform:scale(1.05)}router-view.conferma-lettura main ka-button.disabled{background:rgba(0,0,0,.1);text-shadow:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.8),0 0 10px 3px rgba(0,0,0,.2)}router-view.conferma-lettura main ka-button.disabled:after{background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 1px, transparent 0, transparent 50%)}router-view.conferma-lettura main ka-button.disabled>span{box-shadow:0 0 0 #000 !important}router-view.conferma-lettura main .multicerta{display:flex;flex-direction:column;justify-content:center;position:relative;margin:0 0 clamp(1rem,2.5vh,3rem);padding:clamp(2rem,3.5vh,3rem);border-radius:8px;background:linear-gradient(183deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.05) 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}router-view.conferma-lettura main .multicerta:after{position:absolute;z-index:1;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 1px, transparent 0, transparent 50%)}router-view.conferma-lettura main .multicerta>.logo{height:2.5rem;width:8.5vw;max-width:14rem;min-width:12.5rem;background-repeat:no-repeat;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}router-view.conferma-lettura main .multicerta>.wrapper{display:flex;align-items:flex-start;justify-content:center;position:relative;z-index:2}router-view.conferma-lettura main .multicerta>.wrapper>.content{display:flex;flex-direction:column;height:100%}router-view.conferma-lettura main .multicerta>.wrapper>.content>p{margin:clamp(1rem,1.5vh,2rem) 0 clamp(1rem,1.5vh,2rem);font-weight:300;font-size:clamp(1.3rem,1vw,1.4rem);line-height:1.7;font-family:\\\"Roboto slab\\\",serif}router-view.conferma-lettura main .multicerta>.wrapper>.content>.discover-more{display:block;margin-top:auto;width:100%;text-decoration:none;padding:1rem;border:1px solid #fff;border-radius:5px;text-align:center;font-size:clamp(1.3rem,.8vw,1.5rem);font-weight:400;color:#404040;background:#fff;box-shadow:0 0 8px 2px rgba(0,0,0,.1);white-space:nowrap;font-family:\\\"Roboto condensed\\\",sans-serif;transition:transform .3s ease}router-view.conferma-lettura main .multicerta>.wrapper>.content>.discover-more:after{display:inline-block;content:\\\"\\\";margin:0 0 0 1rem;font-size:clamp(1.2rem,.5vw,1.4rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}router-view.conferma-lettura main .multicerta>.wrapper>.content>.discover-more:hover{transform:scale(1.05)}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons{display:flex;align-items:center;justify-content:space-between;margin:1rem 0;width:100%;gap:1rem}@media(max-width: 400px){router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons{flex-direction:column}}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button{outline:none;border-radius:5px;border:none;box-shadow:none;padding:1rem 0;cursor:pointer;width:100%;box-shadow:0 0 8px 2px rgba(0,0,0,.1);transition:all .3s ease;background:#fff}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button:hover{transform:scale(1.05)}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button>.inner>span{font-size:1.3rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:rgba(64,64,64,.7);white-space:nowrap}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button>.inner>.logo{display:flex;align-items:center;justify-content:center;gap:min(1rem,1vw);margin-top:.2rem}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button>.inner>.logo>span{white-space:nowrap;font-size:1.5rem;font-family:\\\"Roboto flex\\\",sans-serif}router-view.conferma-lettura main .multicerta>.wrapper>.content>.buttons>button>.inner>.logo svg{display:block;height:min(2.5rem,5vw);width:min(2.5rem,5vw)}router-view.conferma-lettura main .multicerta>.wrapper>.desktop-download{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:center;width:30rem;padding:clamp(1rem,1.5vh,2rem) 0 0 clamp(1rem,1.5vh,2rem);text-align:center}router-view.conferma-lettura main .multicerta>.wrapper>.desktop-download .qrcode{margin:1.5rem 0 0;width:100%;aspect-ratio:1/1;background-repeat:no-repeat;background-size:contain}@media(max-width: 600px){router-view.conferma-lettura main .multicerta{align-items:center}router-view.conferma-lettura main .multicerta>.wrapper{flex-direction:column;align-items:center}router-view.conferma-lettura main .multicerta>.wrapper>.content>p{text-align:center}router-view.conferma-lettura main .multicerta>.wrapper>.desktop-download{padding:2rem 0 0;width:100%}router-view.conferma-lettura main .multicerta>.wrapper>.desktop-download>h5{font-size:min(1.4rem,3.5vw)}router-view.conferma-lettura main .multicerta>.wrapper>.desktop-download>.qrcode{max-width:30vw}}router-view.conferma-lettura main.mobile .multicerta{align-items:center}router-view.conferma-lettura main.mobile .multicerta>.wrapper>.content>p{text-align:center}router-view.conferma-lettura footer{text-align:center;width:calc(100vw - 4rem)}router-view.conferma-lettura footer>p{font-size:clamp(1.3rem,1vw,1.4rem)}router-view.conferma-lettura footer>p.disclaimer{margin:.3rem 0 0;text-align:center;line-height:1.7;font-size:clamp(1.3rem,.8vw,1.5rem);color:rgba(17,37,75,.6);font-family:\\\"Roboto condensed\\\",sans-serif}router-view.conferma-lettura footer a{color:#ed5a23;transition:color .3s ease}router-view.conferma-lettura footer a:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/landing/email-read-confirmation.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$read-confirmation-orange: #e8622c\\n$read-confirmation-navy: #16213f\\n$read-confirmation-navy-dark: #0f1830\\n$read-confirmation-gray: #8a8f98\\n\\nrouter-view.conferma-lettura\\n  display: flex\\n  flex-direction: column\\n  justify-content: space-between\\n  align-items: center\\n  height: 100vh\\n  width: 100vw\\n  max-height: unset\\n  padding: 2rem 0\\n  overflow: auto\\n  main\\n    display: flex\\n    flex-grow: 1\\n    flex-direction: column\\n    justify-content: center\\n    align-items: center\\n    width: min(60vw, 60rem)\\n    @media (max-width: 768px)\\n      width: calc(100vw - 4rem)\\n    h1\\n      margin: clamp(1rem, 2.5vh, 3rem) 0 clamp(1rem, 1.5vh, 2rem)\\n      color: $secondary-color\\n      text-align: center\\n      font-size: clamp(2.5rem, 2.5vw, 3rem)\\n    h3\\n      margin: 0\\n      font-size: 1.8rem\\n      font-weight: 300\\n      font-family: 'Roboto slab', serif\\n      color: $secondary-color\\n    h4\\n      margin: clamp(1rem, 1.5vh, 2rem) 0 clamp(1rem, 1vh, 1.5rem)\\n      font-size: clamp(1.2rem, 1vw, 1.4rem)\\n      font-weight: 500\\n      text-transform: uppercase\\n      color: $primary-color\\n      text-shadow: 1px 1px 0 rgba(#000, .8)\\n      font-family: 'Roboto flex', sans-serif\\n    h5\\n      font-size: clamp(1.2rem, .8vw, 1.4rem)\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    .error-init\\n      display: flex\\n      flex-direction: column\\n      align-items: center\\n      > p\\n        margin-top: 3rem\\n        font-weight: 300\\n        font-size: clamp(1.4rem, 1vw, 1.6rem)\\n        line-height: 1.7\\n        color: #11254b\\n        font-family: 'Roboto slab', serif\\n    .icon-wrapper\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      height: clamp(7.3rem, 6vw, 8rem)\\n      width: clamp(7.3rem, 6vw, 8rem)\\n      border-radius: 50%\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 15%)\\n      > svg\\n        display: none\\n        height: 70%\\n        width: 70%\\n      &.ERROR\\n        background: $error-color\\n        box-shadow: inset 0 0 0 1px darken($error-color, 15%)\\n        > svg.error \\n          display: block\\n      &.PENDING\\n        background: $primary-color\\n        box-shadow: inset 0 0 0 1px darken($primary-color, 15%)\\n        > svg.pending \\n          display: block\\n      &.CONFIRMED\\n        background: #2caf2a\\n        box-shadow: inset 0 0 0 1px darken(#2caf2a, 15%)\\n        > svg.confirmed\\n          display: block\\n    ka-button\\n      position: relative\\n      margin: clamp(1rem, 2.5vh, 3rem) 0\\n      padding: 0 clamp(2rem, 1.5vw, 3rem)\\n      height: clamp(4.5rem, 3vw, 5rem)\\n      line-height: clamp(4.5rem, 3vw, 5rem)\\n      font-size: clamp(1.6rem, 1.2vw, 1.8rem)\\n      font-weight: 500\\n      font-family: 'Roboto flex', sans-serif\\n      text-shadow: 1px 1px 2px rgba(#000, .6)\\n      letter-spacing: .02rem\\n      font-family: 'Roboto', sans-serif\\n      background: linear-gradient(180deg, lighten($primary-color, 20%) 0%,  darken($primary-color, 5%) 40%, darken($primary-color, 10%) 100%)\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 18%), 0 0 10px 3px rgba(#000, .2)\\n      > span\\n        margin: 0\\n        padding: 0\\n        position: relative\\n        z-index: 2\\n      &:after\\n        position: absolute\\n        z-index: 1\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n      &:not(.disabled):hover\\n        transform: scale(1.05)\\n      &.disabled\\n        background: rgba(#000, .1)\\n        text-shadow: none\\n        box-shadow: inset 0 0 0 1px rgba(#000, .8), 0 0 10px 3px rgba(#000, .2)\\n        &:after\\n          background-image: repeating-linear-gradient(45deg, rgba(#000, .02) 0, rgba(#000, .02) 1px, transparent 0, transparent 50%)\\n        > span\\n          box-shadow: 0 0 0 #000 !important\\n\\n    .multicerta\\n      display: flex\\n      flex-direction: column\\n      justify-content: center\\n      position: relative\\n      margin: 0 0 clamp(1rem, 2.5vh, 3rem)\\n      padding: clamp(2rem, 3.5vh, 3rem)\\n      border-radius: 8px\\n      background: linear-gradient(183deg, rgba(#000, .05) 0%, rgba(#000, .05) 40%, rgba(#000, .05) 100%)\\n      box-shadow: inset 0 0 0 1px rgba(#000, .1)\\n      &:after\\n        position: absolute\\n        z-index: 1\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba(#000, .02) 0, rgba(#000, .02) 1px, transparent 0, transparent 50%)\\n      > .logo\\n        height: 2.5rem\\n        width: 8.5vw\\n        max-width: 14rem\\n        min-width: 12.5rem\\n        background-repeat: no-repeat\\n        background-image: url('static/images/multicerta-inline.svg')\\n      > .wrapper\\n        display: flex\\n        align-items: flex-start\\n        justify-content: center\\n        position: relative\\n        z-index: 2\\n        > .content\\n          display: flex\\n          flex-direction: column\\n          height: 100%\\n          > p\\n            margin: clamp(1rem, 1.5vh, 2rem) 0 clamp(1rem, 1.5vh, 2rem)\\n            font-weight: 300\\n            font-size: clamp(1.3rem, 1vw, 1.4rem)\\n            line-height: 1.7\\n            font-family: 'Roboto slab', serif\\n          > .discover-more\\n            display: block\\n            margin-top: auto\\n            width: 100%\\n            text-decoration: none\\n            padding: 1rem\\n            border: 1px solid #fff\\n            border-radius: 5px\\n            text-align: center\\n            font-size: clamp(1.3rem, .8vw, 1.5rem)\\n            font-weight: 400\\n            color: $text-color\\n            background: #fff\\n            box-shadow: 0 0 8px 2px rgba(#000, .1)\\n            white-space: nowrap\\n            font-family: 'Roboto condensed', sans-serif\\n            transition: transform .3s ease\\n            &:after\\n              @include fontawesome(\\\"\\\\f061\\\", \\\"regular\\\", clamp(1.2rem, .5vw, 1.4rem), 0 0 0 1rem, inherit)\\n            &:hover\\n              transform: scale(1.05)\\n          > .buttons\\n            display: flex\\n            align-items: center\\n            justify-content: space-between\\n            margin: 1rem 0\\n            width: 100%\\n            gap: 1rem\\n            @media (max-width: 400px) \\n              flex-direction: column\\n            > button\\n              outline: none\\n              border-radius: 5px\\n              border: none\\n              box-shadow: none\\n              padding: 1rem 0\\n              cursor: pointer\\n              width: 100%\\n              box-shadow: 0 0 8px 2px rgba(#000, .1)\\n              transition: all .3s ease\\n              background: #fff\\n              &:hover\\n                transform: scale(1.05)\\n              > .inner\\n                > span\\n                  font-size: 1.3rem\\n                  font-family: 'Roboto condensed', sans-serif\\n                  color: rgba($text-color, .7)\\n                  white-space: nowrap\\n                > .logo\\n                  display: flex\\n                  align-items: center\\n                  justify-content: center\\n                  gap: min(1rem, 1vw)\\n                  margin-top: .2rem\\n                  > span\\n                    white-space: nowrap\\n                    font-size: 1.5rem\\n                    font-family: 'Roboto flex', sans-serif\\n                  svg\\n                    display: block\\n                    height: min(2.5rem, 5vw)\\n                    width: min(2.5rem, 5vw)\\n        > .desktop-download\\n          display: flex\\n          flex-direction: column\\n          align-items: center\\n          height: 100%\\n          justify-content: center\\n          width: 30rem\\n          padding: clamp(1rem, 1.5vh, 2rem) 0 0 clamp(1rem, 1.5vh, 2rem)\\n          text-align: center\\n          .qrcode\\n            margin: 1.5rem 0 0\\n            width: 100%\\n            aspect-ratio: 1 / 1\\n            background-repeat: no-repeat\\n            background-size: contain\\n    @media (max-width: 600px) \\n      .multicerta\\n        align-items: center\\n        > .wrapper\\n          flex-direction: column\\n          align-items: center\\n          > .content\\n            > p\\n              text-align: center  \\n          > .desktop-download\\n            padding: 2rem 0 0\\n            width: 100%\\n            > h5\\n              font-size: min(1.4rem, 3.5vw)\\n            > .qrcode\\n              max-width: 30vw\\n\\n    &.mobile \\n      .multicerta\\n        align-items: center\\n        > .wrapper\\n          > .content\\n            > p\\n              text-align: center\\n  footer\\n    text-align: center\\n    width: calc(100vw - 4rem)\\n    > p\\n      font-size: clamp(1.3rem, 1vw, 1.4rem)\\n      &.disclaimer\\n        margin: .3rem 0 0\\n        text-align: center\\n        line-height: 1.7\\n        font-size: clamp(1.3rem, .8vw, 1.5rem)\\n        color: rgba($secondary-color, .6)\\n        font-family: 'Roboto condensed', sans-serif\\n    a\\n      color: $primary-color\\n      transition: color .3s ease\\n      &:hover\\n        color: $text-color\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.offerta{position:relative;height:100%;max-height:100vh;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.offerta>img{position:absolute;top:0;left:0;height:100%;width:100%;object-fit:cover;opacity:.06}router-view.offerta .offer-header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;padding:2rem 3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-header>img{justify-self:start;height:3.5rem}router-view.offerta .offer-header>p{justify-self:center;line-height:1}router-view.offerta .offer-header>a,router-view.offerta .offer-header i{justify-self:end;font-size:2.7rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.offerta .offer-box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.offerta .offer-box h1{color:#000;font-size:4rem}router-view.offerta .offer-box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.offerta .offer-box .alert>strong,router-view.offerta .offer-box .alert small{display:block;line-height:1;font-size:1.4rem}router-view.offerta .offer-box .alert>strong{font-size:1.6rem}router-view.offerta .offer-box .alert .to-login{display:inline-block;text-decoration:underline;text-underline-offset:.2rem;color:#ed5a23}router-view.offerta .offer-box .alert .to-login>i{font-size:1.8rem;vertical-align:middle}router-view.offerta .offer-box .activation-button{padding:0 3rem;height:unset;border:1px solid #0b1932;line-height:4.5rem;font-size:1.5rem;background:linear-gradient(rgba(17, 37, 75, 0.9), #0b1932)}router-view.offerta .offer-box .activation-button.activable{border:1px solid #df4a12;animation:2.1s ease-in-out infinite pulse-button;background:linear-gradient(rgba(237, 90, 35, 0.9), #df4a12)}router-view.offerta .offer-box .left-side{box-shadow:inset -0.5px 0 0 0 #e0e0e0;padding:3rem}router-view.offerta .offer-box .left-side p{font-size:1.6rem}router-view.offerta .offer-box .left-side h3{font-size:1.6rem}router-view.offerta .offer-box .left-side small{display:block;font-size:1.4rem;line-height:1}router-view.offerta .offer-box .left-side .ribbon{display:flex;align-items:center;position:relative;z-index:3;width:21rem;height:3rem;font-size:calc(3rem - 1.1rem);color:#fff;background:#ed5a23;animation:.5s ease-in-out ribbon-entrance;box-shadow:5px 5px 5px 0 rgba(0,0,0,.1)}router-view.offerta .offer-box .left-side .ribbon:before,router-view.offerta .offer-box .left-side .ribbon::after{display:block;position:absolute;content:\\\"\\\"}router-view.offerta .offer-box .left-side .ribbon:before{position:absolute;content:\\\"\\\";height:0;width:0;left:0;bottom:calc(3rem/3*-1);border-top:calc(3rem/3) solid #c14b1f;border-left:calc(3rem/3) solid rgba(0,0,0,0)}router-view.offerta .offer-box .left-side .ribbon:after{top:0;left:auto;right:calc(3rem*-1);border:calc(3rem/2) solid #ed5a23;border-right-color:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side{box-shadow:inset .5px 0 0 0 #e0e0e0;background:rgba(64,64,64,.05)}router-view.offerta .offer-box .right-side h2{padding:3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset .5px 0 0 0 #e0e0e0;background:#fff}router-view.offerta .offer-box .right-side .wrapper-services .flat-service{padding:3rem;border-radius:3px;background:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side .wrapper-services .flat-service:not(:last-child){box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-box .right-side .wrapper-services .flat-service h3{font-size:1.4rem;font-weight:800;color:#404040}router-view.offerta .offer-box .right-side .wrapper-services .flat-service p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .description{font-size:1.3rem;line-height:1.2}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4{font-size:1.1rem;line-height:1.1;font-weight:800;text-transform:uppercase}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing p{font-size:1.2rem}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .form{padding:3rem;box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.offerta .activated-wrapper{padding:2rem 3rem}router-view.offerta .activated-wrapper>h1{margin:0;font-size:3.5rem}router-view.offerta .activated-wrapper>p{display:flex;align-items:center;margin:0;padding:0;height:4rem;font-size:1.8rem;color:#1cc800}router-view.offerta .activated-wrapper>p i{font-size:2rem}router-view.offerta .offer-footer>p{display:block;padding:2rem;font-size:1.6rem;color:#fff}router-view.offerta .offer-footer>p.activated-at{background:#1cc800}router-view.offerta .offer-footer>p.email-already-stored,router-view.offerta .offer-footer>p.authenticated-activated,router-view.offerta .offer-footer>p.authenticated-no-permissions{background:#404040}router-view.offerta .offer-footer>p>i{font-size:2rem;color:#fff;vertical-align:text-bottom}router-view.offerta .offer-footer>p small{display:block;margin-left:3rem}router-view.offerta.already-activated{display:flex;align-items:center;padding:2rem;font-size:1.6rem;background:#404040;color:#fff}@keyframes pulse-button{0%{transform:scale(1)}10%{transform:scale(1.08)}20%{transform:scale(1)}30%{transform:scale(1.08)}45%{transform:scale(1)}}@keyframes ribbon-entrance{0%{opacity:0;width:0;color:rgba(0,0,0,0)}100%{opacity:1;width:21rem;color:#fff}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/landing/offerta.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$ribbon-height: 3rem\\nrouter-view.offerta\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n  > img\\n    position: absolute\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    object-fit: cover\\n    opacity: .06\\n  .offer-header\\n    display: grid\\n    grid-auto-columns: 1fr\\n    grid-auto-flow: column\\n    align-items: center\\n    padding: 2rem 3rem\\n    box-shadow: inset 0 -1px 0 0 #e0e0e0\\n    > img\\n      justify-self: start\\n      height: 3.5rem\\n    > p\\n      justify-self: center\\n      line-height: 1\\n    > a,i\\n      justify-self: end\\n      font-size: 2.7rem\\n      text-decoration: none\\n      color: $secondary-color\\n      cursor: pointer\\n  .offer-box\\n    width: 80vw\\n    max-width: 120rem\\n    border-radius: 3px\\n    background-color: #f9f9f9\\n    box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n    h1\\n      color: #000\\n      font-size: 4rem\\n    h2\\n      border: 0\\n      font-size: 1.8rem\\n      line-height: 1.2\\n    .alert\\n      > strong, small\\n        display: block\\n        line-height: 1\\n        font-size: 1.4rem\\n      > strong\\n        font-size: 1.6rem\\n      .to-login\\n        display: inline-block\\n        text-decoration: underline\\n        text-underline-offset: .2rem\\n        color: $primary-color\\n        > i\\n          font-size: 1.8rem\\n          vertical-align: middle\\n    .activation-button\\n      padding: 0 3rem\\n      height: unset\\n      border: 1px solid darken($secondary-color, 6%)\\n      line-height: 4.5rem\\n      font-size: 1.5rem\\n      background: linear-gradient(rgba($secondary-color, .9), darken($secondary-color, 6%))\\n      &.activable\\n        border: 1px solid darken($primary-color, 6%)\\n        animation: 2.1s ease-in-out infinite pulse-button\\n        background: linear-gradient(rgba($primary-color, .9), darken($primary-color, 6%))\\n\\n    // Left side\\n    .left-side\\n      box-shadow: inset -.5px 0 0 0 #e0e0e0\\n      padding: 3rem\\n      p\\n        font-size: 1.6rem\\n      h3\\n        font-size: 1.6rem\\n      small\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 1\\n      .ribbon\\n        display: flex\\n        align-items: center\\n        position: relative\\n        z-index: 3\\n        width: 21rem\\n        height: $ribbon-height\\n        font-size: calc(#{$ribbon-height} - 1.1rem)\\n        color: #fff\\n        background: $primary-color\\n        animation: .5s ease-in-out ribbon-entrance\\n        box-shadow: 5px 5px 5px 0 rgba(#000, 0.1)\\n        &:before, &::after\\n          display: block\\n          position: absolute\\n          content: ''\\n        &:before\\n          position: absolute\\n          content: ''\\n          height: 0\\n          width: 0\\n          left: 0\\n          bottom: calc((#{$ribbon-height} / 3) * -1)\\n          border-top: calc(#{$ribbon-height} / 3) solid #c14b1f\\n          border-left: calc(#{$ribbon-height} / 3) solid transparent\\n        &:after\\n          top: 0\\n          left: auto\\n          right: calc(#{$ribbon-height} * -1)\\n          border: calc(#{$ribbon-height} / 2) solid $primary-color\\n          border-right-color: transparent\\n\\n    // Right side\\n    .right-side\\n      box-shadow: inset .5px 0 0 0 #e0e0e0\\n      background: rgba($text-color, 0.05)\\n      h2\\n        padding: 3rem\\n        box-shadow: inset 0 -1px 0 0 #e0e0e0, inset .5px 0 0 0 #e0e0e0\\n        background: #fff\\n      .wrapper-services\\n        .flat-service\\n          padding: 3rem\\n          border-radius: 3px\\n          background: transparent\\n          &:not(:last-child)\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0\\n          h3\\n            font-size: 1.4rem\\n            font-weight: 800\\n            color: $text-color\\n          p, .description\\n            font-size: 1.3rem\\n            line-height: 1.2\\n          .activability, .duration, .price, .billing\\n            h4\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              font-weight: 800\\n              text-transform: uppercase\\n            p\\n              font-size: 1.2rem\\n          .activability h4:before\\n            @include fontawesome(\\\"\\\\f073\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .duration h4:before\\n            @include fontawesome(\\\"\\\\f34E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .price h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .billing h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n\\n  .form \\n    padding: 3rem // 0 // 3rem // 2rem\\n    box-shadow: inset 0 1px 0 0 #e0e0e0\\n\\n  .activated-wrapper\\n    padding: 2rem 3rem\\n    > h1\\n      margin: 0\\n      font-size: 3.5rem\\n    > p\\n      display: flex\\n      align-items: center\\n      margin: 0\\n      padding: 0\\n      height: 4rem\\n      font-size: 1.8rem\\n      color: $success-color\\n      i\\n        font-size: 2rem\\n\\n  .offer-footer > p\\n    display: block\\n    padding: 2rem\\n    font-size: 1.6rem\\n    color: #fff\\n    &.activated-at\\n      background: $success-color\\n    &.email-already-stored, &.authenticated-activated, &.authenticated-no-permissions\\n      background: $text-color\\n    > i\\n      font-size: 2rem\\n      color: #fff\\n      vertical-align: text-bottom\\n    small\\n      display: block\\n      margin-left: 3rem\\n\\n  &.already-activated\\n    display: flex\\n    align-items: center\\n    padding: 2rem\\n    font-size: 1.6rem\\n    background: $text-color\\n    color: #fff\\n\\n// Animation \\n@keyframes pulse-button\\n  0%\\n    transform: scale(1)\\n  10%\\n    transform: scale(1.08)\\n  20%\\n    transform: scale(1)   \\n  30%\\n    transform: scale(1.08)\\n  45%\\n    transform: scale(1)\\n\\n@keyframes ribbon-entrance\\n  0%\\n    opacity: 0\\n    width: 0\\n    color: transparent\\n  100%\\n    opacity: 1\\n    width: 21rem\\n    color: #fff\\n\\n  \",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.registrazione{position:relative;height:100%;max-height:100vh}router-view.registrazione .wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;position:relative;z-index:10}router-view.registrazione .wrapper .header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .header>img{justify-self:start;height:3.5rem}router-view.registrazione .wrapper .header>a,router-view.registrazione .wrapper .header i{justify-self:end;font-size:2.5rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.registrazione .wrapper .box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.registrazione .wrapper .box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.registrazione .wrapper .box .step-section{position:relative;width:100%}router-view.registrazione .wrapper .box .step-section:before{position:absolute;display:block;content:\\\"\\\";bottom:0;left:.15rem;width:calc(100% - .3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section:nth-of-type(2):before{display:none}router-view.registrazione .wrapper .box .step-section:last-of-type:before{display:block;left:-1.5rem;width:calc(100% + 3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy{margin:.5rem 0 0}router-view.registrazione .wrapper .box .step-section.privacy .row{position:relative;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>p{display:inline-block;padding:1rem;margin:0;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col]:first-of-type{box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.2rem}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio{display:flex;align-items:center}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:checked:before{transform:scale(1)}@media screen and (max-width: 767px){router-view.registrazione .wrapper{max-width:100vw;height:fit-content;overflow-x:hidden}router-view.registrazione .wrapper .box{width:100vw;max-width:100vw;height:fit-content}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/landing/registrazione.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,0BACE,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,mCACE,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,UAAA,CACA,2CACE,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,mCAAA,CACA,+CACE,kBAAA,CACA,aAAA,CACF,0FACE,gBAAA,CACA,gBAAA,CACA,oBAAA,CACA,aC1BU,CD2BV,cAAA,CACJ,wCACE,UAAA,CACA,gBAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,CACA,2CACE,QAAA,CACA,gBAAA,CACA,eAAA,CACF,sDACE,iBAAA,CACA,UAAA,CACA,6DACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,wBAAA,CACA,UAAA,CACA,kBAAA,CACF,4EACE,YAAA,CACF,0EACE,aAAA,CACA,YAAA,CACA,uBAAA,CACA,UAAA,CACA,kBAAA,CAEF,8DACE,gBAAA,CACA,mEACE,iBAAA,CACA,kCAAA,CACA,qEACE,oBAAA,CACA,YAAA,CACA,QAAA,CACA,mCAAA,CAEA,iGACE,mCAAA,CACF,4FACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,oGACE,oBAAA,CACA,eAAA,CACA,aC1FL,CD2FG,yGACE,YAAA,CACA,kBAAA,CACA,+GACE,aC/FP,CDgGO,kBAAA,CACF,+GACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,sHACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,8HACE,kBAAA,CAEpB,qCACE,mCACE,eAAA,CACA,kBAAA,CACA,iBAAA,CACA,wCACE,WAAA,CACA,eAAA,CACA,kBAAA,CAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.registrazione\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  .wrapper\\n    display: flex\\n    flex-direction: column\\n    justify-content: center\\n    align-items: center\\n    height: 100%\\n    position: relative \\n    z-index: 10\\n    .header\\n      display: grid\\n      grid-auto-columns: 1fr\\n      grid-auto-flow: column\\n      align-items: center\\n      box-shadow: inset 0 -1px 0 0 #e0e0e0\\n      > img\\n        justify-self: start\\n        height: 3.5rem\\n      > a,i\\n        justify-self: end\\n        font-size: 2.5rem\\n        text-decoration: none\\n        color: $secondary-color\\n        cursor: pointer\\n    .box\\n      width: 80vw\\n      max-width: 120rem\\n      border-radius: 3px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      h2\\n        border: 0\\n        font-size: 1.8rem\\n        line-height: 1.2\\n      .step-section\\n        position: relative\\n        width: 100%\\n        &:before\\n          position: absolute\\n          display: block\\n          content: ''\\n          bottom: 0\\n          left: .15rem\\n          width: calc(100% - (0.15rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n        &:nth-of-type(2):before\\n          display: none\\n        &:last-of-type:before\\n          display: block\\n          left: -1.5rem\\n          width: calc(100% + (1.5rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n\\n        &.privacy\\n          margin: .5rem 0 0\\n          .row\\n            position: relative\\n            box-shadow: inset 0 0 0 1px #e0e0e0\\n            > p\\n              display: inline-block\\n              padding: 1rem\\n              margin: 0\\n              box-shadow: inset 0 -1px 0 0 #e0e0e0\\n            > div[class^=\\\"col\\\"]\\n              &:first-of-type\\n                box-shadow: inset -1px 0 0 0 #e0e0e0\\n              fieldset\\n                margin-inline-start: 0\\n                margin-inline-end: 0\\n                padding-block-start: 0\\n                padding-inline-start: 0\\n                padding-inline-end: 0\\n                padding-block-end: 0\\n                min-inline-size: min-content\\n                border-width: 0\\n                border-style: none\\n                height: 100%\\n                font-size: 1.2rem\\n\\n                .legend\\n                  display: inline-block\\n                  margin: 0 0 1rem\\n                  color: $text-color\\n                .input-radio\\n                  display: flex\\n                  align-items: center\\n                  label\\n                    color: $text-color\\n                    white-space: nowrap                 \\n                  input\\n                    display: flex\\n                    align-items: center\\n                    justify-content: center\\n                    flex-shrink: 0\\n                    margin: 0\\n                    margin-right: .5rem\\n                    font: inherit\\n                    background-color: #fff\\n                    width: 1.5rem\\n                    height: 1.5rem\\n                    border: 0.15rem solid $text-color\\n                    border-radius: 50%\\n                    cursor: pointer\\n                    appearance: none              \\n                    &:before\\n                      content: \\\"\\\"\\n                      width: .8rem\\n                      height: .8rem\\n                      border-radius: 50%\\n                      transform: scale(0)\\n                      transition: .2s transform ease-in-out\\n                      box-shadow: inset 1em 1em $primary-color\\n                    &:checked:before\\n                      transform: scale(1)\\n\\n  @media screen and (max-width: 767px)\\n    .wrapper\\n      max-width: 100vw\\n      height: fit-content\\n      overflow-x: hidden\\n      .box\\n        width: 100vw\\n        max-width: 100vw\\n        height: fit-content\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.multicerta-invite .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.multicerta-invite .step-box .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.multicerta-invite .step-box .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.multicerta-invite .step-box .step-description{margin:0;padding:1rem}router-view.multicerta-invite .step-box .step-description p{margin:0}router-view.multicerta-invite .step-box .step-description ka-button,router-view.multicerta-invite .step-box .step-description .ka-button{margin:0}router-view.multicerta-invite .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.multicerta-invite .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.multicerta-invite .step-separator{display:none}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicerta/invite.scss\"],\"names\":[],\"mappings\":\"AAAA,wCACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,qDAEA,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,oDAGF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,0DAGF,QACE,CAAA,YACA,CAAA,4DACA,QAAA,CAAA,yIACA,QAAA,CAAA,8CAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,oDAEA,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAIJ,8CAAA,YAAA,CAAA\",\"sourcesContent\":[\"router-view.multicerta-invite {\\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  \\n    .step-number {\\n      display: inline-block;\\n      margin-right: 1rem;\\n      border-radius: 50%;\\n      width: 3rem;\\n      height: 3rem;\\n      font-size: 2rem;\\n      line-height: 3rem;\\n      text-align: center;\\n      vertical-align: top;\\n      color: #ffffff;\\n      background-color: #ed5923;\\n      background-color: #11254b;\\n    }\\n    \\n    .step-title {\\n      display: inline-block;\\n      margin: 0;\\n      font-size: 1.6rem;\\n      line-height: 3rem;\\n      color: #ed5923;\\n      color: #11254b;\\n    }\\n    \\n    .step-description {\\n      margin: 0;\\n      padding: 1rem;\\n      p { margin: 0; }\\n      ka-button, .ka-button { margin: 0; }\\n    }\\n  }\\n  \\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  \\n    &:after {\\n      content: \\\"▶\\\";\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      z-index: -1;\\n      font-size: 1.8rem;\\n      color: #e0e0e0;\\n      transform: translate(-50%, -50%);\\n    }\\n  }\\n  \\n  @media screen and (max-width: 62em) { .step-separator { display: none; } }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ka-tooltip.visible .points-transaction-history-info-tooltip-status{padding:0;margin:0 0 0 1rem;font-size:1.2rem;color:#fff !important}router-view.multicoin-points-transaction-history .interactive{text-decoration:underline;text-underline-offset:.3rem;transition:color .3s ease;cursor:pointer}router-view.multicoin-points-transaction-history .interactive:hover{color:#e44c13 !important}router-view.multicoin-points-transaction-history h2.table-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.multicoin-points-transaction-history h2.table-title>p{line-height:1.2}router-view.multicoin-points-transaction-history h2.table-title>p>span[static-tooltip]:hover{color:#404040;transition:color .3s}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container{display:flex;margin-left:1rem;flex-wrap:nowrap;align-items:center;justify-content:space-between}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points{display:flex;align-items:center}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag{padding:.6rem 1rem;border-radius:.4rem}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points:not(:last-child):after{display:flex;justify-content:center;content:\\\"+\\\";width:2.5rem;font-weight:400;font-size:1.8rem;color:#000;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag{padding:0;text-shadow:none;background:unset;box-shadow:none}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:after{background:unset}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total:after{content:\\\"=\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child{line-height:1;vertical-align:text-bottom;font-size:1.8rem;font-weight:600;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child:after{content:\\\"pt.\\\";font-weight:400;font-size:1.5rem;padding-left:.3rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2+.table-band{margin-top:-1rem}router-view.multicoin-points-transaction-history .table-band{display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 0 0 #e0e0e0;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}router-view.multicoin-points-transaction-history .table-band>.banner-message{display:flex;align-items:center;box-shadow:none;margin:0 1rem;padding:.4rem 1rem}router-view.multicoin-points-transaction-history .table-band>.banner-message>p{margin:0}router-view.multicoin-points-transaction-history .table-band>.banner-message>p strong{font-weight:500;color:#000}router-view.multicoin-points-transaction-history .table-band>.banner-message>p strong>i{display:none}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.card-message.BASE-PLUS:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#2365de;vertical-align:middle;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.card-message.BASE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.card-message.SILVER:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(0,0,0,.7);vertical-align:middle;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.card-message.GOLD:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ffb100;vertical-align:middle;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.card-message+.registration-message:before{display:inline-block;content:\\\"\\\";height:1.5rem;width:1px;background:#b1b1b1;margin-left:1rem;margin-right:1rem;vertical-align:text-bottom}router-view.multicoin-points-transaction-history .table-band>.banner-message>p>.no-card-message>span{text-decoration:underline;text-underline-offset:.3rem}router-view.multicoin-points-transaction-history .table-band .table-buttons{display:flex;align-content:center}router-view.multicoin-points-transaction-history table{overflow:visible}router-view.multicoin-points-transaction-history table th.info-tooltip>span{cursor:pointer}router-view.multicoin-points-transaction-history table th.info-tooltip>span:hover{color:#ed5a23;transition:color .3s}router-view.multicoin-points-transaction-history table th.info-tooltip>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.created-at{font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>.data,router-view.multicoin-points-transaction-history table td.created-at>div>.data{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>div{color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p{margin:0;font-family:\\\"Roboto slab\\\",\\\"serif\\\"}router-view.multicoin-points-transaction-history table td.source>p.source-type{font-size:1.4rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\";color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason{color:rgba(64,64,64,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:before{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0 .2rem 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.8);vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover{color:#ed5a23}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover:before{color:#ed5a23}router-view.multicoin-points-transaction-history table td.points>span{font-size:1.5rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points>span:after{content:\\\"pt\\\";padding-left:.3rem}router-view.multicoin-points-transaction-history table td.points.secondary>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.pending>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.pending.transfer-error.pending>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(0,0,0,.5);vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#159500;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation{margin:.3rem 0 0;font-size:1.4rem;color:rgba(64,64,64,.6);font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail{color:rgba(0,0,0,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .5rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:middle;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:hover{color:crimson}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending{color:#000;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details{position:relative}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p{margin:.5rem 0;font-family:\\\"Roboto condensed\\\",sans-serif;font-size:1.4rem;color:rgba(64,64,64,.6);cursor:pointer;transition:color .3s}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.text{margin-right:.5rem}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion{color:rgba(0,0,0,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s;white-space:nowrap}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion:hover{color:crimson;transition:color .3s}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion:before{transition:all .3s;display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper{display:flex;align-items:flex-end;position:absolute;z-index:2;height:0;overflow:hidden;transition:height .4s ease-in-out}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper>p{position:relative;padding:2rem;color:#fff;background:#232d3d;border-radius:.3rem;font-weight:300;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper>p:before{content:\\\"\\\";position:absolute;top:-10px;left:30px;width:0;height:0;border:10px solid rgba(0,0,0,0);border-bottom-color:#11254b;border-top:0}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p{color:#404040}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p>.accordion{color:crimson;transform:scale(1.5)}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p>.accordion:before{transform:rotate(180deg);display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#000;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicoin/points-transaction-history.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.ka-tooltip.visible\\n  .points-transaction-history-info-tooltip-status\\n    padding: 0\\n    margin: 0 0 0 1rem\\n    font-size: 1.2rem\\n    color: #fff !important\\nrouter-view.multicoin-points-transaction-history\\n  .interactive\\n    text-decoration: underline\\n    text-underline-offset: .3rem\\n    transition: color .3s ease\\n    cursor: pointer\\n    &:hover\\n      color: darken($primary-color, 5%) !important\\n  h2.table-title\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > p\\n      line-height: 1.2\\n      > span[static-tooltip]:hover\\n        color: $text-color\\n        transition: color .3s\\n    > .multicoin-points-container\\n      display: flex\\n      margin-left: 1rem\\n      flex-wrap: nowrap\\n      align-items: center\\n      justify-content: space-between\\n      > .multicoin-points\\n        display: flex\\n        align-items: center\\n        .new-tag\\n          padding: .6rem 1rem\\n          border-radius: .4rem\\n        &:not(:last-child)\\n          &:after\\n            display: flex\\n            justify-content: center\\n            content: '+'\\n            width: 2.5rem\\n            font-weight: 400\\n            font-size: 1.8rem\\n            color: #000\\n            font-family: 'Roboto mono', 'sans-serif'\\n        &.total\\n          > .new-tag\\n            padding: 0\\n            text-shadow: none\\n            background: unset\\n            box-shadow: none\\n            &:after\\n              background: unset\\n            &:before\\n              @include fontawesome('\\\\f4d3', 'regular', 2rem, 0 .3rem 0 0, $primary-color)\\n          &:after\\n            content: '='\\n        .new-tag\\n          > span:last-child\\n            line-height: 1\\n            vertical-align: text-bottom\\n            font-size: 1.8rem\\n            font-weight: 600\\n            font-family: 'Roboto mono', 'sans-serif'\\n            &:after\\n              content: 'pt.'\\n              font-weight: 400\\n              font-size: 1.5rem\\n              padding-left: .3rem\\n              font-family: 'Roboto condensed', 'sans-serif'\\n\\n  h2 + .table-band\\n    margin-top: -1rem\\n  .table-band\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    box-shadow: 0 1px 0 0 #e0e0e0\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .02) 0, rgba(#000, .02) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n    > .banner-message\\n      display: flex\\n      align-items: center\\n      box-shadow: none\\n      margin: 0 1rem\\n      padding: .4rem 1rem\\n      > p\\n        margin: 0\\n        strong\\n          font-weight: 500\\n          color: #000\\n          > i\\n            display: none\\n        > .card-message\\n          &.BASE-PLUS:before\\n            @include fontawesome('\\\\f389', 'solid', inherit, 0 .5rem 0 0, #2365de, middle)\\n          &.BASE:before\\n            @include fontawesome('\\\\f389', 'solid', inherit, 0 .5rem 0 0, $primary-color, middle)\\n          &.SILVER:before\\n            @include fontawesome('\\\\f389', 'solid', inherit, 0 .5rem 0 0, rgba(#000, .7), middle)\\n          &.GOLD:before\\n            @include fontawesome('\\\\f389', 'solid', inherit, 0 .5rem 0 0, #ffb100, middle)\\n          & + .registration-message\\n            &:before\\n              display: inline-block\\n              content: ''\\n              height: 1.5rem\\n              width: 1px\\n              background: #b1b1b1\\n              margin-left: 1rem\\n              margin-right: 1rem\\n              vertical-align: text-bottom\\n        > .no-card-message > span\\n          text-decoration: underline\\n          text-underline-offset: .3rem\\n\\n    .table-buttons\\n      display: flex\\n      align-content: center\\n\\n  table\\n    overflow: visible\\n    th.info-tooltip\\n      > span\\n        cursor: pointer\\n        &:hover\\n          color: $primary-color\\n          transition: color .3s\\n        &:before\\n          @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 .5rem 0 0, darken($primary-color, 5%))\\n    td.created-at\\n      font-family: 'Roboto condensed', 'sans-serif'\\n      > .data, > div > .data\\n        font-family: 'Roboto mono', 'sans-serif'\\n      > div\\n        color: rgba($text-color, .6)\\n    td.source\\n      > p\\n        margin: 0\\n        font-family: 'Roboto slab', 'serif'\\n        &.source-type\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', 'sans-serif'\\n          color: rgba($text-color, .6)\\n          > .reason\\n            color: rgba($text-color, .8)\\n            text-decoration: underline\\n            text-underline-offset: .3rem\\n            transition: color .3s\\n            &:before\\n              transition: color .3s\\n              @include fontawesome('\\\\f4a6', 'regular', 1.2rem, 0 .2rem 0 .2rem, rgba($text-color, .8))\\n            &:hover\\n              color: $primary-color\\n              &:before\\n                color: $primary-color\\n    td.points\\n      > span\\n        font-size: 1.5rem\\n        font-family: 'Roboto mono', 'sans-serif'\\n        &:after\\n          content: 'pt'\\n          padding-left: .3rem\\n      &.secondary\\n        > span:before\\n          @include fontawesome('\\\\f353', 'regular', 1.6rem, 0 .8rem 0 0, $secondary-color)\\n      &.pending\\n        > span:before\\n          @include fontawesome('\\\\f51e', 'regular', 1.6rem, 0 .8rem 0 0, $pending-color)\\n      &.pending.transfer-error.pending\\n        > span:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.6rem, 0 .8rem 0 0, rgba(#000, .5))\\n      &.success\\n        > span:before\\n          @include fontawesome('\\\\f062', 'regular', 1.6rem, 0 .8rem 0 0, darken($success-color, 10%))\\n      &.error\\n        > span:before\\n          @include fontawesome('\\\\f00d', 'regular', 1.6rem, 0 .8rem 0 0, crimson)\\n      .accreditation\\n        margin: .3rem 0 0\\n        font-size: 1.4rem\\n        color: rgba($text-color, .6)\\n        font-family: 'Roboto condensed', 'sans-serif'\\n        .failed-accreditation-detail\\n          color: rgba(#000, .8)\\n          text-decoration: underline\\n          text-underline-offset: .3rem\\n          transition: color .3s\\n          &:before\\n            @include fontawesome('\\\\f35d', 'regular', 1.2rem, 0 .5rem 0 .5rem, crimson, middle)\\n          &:hover\\n            color: crimson\\n\\n    td.type\\n      .transfer-error.pending\\n        color: #000\\n        background: #f3f3f3\\n        box-shadow: inset 0 0 0 1px #bdbdbd\\n      .transfer-error.pending + .transfer-error-details\\n        position: relative\\n        > p\\n          margin: .5rem 0\\n          font-family: 'Roboto condensed', sans-serif\\n          font-size: 1.4rem\\n          color: rgba($text-color, .6)\\n          cursor: pointer\\n          transition: color .3s\\n          > .text\\n            margin-right: .5rem\\n          > .accordion\\n            color: rgba(#000, .8)\\n            text-decoration: underline\\n            text-underline-offset: .3rem\\n            transition: color .3s\\n            white-space: nowrap\\n            &:hover\\n              color: crimson\\n              transition: color .3s\\n            &:before\\n              transition: all .3s\\n              @include fontawesome('\\\\f13a', 'regular', 1.4rem, 0 .5rem 0 0, crimson)  \\n        > .wrapper\\n          display: flex\\n          align-items: flex-end\\n          position: absolute\\n          z-index: 2\\n          height: 0\\n          overflow: hidden\\n          transition: height .4s ease-in-out\\n          > p\\n            position: relative\\n            padding: 2rem\\n            color: #fff\\n            background: #232d3d\\n            border-radius: .3rem\\n            font-weight: 300\\n            font-family: 'Roboto condensed', sans-serif\\n            &:before\\n              content: ''\\n              position: absolute\\n              top: -10px\\n              left: 30px\\n              width: 0\\n              height: 0\\n              border: 10px solid transparent\\n              border-bottom-color: $secondary-color\\n              border-top: 0\\n      .transfer-error.pending.open + .transfer-error-details\\n        > p\\n          color: $text-color\\n          > .accordion\\n            color: crimson\\n            transform: scale(1.5)\\n            &:before\\n              transform: rotate(180deg)\\n              @include fontawesome('\\\\f057', 'regular', 1.4rem, 0 .5rem 0 0, #000)  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.notificheui-anteprima{width:unset !important;max-width:calc(100vw - 6rem)}ux-dialog.notificheui-anteprima h2{display:flex;align-items:center;padding:0 1rem;min-height:5.1rem;line-height:1.5}ux-dialog.notificheui-anteprima .body{padding:1rem;overflow-x:auto}ux-dialog.notificheui-anteprima .footer{display:block;padding:.5rem;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass\"],\"names\":[],\"mappings\":\"AAEA,gCACE,sBAAA,CACA,4BAAA,CACA,mCACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACF,sCACE,YAAA,CACA,eAAA,CACF,wCACE,aAAA,CACA,aAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.notificheui-anteprima\\n  width: unset !important\\n  max-width: calc(100vw - 6rem)\\n  h2\\n    display: flex\\n    align-items: center\\n    padding: 0 1rem\\n    min-height: 5.1rem\\n    line-height: 1.5\\n  .body \\n    padding: 1rem\\n    overflow-x: auto\\n  .footer \\n    display: block\\n    padding: .5rem\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.notifiche{max-height:100vh;overflow:hidden}router-view.notifiche ka-tabs>nav>a.alert>span{margin-left:.5rem;color:#11254b}router-view.notifiche ka-tabs>nav>a.alert>span:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}router-view.notifiche ka-tabs>nav>a.alert:not(.active)::before{color:rgba(64,64,64,.4)}router-view.notifiche ka-tab{position:relative}router-view.notifiche ka-tab>.row{height:100%;margin:0}router-view.notifiche ka-tab>.row h2{margin:0}router-view.notifiche ka-tab>.row .users,router-view.notifiche ka-tab>.row .notifications{padding:0}router-view.notifiche ka-tab>.row .users>ul,router-view.notifiche ka-tab>.row .notifications>ul{list-style:none;margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style{margin:0;padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.notifiche ka-tab>.row .users>ul.templates{height:calc(100vh - 6rem - 5rem - 5.1rem - 7rem)}router-view.notifiche ka-tab>.row .users>ul.subusers{height:calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)}router-view.notifiche ka-tab>.row .users>ul.templates,router-view.notifiche ka-tab>.row .users ul.subusers{overflow-y:auto}router-view.notifiche ka-tab>.row .users>ul.templates>li,router-view.notifiche ka-tab>.row .users ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.notifiche ka-tab>.row .users>ul.templates>li>.label,router-view.notifiche ka-tab>.row .users ul.subusers>li>.label{font-size:1.3rem;letter-spacing:-0.5px;display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}router-view.notifiche ka-tab>.row .users>ul.templates>li>.counter,router-view.notifiche ka-tab>.row .users ul.subusers>li>.counter{position:relative;flex-shrink:0;height:calc(4rem/2);width:calc(4rem/2);margin-left:1rem;font-size:1rem;text-align:center;background:#ed5a23;border-radius:50%;border:0;color:#fff}router-view.notifiche ka-tab>.row .users>ul.templates>li:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(.selected):hover:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.notifiche ka-tab>.row .users>ul.templates>li.selected,router-view.notifiche ka-tab>.row .users ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.notifiche ka-tab>.row .users>ul.templates>li{justify-content:flex-start;line-height:1.1}router-view.notifiche ka-tab>.row .users>ul.templates>li>i{position:relative;flex-shrink:0;width:3rem;font-size:1.7rem;color:#ed5a23}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(:first-child)>i:after{position:absolute;top:20%;left:46%;display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:middle;animation:unset;font-weight:300;transform:rotate(90deg)}router-view.notifiche ka-tab>.row>.notifications{height:100vh;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922)}router-view.notifiche ka-tab>.row>.notifications>md-table-progressbar{margin-top:-0.2rem;background:#e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar{margin-top:-0.1rem;background:#fff;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922),inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar>md-table-progressbar{display:none}router-view.notifiche ka-tab>.row>.notifications>ul{height:calc(100vh - 6rem - 5rem - 5.1rem - 4rem);overflow-y:auto;padding:.5rem .5rem 0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{display:flex;margin-bottom:.5rem;justify-content:flex-start;height:calc(4rem*3);z-index:2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{margin:0;padding:1.5rem;height:100%;width:100%;background:#f2f2f2;box-shadow:inset 0 0 0 1px rgba(17,37,75,.15),0 0 5px 0 rgba(17,37,75,.1);border-radius:.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>div[class*=col-],router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box .col{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{flex-grow:0;margin:-1.5rem 0;padding:2rem 1.5rem 0 0;box-shadow:inset -1px 0 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button{margin:0;padding:0;background:inherit;box-shadow:none}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button:hover{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i{padding:0;font-size:2.2rem;color:#11254b}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:before{opacity:.5}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:after{opacity:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i.fa-bell-on{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.3rem;line-height:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title+.preview{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.2rem;font-size:1.2rem;line-height:1.2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:auto;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive.archived{text-decoration:underline;text-underline-offset:.3rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive>i{margin-right:.3rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{display:flex;flex-direction:column;align-items:flex-end;flex-grow:0;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{display:block;white-space:nowrap;text-align:right}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span>i{position:relative;margin-left:.3rem;font-size:1.1rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.received>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.read>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons ka-button{margin:auto 0 0 0;padding:0 1rem;height:3rem;line-height:3rem;text-align:center}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded .checked>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.readed .checked>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row .reading-icon ka-button:hover{background:#f2f2f2}@media screen and (max-width: 768px){router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{height:fit-content}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{display:flex;align-items:center;justify-content:center;margin:0;padding:0;min-width:10vw}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>i{font-size:1.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:flex;flex-direction:column;justify-content:center;padding:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{margin-top:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:1rem !important;box-shadow:0 -1px 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{text-align:left}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons{height:unset !important}}.notification-tooltip{max-width:50vw;overflow:hidden}.notification-tooltip .title{display:block;padding:0 0 .5rem;margin:0 0 .5rem;font-size:1.2rem;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.5)}.notification-tooltip .content{display:block;margin:0;padding:0;font-size:1.2rem;line-height:1.2;color:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/notifiche.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$list-height: 4rem\\nrouter-view.notifiche\\n  max-height: 100vh\\n  overflow: hidden\\n  ka-tabs > nav > a\\n    &.alert\\n      > span\\n        margin-left: 0.5rem\\n        color: $secondary-color\\n        &:after\\n          @include fontawesome(\\\"\\\\f0f3\\\", \\\"regular\\\", 1.2rem, 0 0 0 .2rem, $primary-color, top)\\n      &:not(.active)::before\\n        color: rgba($text-color, 0.4)\\n  ka-tab\\n    position: relative\\n    > .row\\n      height: 100%\\n      margin: 0\\n      h2\\n        margin: 0\\n\\n      // Menu & Notices (common rules)\\n      .users, .notifications\\n        padding: 0\\n        > ul\\n          list-style: none\\n          margin: 0\\n          padding: 0\\n\\n      // Users\\n      .users\\n        // Form\\n        > .app-shared-search-style\\n          margin: 0\\n          padding: 1rem 1rem 1.5rem\\n          box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          > .col-12\\n            margin: 0\\n            padding: 0\\n          > .col-12 + .col-12\\n            margin-top: 1rem\\n\\n        // Subusers\\n        > ul.templates\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 7rem)\\n        > ul.subusers\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)\\n        > ul.templates, ul.subusers\\n          overflow-y: auto\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: space-between\\n            min-height: $list-height\\n            padding: 0 1rem\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n            transition: all 0.3s\\n            cursor: pointer\\n            > .label\\n              font-size: 1.3rem\\n              letter-spacing: -.5px\\n              @include max-lines(1)\\n            > .counter\\n              position: relative\\n              flex-shrink: 0\\n              height: calc(#{$list-height} / 2)\\n              width: calc(#{$list-height} / 2)\\n              margin-left: 1rem\\n              font-size: 1rem\\n              text-align: center\\n              background: $primary-color\\n              border-radius: 50%\\n              border: 0\\n              color: #fff\\n          & > li\\n            &:before\\n              display: block\\n              position: absolute\\n              content: \\\"\\\"\\n              top: 0\\n              left: 50%\\n              height: 100%\\n              width: 100%\\n              background: #11254b08\\n              transform: translateX(-50%) scaleX(30%)\\n              opacity: 0\\n              transition: all 0.3s\\n            &:not(.selected):hover:before\\n              opacity: 1\\n              transform: translateX(-50%) scaleX(100%)\\n            &.selected\\n              background-color: rgba(17, 37, 75, 0.1)\\n              box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n        // Templates\\n        > ul.templates\\n          > li\\n            justify-content: flex-start\\n            line-height: 1.1\\n            > i\\n              position: relative\\n              flex-shrink: 0\\n              width: 3rem\\n              font-size: 1.7rem\\n              color: $primary-color\\n            &:not(:first-child)\\n              > i:after\\n                position: absolute\\n                top: 20%\\n                left: 46%\\n                @include fontawesome(\\\"\\\\f148\\\", \\\"light\\\", 1.2rem, 0, inherit, middle)\\n                transform: rotate(90deg)\\n\\n      // Notifications\\n      > .notifications\\n        height: 100vh\\n        box-shadow: inset 10px 0 10px -10px #00000040\\n        > md-table-progressbar\\n          margin-top: -0.2rem\\n          background: #e0e0e0\\n        > md-table-toolbar\\n          margin-top: -0.1rem\\n          background: #fff\\n          box-shadow: inset 10px 0 10px -10px #00000040, inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n          > md-table-progressbar\\n            display: none\\n        > ul\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 4rem)\\n          overflow-y: auto\\n          padding: 0.5rem 0.5rem 0\\n          > li.notification\\n            display: flex\\n            margin-bottom: 0.5rem\\n            justify-content: flex-start\\n            height: calc(#{$list-height} * 3)\\n            z-index: 2\\n            > .box\\n              margin: 0\\n              padding: 1.5rem\\n              height: 100% \\n              width: 100%\\n              background: #f2f2f2\\n              box-shadow: inset 0 0 0 1px rgba(17, 37, 75, 0.15), 0 0 5px 0 rgba(17, 37, 75, 0.1)\\n              border-radius: 0.5rem\\n              > div[class*=\\\"col-\\\"], .col\\n                padding: 0            \\n              > .reading-icon\\n                flex-grow: 0\\n                margin: -1.5rem 0\\n                padding: 2rem 1.5rem 0 0\\n                box-shadow: inset -1px 0 0 0 rgba(17, 37, 75, 0.15)\\n                > ka-button\\n                  margin: 0\\n                  padding: 0\\n                  background: inherit\\n                  box-shadow: none\\n                  &:hover\\n                    background: #fff    \\n                  > i\\n                    padding: 0\\n                    font-size: 2.2rem\\n                    color: $secondary-color\\n                    &:before\\n                        opacity: 0.5\\n                    &:after\\n                      opacity: 1\\n                    &.fa-bell-on\\n                      color: $primary-color\\n              > .notification-content\\n                @include max-lines(2)\\n                padding: 0 1rem\\n                > .title\\n                  @include max-lines(2)\\n                  font-size: 1.3rem\\n                  line-height: 1\\n                > .title + .preview\\n                  @include max-lines(2)\\n                  margin-top: 0.2rem\\n                  font-size: 1.2rem\\n                  line-height: 1.2\\n                > .archive\\n                  @include max-lines(1)\\n                  margin-top: auto\\n                  font-size: 1.1rem\\n                  line-height: 1.3\\n                  color: rgba($text-color, .6)\\n                  &.archived\\n                    text-decoration: underline\\n                    text-underline-offset: .3rem\\n                  > i\\n                    margin-right: .3rem\\n                    vertical-align: text-top\\n              > .notification-right\\n                display: flex\\n                flex-direction: column\\n                align-items: flex-end\\n                flex-grow: 0\\n                font-size: 1.1rem\\n                line-height: 1.3\\n                color: rgba($text-color, .6)\\n                > .date > span\\n                  display: block\\n                  white-space: nowrap\\n                  text-align: right\\n                  > i\\n                    position: relative\\n                    margin-left: 0.3rem\\n                    font-size: 1.1rem\\n                    vertical-align: text-top\\n                  &.received > i, &.read > i\\n                    color: $primary-color\\n                > .notification-buttons ka-button\\n                  margin: auto 0 0 0\\n                  padding: 0 1rem\\n                  height: 3rem\\n                  line-height: 3rem\\n                  text-align: center\\n            &.unreaded, &.readed\\n              .checked > i\\n                color: $primary-color\\n            &.unreaded > .row\\n              background: #fff\\n              .reading-icon ka-button:hover\\n                background: #f2f2f2\\n\\n      @media screen and (max-width: 768px)\\n        > .notifications\\n          > ul > li.notification\\n            height: fit-content\\n            > .box\\n              padding: 0\\n              > .reading-icon\\n                display: flex\\n                align-items: center\\n                justify-content: center\\n                margin: 0\\n                padding: 0\\n                min-width: 10vw\\n                > i\\n                  font-size: 1.5rem\\n              > .notification-content\\n                display: flex\\n                flex-direction: column\\n                justify-content: center\\n                padding: 1rem\\n                > .archive\\n                  margin-top: 1rem\\n              > .notification-right\\n                flex-direction: row\\n                flex-wrap: wrap\\n                align-items: center\\n                justify-content: space-between\\n                padding: 1rem !important\\n                box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.15)\\n                > .date > span\\n                  text-align: left\\n                > .notification-buttons\\n                  height: unset !important\\n/* Tooltip */\\n.notification-tooltip\\n  max-width: 50vw\\n  overflow: hidden\\n  .title\\n    display: block\\n    padding: 0 0 0.5rem\\n    margin: 0 0 0.5rem\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    border-bottom: 1px solid rgba(#fff, 0.5)\\n  .content\\n    display: block\\n    margin: 0\\n    padding: 0\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    color: #fff\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".alert.small{line-height:1.3 !important}.alert.small:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.alert.regular:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.info{cursor:pointer}.info.regular:after{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.info:hover:after{color:#404040 !important}#copertine .user-subusers,.copertine .user-subusers{display:flex;flex-wrap:wrap;margin:0}#copertine .associations,.copertine .associations{display:block;margin-top:.8rem;text-decoration:underline;cursor:pointer;color:#404040}#copertine .associations:before,.copertine .associations:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:900}#copertine .associations:hover,.copertine .associations:hover{color:#ed5a23}#copertine .default,.copertine .default{color:#e44c13;text-transform:uppercase;font-size:1.1rem}#copertine .default:before,.copertine .default:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/copertine.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,aAGE,0BACE,CAAA,oBACA,oBC6CF,CAAA,WD5CyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCgD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,oBD4CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sBD1DF,oBC2CA,CAAA,WD1CuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBC8C3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,oBD4CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,MDvDJ,cACE,CAAA,oBACA,oBACE,CAAA,oBCqCF,CAAA,WDpCuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCwC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBDlDF,wBACE,CAAA,oDAGF,YACE,CAAA,cACA,CAAA,QACA,CAAA,kDACF,aACE,CAAA,gBACA,CAAA,yBACA,CAAA,cACA,CAAA,aE3BS,CAAA,gEF6BT,oBCqBF,CAAA,WDpByB,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBCwB3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,8DDpCA,aE9BY,CAAA,wCFgCd,aACE,CAAA,wBACA,CAAA,gBACA,CAAA,sDACA,oBCaF,CAAA,WDZyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCgB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n.alert\\n  &.small\\n    line-height: 1.3 !important\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  &.regular:before\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $error-color)\\n\\n.info\\n  cursor: pointer\\n  &.regular:after\\n    transition: color .3s\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $primary-color)\\n  &:hover:after\\n    color: $text-color !important\\n\\n#copertine, .copertine\\n  .user-subusers\\n    display: flex\\n    flex-wrap: wrap\\n    margin: 0\\n  .associations\\n    display: block\\n    margin-top: .8rem\\n    text-decoration: underline\\n    cursor: pointer\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f63d\\\", \\\"solid\\\", 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .default\\n    color: darken($primary-color, 5%)\\n    text-transform: uppercase\\n    font-size: 1.1rem\\n    &:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-cover .body{padding:2rem}ux-dialog.add-cover .body .important:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.add-cover .body .clickable{white-space:nowrap;color:#ed5a23;cursor:pointer;text-decoration:underline;text-underline-offset:.5rem;text-decoration-thickness:1px;font-family:\\\"Roboto condensed\\\",sans-serif;transition:all .3s}ux-dialog.add-cover .body .clickable:hover{color:#404040}ux-dialog.add-cover .body *[static-tooltip]:after{vertical-align:middle}ux-dialog.add-cover .body .layout-title{display:flex;align-items:center;justify-content:center;text-align:center}ux-dialog.add-cover .body .layout-title>*[static-tooltip]>span{text-decoration:underline;text-underline-offset:.3rem}ux-dialog.add-cover .body .document{display:flex;justify-content:center;margin:2rem 0 4rem 0;padding:0;list-style:none}ux-dialog.add-cover .body .document>li{display:inline-block;position:relative;padding:0}ux-dialog.add-cover .body .document>li:after{position:absolute;bottom:-2rem;left:50%;font-size:1rem;font-weight:800;text-transform:uppercase;white-space:nowrap}ux-dialog.add-cover .body .document>li:nth-of-type(1){position:relative;margin-right:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(1):after{content:\\\"Copertina\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(1)>svg{width:8rem}ux-dialog.add-cover .body .document>li:nth-of-type(2){margin:0 1rem}ux-dialog.add-cover .body .document>li:nth-of-type(2):after{content:\\\"2ª e 3ª di copertina (interno)\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(2)>svg{width:15.8rem}ux-dialog.add-cover .body .document>li:nth-of-type(3){margin-left:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(3):after{content:\\\"Retro\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(3)>svg{width:8rem}ux-dialog.add-cover .body .paginated{display:flex;justify-content:center;align-items:center;margin:1rem 0 3rem}ux-dialog.add-cover .body .paginated>svg{width:17.8rem;margin:0 1rem 0 0}ux-dialog.add-cover .body .paginated>svg:last-child{margin:0 0 0 1rem}ux-dialog.add-cover .body .knowledge{margin:0;text-align:center;text-decoration:underline}ux-dialog.add-cover .body .knowledge:hover{color:#ed5a23}ux-dialog.add-cover .body .knowledge>span:first-child{margin-right:-0.3rem}ux-dialog.add-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/add-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,0BAKE,YACE,CAAA,4CACA,oBC2CF,CAAA,WD1CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC8C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDY,CAAA,oBD4CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qCDxDA,kBC6BF,CAAA,aCrCc,CAAA,cDuCd,CAAA,yBACA,CAAA,2BACA,CAAA,6BACA,CAAA,yCACA,CAAA,kBACA,CAAA,2CACA,aC9CW,CAAA,kDFWT,qBACE,CAAA,wCACF,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,iBACA,CAAA,+DAEE,yBACE,CAAA,2BACA,CAAA,oCACN,YACE,CAAA,sBACA,CAAA,oBACA,CAAA,SACA,CAAA,eACA,CAAA,uCACA,oBACE,CAAA,iBACA,CAAA,SACA,CAAA,6CACA,iBACE,CAAA,YACA,CAAA,QACA,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,kBACA,CAAA,sDACF,iBACE,CAAA,iBACA,CAAA,4DACA,mBACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,sDACJ,aACE,CAAA,4DACA,wCACE,CAAA,0BACA,CAAA,0DACF,aACE,CAAA,sDACJ,gBACE,CAAA,4DACA,eACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,qCAER,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,kBACA,CAAA,yCACA,aACE,CAAA,iBACA,CAAA,oDACA,iBACE,CAAA,qCAEN,QACE,CAAA,iBACA,CAAA,yBACA,CAAA,2CACA,aE7EU,CAAA,sDF+EV,oBACE,CAAA,4BACN,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n\\nux-dialog.add-cover\\n  .body\\n    padding: 2rem\\n    .important:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color)\\n    .clickable\\n      @include clickable($primary-color, $text-color)\\n    *[static-tooltip]:after\\n      vertical-align: middle\\n    .layout-title\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      text-align: center\\n      > *[static-tooltip]\\n        > span\\n          text-decoration: underline\\n          text-underline-offset: .3rem       \\n    .document\\n      display: flex\\n      justify-content: center\\n      margin: 2rem 0 4rem 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: inline-block\\n        position: relative\\n        padding: 0\\n        &:after\\n          position: absolute\\n          bottom: - 2rem\\n          left: 50%\\n          font-size: 1rem\\n          font-weight: 800\\n          text-transform: uppercase\\n          white-space: nowrap\\n        &:nth-of-type(1)\\n          position: relative\\n          margin-right: 2rem\\n          &:after\\n            content: 'Copertina'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n        &:nth-of-type(2)\\n          margin: 0 1rem\\n          &:after\\n            content: '2ª e 3ª di copertina (interno)'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 15.8rem\\n        &:nth-of-type(3)\\n          margin-left: 2rem\\n          &:after\\n            content: 'Retro'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n    \\n    .paginated\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      margin: 1rem 0 3rem\\n      > svg\\n        width: 17.8rem\\n        margin: 0 1rem 0 0\\n        &:last-child\\n          margin: 0 0 0 1rem\\n    \\n    .knowledge\\n      margin: 0\\n      text-align: center\\n      text-decoration: underline\\n      &:hover\\n        color: $primary-color\\n      > span:first-child\\n        margin-right: -.3rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.manage-cover .body{padding:1rem 2rem}ux-dialog.manage-cover .body h2{margin:1rem -2rem;font-size:1.8rem}ux-dialog.manage-cover .body h2:before{box-shadow:none}ux-dialog.manage-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/manage-cover.sass\"],\"names\":[],\"mappings\":\"AAIE,6BACE,iBAAA,CACA,gCACE,iBAAA,CACA,gBAAA,CACA,uCACE,eAAA,CAEN,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.manage-cover\\n  .body\\n    padding: 1rem 2rem\\n    h2\\n      margin: 1rem -2rem\\n      font-size: 1.8rem\\n      &:before\\n        box-shadow: none\\n      \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.user-associations-with-the-cover{width:min(50vw,80rem)}ux-dialog.user-associations-with-the-cover .denominazione .user:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .denominazione .subuser:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .body{overflow:hidden}ux-dialog.user-associations-with-the-cover .recipients-counter{color:#404040}ux-dialog.user-associations-with-the-cover .selection-btn{min-width:126.02px}ux-dialog.user-associations-with-the-cover .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2CAGA,qBACE,CAAA,uEAEE,oBC4CF,CAAA,WD3CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC+C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,0EDzDA,oBC0CF,CAAA,WDzCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC6C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDjDmE,CAAA,oBCwCA,CAAA,eAAmB,CAAA,eAgBpF,CAAA,iDDvDF,eACE,CAAA,+DACF,aEZW,CAAA,0DFcX,kBACE,CAAA,yDACF,oBCkCA,CAAA,WDjCuB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCqC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBDgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mDD/CF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.user-associations-with-the-cover\\n  width: min(50vw, 80rem)\\n  .denominazione\\n    .user:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, $primary-color)\\n    .subuser:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, inherit)\\n  .body\\n    overflow: hidden\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert:before\\n    @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n    \\n  \\n\\n\\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.riscossioni-autorizzazioni ka-tabs>nav{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/autorizzazioni.sass\"],\"names\":[],\"mappings\":\"AAGE,mDACE,YAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.riscossioni-autorizzazioni\\n  ka-tabs > nav \\n    display: none\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:2rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 2rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.mav-create-request .body{padding:2rem 1rem}ux-dialog.mav-create-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.mav-create-request .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass\"],\"names\":[],\"mappings\":\"AAGE,mCACE,iBAAA,CACF,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.mav-create-request\\n  .body \\n    padding: 2rem 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#mav .title-warning{color:#404040}#mav .title-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}#mav .status-reason.refused{cursor:pointer;transition:color .3s}#mav .status-reason.refused:hover{color:#404040}#mav .status-reason.refused:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.7);vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/tabs/mav.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,oBAIE,aCJW,CAAA,2BDMT,oBE4CF,CAAA,WF3CyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBE+C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UDrDY,CAAA,oBC4CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BFxDA,cACE,CAAA,oBACA,CAAA,kCACA,aCZO,CAAA,mCDcP,oBEoCJ,CAAA,WFnC2B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBEuC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uBF3C0D,CAAA,oBEkCS,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n#mav\\n  .title-warning\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  .status-reason\\n    &.refused\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n      &:before\\n        @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.2rem, 0, rgba($text-color, .7))\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.riscossioni-mav-inviati h2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;line-height:3}router-view.riscossioni-mav-inviati h2 ka-button{margin:1rem}@media(max-width: 400px){router-view.riscossioni-mav-inviati h2 ka-button{margin-top:0;margin-left:0}}router-view.riscossioni-mav-inviati h2 .last-updated-at{margin-left:1rem;padding-left:1rem;line-height:2rem;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:rgba(64,64,64,.6);box-shadow:inset 1px 0 0 0 rgba(64,64,64,.3)}@media(max-width: 1200px){router-view.riscossioni-mav-inviati h2 .last-updated-at{display:none}}router-view.riscossioni-mav-inviati table>thead th.info-tooltip>span{cursor:pointer}router-view.riscossioni-mav-inviati table>thead th.info-tooltip>span:hover{color:#ed5a23;transition:color .3s}router-view.riscossioni-mav-inviati table>thead th.info-tooltip>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}router-view.riscossioni-mav-inviati table>tbody td{font-size:1.5rem;line-height:1.5;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.riscossioni-mav-inviati table>tbody td small{display:block;line-height:1.5;font-size:1.5rem;white-space:nowrap}router-view.riscossioni-mav-inviati table>tbody td small.reason{white-space:normal;display:-webkit-box;max-width:40rem;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}router-view.riscossioni-mav-inviati table>tbody td .copy-text:hover{color:#ed5a23 !important}router-view.riscossioni-mav-inviati table>tbody td .interactive{cursor:pointer;transition:color .3s ease}router-view.riscossioni-mav-inviati table>tbody td .interactive:hover{color:#c41 !important}router-view.riscossioni-mav-inviati table>tbody td .link.external:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.riscossioni-mav-inviati table>tbody td.created-at{font-family:\\\"Roboto mono\\\",sans-serif}router-view.riscossioni-mav-inviati table>tbody td.created-at>div{font-family:\\\"Roboto condensed\\\",sans-serif;color:rgba(64,64,64,.6)}router-view.riscossioni-mav-inviati table>tbody td.amount{font-size:1.6rem;line-height:1.5;font-family:\\\"Roboto mono\\\",sans-serif;white-space:nowrap}router-view.riscossioni-mav-inviati table>tbody td.management>div{display:flex;justify-content:flex-end}@media(max-width: 575px){router-view.riscossioni-mav-inviati table>tbody td.management>div{display:block;padding:1rem;padding-left:0}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/sent-mavs/sent-mavs.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uCAIE,YACE,CAAA,cACA,CAAA,6BACA,CAAA,kBACA,CAAA,aACA,CAAA,iDACA,WACE,CAAA,yBACA,iDAFF,YAGI,CAAA,aACA,CAAA,CAAA,wDACJ,gBACE,CAAA,iBACA,CAAA,gBACA,CAAA,gBACA,CAAA,yCACA,CAAA,uBACA,CAAA,4CACA,CAAA,0BACA,wDARF,YASI,CAAA,CAAA,qEAGF,cACE,CAAA,2EACA,aC5BQ,CAAA,oBD8BN,CAAA,4EACF,oBEkBN,CAAA,WFjB6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEqBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFzBsE,CAAA,oBEgBH,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mDF/BA,gBACE,CAAA,eACA,CAAA,yCACA,CAAA,yDACA,aACE,CAAA,eACA,CAAA,gBACA,CAAA,kBACA,CAAA,gEACA,kBACE,CAAA,mBE0BR,CAAA,eFzB8B,CAAA,eE2B9B,CAAA,sBACA,CAAA,YF5B2B,CAAA,oBAAA,CAAA,2BE+B3B,CAAA,oEF9BI,wBACE,CAAA,gEACF,cACE,CAAA,yBACA,CAAA,sEACA,qBACE,CAAA,wEACJ,oBEHJ,CAAA,WFI2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBAAA,CAAA,mBEC/C,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UFJoE,CAAA,oBELD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,8DFVE,oCACE,CAAA,kEACA,yCACE,CAAA,uBACA,CAAA,0DACJ,gBACE,CAAA,eACA,CAAA,oCACA,CAAA,kBACA,CAAA,kEAEA,YACE,CAAA,wBACA,CAAA,yBACF,kEACE,aACE,CAAA,YACA,CAAA,cACA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.riscossioni-mav-inviati\\n  h2\\n    display: flex\\n    flex-wrap: wrap\\n    justify-content: space-between\\n    align-items: center\\n    line-height: 3\\n    ka-button\\n      margin: 1rem\\n      @media (max-width: 400px)\\n        margin-top: 0\\n        margin-left: 0\\n    .last-updated-at\\n      margin-left: 1rem\\n      padding-left: 1rem\\n      line-height: 2rem\\n      font-size: 1.6rem\\n      font-family: 'Roboto condensed', sans-serif\\n      color: rgba($text-color, .6)\\n      box-shadow: inset 1px 0 0 0 rgba($text-color, .3)\\n      @media (max-width: 1200px)\\n        display: none\\n  table\\n    > thead th.info-tooltip\\n      > span\\n        cursor: pointer\\n        &:hover\\n          color: $primary-color\\n          transition: color .3s\\n        &:before\\n          @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 .5rem 0 0, darken($primary-color, 5%))\\n    > tbody td\\n      font-size: 1.5rem\\n      line-height: 1.5\\n      font-family: 'Roboto condensed', sans-serif\\n      small\\n        display: block\\n        line-height: 1.5\\n        font-size: 1.5rem\\n        white-space: nowrap\\n        &.reason\\n          white-space: normal\\n          @include max-lines(2, 40rem)\\n      .copy-text:hover\\n        color: $primary-color !important\\n      .interactive\\n        cursor: pointer\\n        transition: color .3s ease\\n        &:hover\\n          color: darken($primary-color, 10%) !important\\n      .link.external:after\\n        @include fontawesome('\\\\f35d', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n      &.created-at\\n        font-family: 'Roboto mono', sans-serif\\n        > div\\n          font-family: 'Roboto condensed', sans-serif\\n          color: rgba($text-color, .6)\\n      &.amount\\n        font-size: 1.6rem\\n        line-height: 1.5\\n        font-family: \\\"Roboto mono\\\", sans-serif\\n        white-space: nowrap\\n      &.management\\n        > div\\n          display: flex\\n          justify-content: flex-end\\n        @media (max-width: 575px)\\n          > div\\n            display: block\\n            padding: 1rem\\n            padding-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-abbonamenti h2{display:flex;align-items:center;justify-content:space-between}router-view.servizi-abbonamenti h2>span[static-tooltip]{line-height:1.2;transition:color .3s}router-view.servizi-abbonamenti h2>span[static-tooltip]:hover{color:#000}router-view.servizi-abbonamenti .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.servizi-abbonamenti .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.servizi-abbonamenti td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.servizi-abbonamenti td{max-width:unset !important;min-width:unset !important}}router-view.servizi-abbonamenti .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.servizi-abbonamenti .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2)}@media screen and (max-width: 575px){router-view.servizi-abbonamenti .promo-code{display:inline-block;padding:.5rem 1rem}router-view.servizi-abbonamenti .promo-code+.promo-code{margin-left:.5rem}}router-view.servizi-abbonamenti .info-text{cursor:pointer;display:block}router-view.servizi-abbonamenti .info-text:after{content:\\\"\\\";display:inline-block;margin-left:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;text-rendering:auto;font-variant:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view.servizi-abbonamenti .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.servizi-abbonamenti .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .logs:hover{color:#404040}router-view.servizi-abbonamenti .link{color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .cashback{white-space:nowrap}router-view.servizi-abbonamenti .cashback .tag{cursor:pointer}router-view.servizi-abbonamenti .cashback .tag:hover{color:#404040}router-view.servizi-abbonamenti .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}router-view.servizi-abbonamenti .bank-transfer-data:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/abbonamenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,mCAIE,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,wDACA,eACE,CAAA,oBACA,CAAA,8DACA,UACE,CAAA,oDACN,aACE,CAAA,aACA,CAAA,QACA,CAAA,wEACF,gBACE,CAAA,2CAEA,aACE,CAAA,qCACF,mCAHF,0BAII,CAAA,0BACA,CAAA,CAAA,yEAGJ,YACE,CAAA,4CACF,YACE,CAAA,sBACA,CAAA,mBACA,CAAA,iBACA,CAAA,gBACA,CAAA,kBACA,CAAA,6CACA,CAAA,mCACA,CAAA,qCACA,4CATF,oBAUI,CAAA,kBACA,CAAA,wDACA,iBACE,CAAA,CAAA,2CAEN,cACE,CAAA,aACA,CAAA,iDACA,WACE,CAAA,oBACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,eACA,CAAA,kCACA,CAAA,aCxDU,CAAA,4CD2Dd,4BACE,CAAA,uBACA,CAAA,kBACA,CAAA,sCAEF,kBACE,CAAA,aCjEY,CAAA,cDmEZ,CAAA,4CACA,aCrES,CAAA,sCDwEX,aCvEc,CAAA,cDyEZ,CAAA,0CAEF,kBACE,CAAA,+CACA,cACE,CAAA,qDACA,aChFO,CAAA,oDDmFX,aACI,CAAA,aCnFU,CAAA,yBDqFV,CAAA,cACA,CAAA,oBACA,CAAA,0DACA,aCzFO\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-abbonamenti\\n  h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    > span[static-tooltip]\\n      line-height: 1.2\\n      transition: color .3s\\n      &:hover\\n        color: #000\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn\\n    margin-top: 0.5rem\\n  td\\n    small a\\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .info-text\\n    cursor: pointer\\n    display: block\\n    &:after // per tooltip in attesa bonifico\\n      content: \\\"\\\\f05a\\\"\\n      display: inline-block\\n      margin-left: .5rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.2rem\\n      font-style: normal\\n      text-rendering: auto\\n      font-variant: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\\n  .link\\n    color: $primary-color\\n    cursor: pointer\\n\\n  .cashback\\n    white-space: nowrap\\n    .tag\\n      cursor: pointer\\n      &:hover\\n        color: $text-color\\n\\n  .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-attivazione-sottoutenti{width:calc(100vw - 20rem);max-width:100rem !important}ux-dialog.abbonamenti-attivazione-sottoutenti .detail{white-space:nowrap;color:#404040;cursor:pointer;text-decoration:underline;text-underline-offset:.5rem;text-decoration-thickness:1px;font-family:\\\"Roboto condensed\\\",sans-serif;transition:all .3s}ux-dialog.abbonamenti-attivazione-sottoutenti .detail:hover{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar md-table-progressbar{display:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar .progressbar{display:block}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body td.subuser>small.tag{color:#404040}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .activations ul{list-style:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error{cursor:pointer}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error:hover>small{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-attivazione-sottoutenti .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,8CACE,yBAAA,CACA,2BAAA,CACA,sDCgCA,kBAAA,CACA,aCvCW,CDwCX,cAAA,CACA,yBAAA,CACA,2BAAA,CACA,6BAAA,CACA,yCAAA,CACA,kBAAA,CACA,4DACE,UC1CU,CFMR,mGACE,YAAA,CACF,2FACE,aAAA,CACJ,kFACE,aEhBO,CFkBP,6EACE,eAAA,CACJ,wEACE,cAAA,CACA,oFACE,UElBM,CFmBZ,sDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0EACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione-sottoutenti\\n  width: calc(100vw - 20rem)\\n  max-width: 100rem !important\\n  .detail\\n    @include clickable($text-color,$error-color )\\n    \\n  ux-dialog-body\\n    md-table-toolbar \\n      md-table-progressbar\\n        display: none\\n      .progressbar\\n        display: block\\n    td.subuser > small.tag\\n      color: $text-color\\n    .activations\\n      ul\\n        list-style: none\\n    .tag.error\\n      cursor: pointer\\n      &:hover > small\\n        color: $error-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-attivazione{max-width:50rem}.body{padding:2rem}.body ka-control+ka-control{margin-top:1rem}.body .service-duration{display:block;margin-bottom:1rem}.body .service-duration>span{color:#909090}.body .service-description{display:-webkit-box;max-width:400px;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem}.footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}.footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAGA,kCACE,eAAA,CACF,MACE,YAAA,CACA,4BACE,eAAA,CACF,wBACE,aAAA,CACA,kBAAA,CACA,6BACE,aAAA,CACJ,2BCwDA,mBAAA,CACA,eDxDwB,CCyDxB,eAAA,CACA,sBAAA,CACA,YD3DqB,CC4DrB,oBD5DqB,CC6DrB,2BAAA,CD5DE,kBAAA,CACJ,QACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,4BACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione\\n  max-width: 50rem\\n.body\\n  padding: 2rem\\n  ka-control + ka-control\\n    margin-top: 1rem\\n  .service-duration\\n    display: block\\n    margin-bottom: 1rem\\n    > span\\n      color: #909090\\n  .service-description\\n    @include max-lines(2, 400px)\\n    margin-bottom: 1rem\\n.footer\\n  display: block\\n  padding: 6px\\n  border-top: 1px solid #e5e5e5\\n  text-align: right\\n  ka-button + ka-button\\n    margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-autorinnovo .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-autorinnovo .text-error:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:baseline;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,0CAIE,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,qDAEA,oBCwCF,CAAA,WDvCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC2C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD/CmE,CAAA,uBAAS,CAAA,eCsCU,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-autorinnovo\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  .text-error\\n    &:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.4rem, 0 0.3rem 0 0, inherit, baseline)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-detail .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-detail .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-detail .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-detail .body .pd-0{padding:0}ux-dialog.abbonamenti-detail .body .right{padding-left:.5rem}ux-dialog.abbonamenti-detail .body .left{padding-right:.5rem}ux-dialog.abbonamenti-detail .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-detail .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-detail .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-detail .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-detail .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-detail .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-detail .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-detail .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-detail .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-detail .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-detail .body .right,ux-dialog.abbonamenti-detail .body .left,ux-dialog.abbonamenti-detail .body .columns-right,ux-dialog.abbonamenti-detail .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-detail .body .col-sm-6.left,ux-dialog.abbonamenti-detail .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-detail .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aChCU,CDiCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,iGACE,8BAAA,CACF,mGACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-detail\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control \\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-editor .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-editor .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-editor .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-editor .body .pd-0{padding:0}ux-dialog.abbonamenti-editor .body .right{padding-left:.5rem}ux-dialog.abbonamenti-editor .body .left{padding-right:.5rem}ux-dialog.abbonamenti-editor .body .middle{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-editor .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-editor .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-editor .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-editor .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-editor .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-editor .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-editor .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-editor .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-editor .body .right,ux-dialog.abbonamenti-editor .body .left,ux-dialog.abbonamenti-editor .body .columns-right,ux-dialog.abbonamenti-editor .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-editor .body .col-sm-6.left,ux-dialog.abbonamenti-editor .body .col-4.left,ux-dialog.abbonamenti-editor .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-4.right,ux-dialog.abbonamenti-editor .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-editor .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aCnCU,CDoCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,gJACE,8BAAA,CACF,mJACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-editor\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control\\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .middle\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-4.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-4.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-fidelity-card-required{max-width:50rem}ux-dialog.abbonamenti-fidelity-card-required .body{padding:2rem}ux-dialog.abbonamenti-fidelity-card-required .body strong{font-weight:700}ux-dialog.abbonamenti-fidelity-card-required .body .link{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;color:#ed5a23;transition:color .3s;cursor:pointer}ux-dialog.abbonamenti-fidelity-card-required .body .link:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:900}ux-dialog.abbonamenti-fidelity-card-required .body .link:hover{color:#404040}ux-dialog.abbonamenti-fidelity-card-required .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-fidelity-card-required .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,6CAGA,eACE,CAAA,mDACA,YACE,CAAA,0DACA,eACE,CAAA,yDACF,gBACE,CAAA,yCACA,CAAA,yBACA,CAAA,2BACA,CAAA,aCZU,CAAA,oBDcV,CAAA,cACA,CAAA,gEACA,oBEiCJ,CAAA,WFhC2B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBEoC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFxCkE,CAAA,oBE+BC,CAAA,eAAmB,CAAA,eAkBpF,CAAA,+DFhDE,aCnBO,CAAA,qDDqBX,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,yEACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-fidelity-card-required\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    strong\\n      font-weight: 700\\n    .link\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      text-decoration: underline\\n      text-underline-offset: .4rem\\n      color: $primary-color\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f35d', 'solid', 1.1rem, 0 .3rem 0 0, darken($primary-color, 5%))\\n      &:hover\\n        color: $text-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .log-id{display:block;width:23.5rem;border-radius:3px;padding:.5rem;line-height:1;color:#fff !important;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;white-space:nowrap}ux-dialog .log-reason{cursor:pointer}ux-dialog .log-reason .text{display:inline-block;width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,kBACE,aAAA,CACA,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,kBAAA,CAEF,sBACE,cAAA,CACA,4BACE,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  .log-id {\\n    display: block;\\n    width: 23.5rem;\\n    border-radius: 3px;\\n    padding: 0.5rem;\\n    line-height: 1;\\n    color: #fff !important;\\n    text-align: center;\\n    background-color: rgba(28, 200, 0, 0.7);\\n    box-shadow: inset 0 0 0 1px #1cc800;\\n    white-space: nowrap;\\n  }\\n  .log-reason {\\n    cursor: pointer;\\n    .text {\\n      display: inline-block;\\n      width: 150px;\\n      white-space: nowrap; \\n      overflow: hidden;\\n      text-overflow: ellipsis;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-stato-servizio{max-width:50rem}ux-dialog.abbonamenti-stato-servizio .body{padding:2rem}ux-dialog.abbonamenti-stato-servizio .body .message{display:block;margin-bottom:1rem}ux-dialog.abbonamenti-stato-servizio .body .alert-message>i{margin-right:.3rem;color:#ed5a23}ux-dialog.abbonamenti-stato-servizio .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,qCACE,eAAA,CACA,2CACE,YAAA,CACA,oDACE,aAAA,CACA,kBAAA,CAEA,4DACE,kBAAA,CACA,aCZQ,CDad,6CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-stato-servizio\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    .message\\n      display: block\\n      margin-bottom: 1rem\\n    .alert-message\\n      > i\\n        margin-right: .3rem\\n        color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons ka-button,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons ka-button{white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] .tooltip,router-view[class*=\\\"credito/crediti\\\"] .tooltip{cursor:pointer}router-view[class*=\\\"credito/deposito\\\"] .tooltip:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:after{content:\\\"\\\";display:inline-block;line-height:1;margin-left:.5rem;font-size:1.2rem;font-weight:400;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\"}router-view[class*=\\\"credito/deposito\\\"] .tooltip:hover:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:hover:after{font-weight:900}router-view[class*=\\\"credito/deposito\\\"] h2.table-title,router-view[class*=\\\"credito/crediti\\\"] h2.table-title{display:flex;justify-content:space-between;align-items:center;min-height:5rem;line-height:1;padding:1rem 1rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit{font-size:1.2rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit>span{color:#404040}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span{display:block}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span+span{margin-top:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a{font-size:1.2rem;text-decoration:none;color:#404040;transition:color .3s}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:before{display:inline-block;content:\\\"\\\";margin-right:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;font-size:1.2rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:hover{color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{display:inline-block;margin-right:.4rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:400;font-size:1.7rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:1}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata{color:#1cc800;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before{content:\\\"\\\";vertical-align:initial}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita{color:#f30;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{content:\\\"\\\";vertical-align:text-bottom}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.success:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.error:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search,router-view[class*=\\\"credito/crediti\\\"] .credit-search{padding-left:.5rem;padding-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/deposito\\\"] .credit-search .col,router-view[class*=\\\"credito/crediti\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/crediti\\\"] .credit-search .col{padding-left:.5rem;padding-right:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/credito-deposito.scss\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,6GAIE,YACE,CAAA,kBACA,CAAA,gBACA,CAAA,kBACA,CAAA,iIACA,kBACE,CAAA,+FAGJ,cACE,CAAA,2GACA,WACE,CAAA,oBACA,CAAA,aACA,CAAA,iBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uHAEF,eAAA,CAAA,2GAGF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,eACA,CAAA,aACA,CAAA,iBACA,CAAA,4PACA,gBACE,CAAA,gRACA,aCxCO,CAAA,oPDgDP,aACE,CAAA,wQACA,gBAAA,CAAA,4PACA,gBACE,CAAA,oBACA,CAAA,aCrDG,CAAA,oBDuDH,CAAA,wRACA,oBACE,CAAA,WACA,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aClEI,CAAA,oRDqEN,aCrEM,CAAA,ojBDwEV,oBACE,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aACA,CAAA,gQAEF,aChFU,CAAA,kBDkFR,CAAA,4RACA,WAAA,CAAA,sBAAA,CAAA,4PAEF,UCtFQ,CAAA,kBDwFN,CAAA,wRACA,WAAA,CAAA,0BAAA,CAAA,oUAIA,oBEhDN,CAAA,WFiD6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBE7CjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFyC4D,CAAA,oBElDO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBFmCM,CAAA,4TAGF,oBErDN,CAAA,WFsD6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBElDjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aF8C4D,CAAA,oBEvDO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBFwCM,CAAA,2GAMR,kBACE,CAAA,mBACA,CAAA,kQACA,kBACE,CAAA,mBACA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n@import '../../../static/mixins';\\n\\nrouter-view[class*=\\\"credito/deposito\\\"], router-view[class*=\\\"credito/crediti\\\"] {\\n  h2.with-buttons {\\n    display: flex;\\n    align-items: center;\\n    flex-wrap: nowrap;\\n    white-space: nowrap;\\n    ka-button {\\n      white-space: nowrap;\\n    }\\n  }\\n  .tooltip {\\n    cursor: pointer;\\n    &:after {\\n      content: '\\\\f059';\\n      display: inline-block;\\n      line-height: 1;\\n      margin-left: .5rem;\\n      font-size: 1.2rem;\\n      font-weight: 400;\\n      font-style: normal;\\n      font-variant: normal;\\n      text-rendering: auto;\\n      -webkit-font-smoothing: antialiased;\\n      font-family: \\\"Font Awesome 5 Pro\\\";\\n    }  \\n    &:hover:after { font-weight: 900; }\\n  }\\n\\n  h2.table-title {\\n    display: flex;\\n    justify-content: space-between;\\n    align-items: center;\\n    min-height: 5rem;\\n    line-height: 1;\\n    padding: 1rem 1rem;\\n    .user, .user-credit {\\n      font-size: 1.2rem;\\n      > span {\\n        color: $text-color;\\n      }\\n    }\\n  }\\n\\n  table.deposito, table.credito {\\n    td {\\n      > span {\\n        display: block;\\n        & + span { margin-top: .5rem; }\\n        & > a {\\n          font-size: 1.2rem;\\n          text-decoration: none;\\n          color: $text-color;\\n          transition: color .3s;\\n          &:before {\\n            display: inline-block;\\n            content: \\\"\\\\f08e\\\";\\n            margin-right: .5rem;\\n            font-family: \\\"Font Awesome 5 Pro\\\";\\n            font-weight: 900;\\n            font-size: 1.2rem;\\n            font-style: normal;\\n            font-variant: normal;\\n            vertical-align: top;\\n            text-rendering: auto;\\n            -webkit-font-smoothing: antialiased;\\n            color: $primary-color;\\n          }\\n          &:hover { color: $primary-color; }\\n        }\\n      }\\n      &.entrata:before, &.uscita:before {\\n        display: inline-block;\\n        margin-right: 0.4rem;\\n        font-family: \\\"Font Awesome 5 Pro\\\";\\n        font-weight: 400;\\n        font-size: 1.7rem;\\n        font-style: normal;\\n        font-variant: normal;\\n        vertical-align: top;\\n        text-rendering: auto;\\n        -webkit-font-smoothing: antialiased;\\n        line-height: 1;\\n      }\\n      &.entrata {\\n        color: $success-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f176\\\"; vertical-align: initial; }\\n      }\\n      &.uscita {\\n        color: $error-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f175\\\"; vertical-align: text-bottom; }\\n      }\\n\\n      small.tag {\\n        &.success:before {\\n          @include fontawesome(\\\"\\\\f062\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n\\n        &.error:before {\\n          @include fontawesome(\\\"\\\\f063\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n      }\\n    }\\n  }\\n\\n  .credit-search {\\n    padding-left: .5rem;\\n    padding-right: .5rem;\\n    div[class*=\\\"col-\\\"], .col {\\n      padding-left: .5rem;\\n      padding-right: .5rem;\\n    }\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body .row{margin-top:1rem;margin-bottom:1rem}ux-dialog .body .row:first-of-type{margin-top:0}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-credit-movement.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,qBACE,eAAA,CACA,kBAAA,CACA,mCAAA,YAAA,CAGJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    .row {\\n      margin-top: 1rem;\\n      margin-bottom: 1rem;\\n      &:first-of-type { margin-top: 0; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body p{margin:0 0 1rem}ux-dialog .body .user{font-size:1.2rem;color:rgba(237,90,35,.7)}ux-dialog .body .user>p{color:#404040}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-deposit-transaction.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,kBAAA,eAAA,CACA,sBACE,gBAAA,CACA,wBAAA,CACA,wBAAA,aCTO,CDYX,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    p { margin: 0 0 1rem; }\\n    .user {\\n      font-size: 1.2rem;\\n      color: rgba($primary-color, 0.7);\\n      > p { color: $text-color; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.listini-pianificazione .body{padding:0}ux-dialog.listini-pianificazione .body .alert>strong:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.listini-pianificazione .body .tooltip-icon{margin:0 !important}ux-dialog.listini-pianificazione .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.listini-pianificazione .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/listini/dialogs/listini-pianificazione.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,uCAIE,SACE,CAAA,4DACA,oBC4CF,CAAA,WD3CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC+C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCzDc,CAAA,oBFMqE,CAAA,eC0CG,CAAA,eAgBpF,CAAA,qDDzDA,mBACE,CAAA,yCACJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,8DACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.listini-pianificazione\\n  .body\\n    padding: 0\\n    .alert > strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0 0.4rem 0 0, $primary-color, unset)\\n    .tooltip-icon\\n      margin: 0 !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-listini nav{display:none}router-view.servizi-listini #elenco{height:calc(100vh - 6rem);overflow:hidden}router-view.servizi-listini #elenco .left-side>.app-shared-search-style{padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.servizi-listini #elenco .left-side>.app-shared-search-style input[disabled]{color:rgba(64,64,64,.4) !important}router-view.servizi-listini #elenco .left-side>ul.subusers{height:calc(100vh - 6rem - 5.1rem - 12.5rem);overflow-y:auto}router-view.servizi-listini #elenco .left-side>ul.subusers.hide{opacity:.4}router-view.servizi-listini #elenco .left-side>ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.servizi-listini #elenco .left-side>ul.subusers>li>.counter{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:2rem;width:2rem;margin-left:1rem;font-size:1rem;background:#ed5a23;border-radius:50%;color:#fff}router-view.servizi-listini #elenco .left-side>ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.servizi-listini #elenco .left-side>ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.servizi-listini #elenco .left-side>ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.servizi-listini #elenco .right-side{box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922);height:calc(100vh - 6rem)}router-view.servizi-listini #elenco .right-side>md-table-progressbar{margin-top:-1.5px !important}router-view.servizi-listini #elenco .right-side>ul{padding:3rem 1.5rem 0}router-view.servizi-listini #elenco .right-side>ul>li{display:flex;position:relative;min-height:10rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.8rem;width:1.8rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";left:calc(11.3rem + .9rem - 1px);width:2px;background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval>.circle{z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date{flex-shrink:0;flex-basis:11.3rem}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date>span{padding:.5rem .8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist{position:relative;margin:-1.5rem 0 0 3rem;padding:1.5rem 1.5rem;height:100%;min-height:10rem;width:100%;border-radius:1rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail{font-size:1.2rem;color:#ed5a23;cursor:pointer}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail>i{font-size:1.1rem;margin-right:.5rem}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .code-label>small{color:rgba(64,64,64,.6)}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval:before{top:0;height:100%;background:#ddd}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ddd}router-view.servizi-listini #elenco .right-side>ul li.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ddd, transparent)}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval:before{background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.wrapper-pricelist .code-label{color:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ed5a23, transparent)}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end{height:auto;min-height:unset}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end>.timeline-interval:before{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/listini/listini.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAYE,gCACE,YAAA,CAGF,oCACE,yBAAA,CACA,eAAA,CAIE,wEACE,wBAAA,CACA,6CAAA,CACA,gFACE,QAAA,CACA,SAAA,CACF,wFACE,eAAA,CACF,wFACE,kCAAA,CAGJ,2DACE,4CAAA,CACA,eAAA,CACA,gEACE,UAAA,CACF,8DACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAxCa,CAyCb,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,cAAA,CACA,uEACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CACA,kBC1DI,CD2DJ,iBAAA,CACA,UAAA,CAEF,qEACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,KAAA,CACA,QAAA,CACA,WAAA,CACA,UAAA,CACA,oCAAA,CACA,sCAAA,CACA,SAAA,CACA,kBAAA,CACF,0FACE,SAAA,CACA,uCAAA,CACF,uEACE,kCAAA,CACA,uCAAA,CAGR,gDACE,0DAAA,CACA,yBAAA,CACA,qEACI,4BAAA,CACJ,mDACE,qBAAA,CACA,sDACE,YAAA,CACA,iBAAA,CACA,gBAxFa,CAyFb,yEACE,mBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,aA7FM,CA8FN,YA9FM,CA+FN,gFACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,gCAAA,CACA,SAlGG,CAmGH,kBC1GE,CD2GJ,iFACE,SAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAAA,CACA,kCAAA,CAEJ,sEACE,aAAA,CACA,kBA/Ga,CAgHb,2EACE,mBAAA,CACA,eAAA,CACA,yBAAA,CACA,mBAAA,CACA,UAAA,CAEJ,yEACI,iBAAA,CACA,uBAAA,CACA,qBAAA,CACA,WAAA,CACA,gBA9HS,CA+HT,UAAA,CACA,kBAAA,CACA,4BAAA,CACA,6BAAA,CACA,eAAA,CACA,eAAA,CACA,yBAAA,CACA,2FACE,gBAAA,CACA,aC5IA,CD6IA,cAAA,CACA,6FACE,gBAAA,CACA,kBAAA,CACJ,6EACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,iCAAA,CACA,sFACE,SAAA,CACA,WAAA,CACA,eAAA,CAEF,2FACE,uBAAA,CAER,gFACE,KAAA,CACA,WAAA,CACA,eAAA,CACF,iFACE,+BAAA,CAGA,wFACE,KAAA,CACA,wBAAA,CACA,qDAAA,CAGF,wFACE,kBCjLE,CDkLJ,yFACE,kCAAA,CAEF,6FACE,aCtLE,CDuLN,gGACE,KAAA,CACA,wBAAA,CACA,wDAAA,CACJ,qEACE,WAAA,CACA,gBAAA,CAEE,+FACE,YAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$list-subusers-height: 4rem\\n$list-timeline-height: 10rem\\n$timeline-circle: 1.8rem\\n$timeline-pricelistdate: 11.3rem\\n$timeline-width: 2px\\n\\n// Listini utente\\nrouter-view.servizi-listini\\n  nav\\n    display: none\\n\\n  // Tab elenco\\n  #elenco\\n    height: calc(100vh - 6rem)\\n    overflow: hidden\\n\\n    // Left side\\n    .left-side\\n      & > .app-shared-search-style\\n        padding: 1rem 1rem 1.5rem\\n        box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n        & > .col-12\\n          margin: 0\\n          padding: 0\\n        & > .col-12 + .col-12\\n          margin-top: 1rem\\n        input[disabled]\\n          color: rgba($text-color, .4) !important\\n\\n      // Subusers\\n      > ul.subusers\\n        height: calc(100vh - 6rem - 5.1rem - 12.5rem)\\n        overflow-y: auto\\n        &.hide\\n          opacity: 0.4\\n        > li\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          min-height: $list-subusers-height\\n          padding: 0 1rem\\n          box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          transition: all 0.3s\\n          cursor: pointer\\n          > .counter\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            flex-shrink: 0\\n            height: calc($list-subusers-height / 2)\\n            width: calc($list-subusers-height / 2)\\n            margin-left: 1rem\\n            font-size: 1rem\\n            background: $primary-color\\n            border-radius: 50%\\n            color: #fff\\n        & > li\\n          &:before\\n            display: block\\n            position: absolute\\n            content: \\\"\\\"\\n            top: 0\\n            left: 50%\\n            height: 100%\\n            width: 100%\\n            background: #11254b08\\n            transform: translateX(-50%) scaleX(30%)\\n            opacity: 0\\n            transition: all 0.3s\\n          &:not(.selected):hover:before\\n            opacity: 1\\n            transform: translateX(-50%) scaleX(100%)\\n          &.selected\\n            background-color: rgba(17, 37, 75, 0.1)\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n    // Right-side\\n    .right-side\\n      box-shadow: inset 10px 0 10px -10px #00000040\\n      height: calc(100vh - 6rem)\\n      > md-table-progressbar\\n          margin-top: -1.5px !important\\n      > ul\\n        padding: 3rem 1.5rem 0\\n        > li\\n          display: flex\\n          position: relative\\n          min-height: $list-timeline-height\\n          > .timeline-interval\\n            display: inline-flex\\n            flex-shrink: 0\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-circle\\n            width: $timeline-circle\\n            &:before\\n              display: block\\n              position: absolute\\n              content: ''\\n              left: calc($timeline-pricelistdate + (calc($timeline-circle / 2) - calc($timeline-width / 2)))\\n              width: $timeline-width\\n              background: $primary-color\\n            > .circle\\n              z-index: 2\\n              height: 100%\\n              width: 100%\\n              border-radius: 50%\\n              background: #fff\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          \\n          > .pricelist-date\\n            flex-shrink: 0\\n            flex-basis: $timeline-pricelistdate\\n            > span\\n              padding: .5rem .8rem\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              border-radius: .2rem\\n              color: #000\\n          // Wrapper pricelist\\n          > .wrapper-pricelist\\n              position: relative\\n              margin: -1.5rem 0 0 3rem\\n              padding: 1.5rem 1.5rem\\n              height: 100%\\n              min-height: $list-timeline-height\\n              width: 100%\\n              border-radius: 1rem\\n              border-top-left-radius: .5rem\\n              border-top-right-radius: .5rem\\n              line-height: 1.3\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              .pricelist-detail\\n                font-size: 1.2rem\\n                color: $primary-color\\n                cursor: pointer\\n                > i\\n                  font-size: 1.1rem\\n                  margin-right: .5rem\\n              svg\\n                position: absolute\\n                top: 0\\n                left: 0\\n                z-index: 5\\n                padding: 0\\n                width: auto\\n                height: 1.5rem\\n                transform: translate(-99%, 1.5rem)\\n                > polyline\\n                  fill: #fff\\n                  stroke: #ddd\\n                  stroke-width: 30\\n              .code-label\\n                > small\\n                  color: rgba($text-color, .6)\\n        li > .timeline-interval\\n          &:before\\n            top: 0\\n            height: 100%\\n            background: #ddd\\n          > .circle\\n            box-shadow: inset 0 0 0 2px #ddd\\n        li.endless\\n          > .timeline-interval\\n            &:before\\n              top: 0\\n              height: calc(100% + 3rem)\\n              background: linear-gradient(180deg, #ddd, transparent)\\n        li.current \\n          > .timeline-interval\\n            &:before\\n              background: $primary-color\\n            > .circle\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          > .wrapper-pricelist\\n            .code-label\\n              color: $primary-color\\n          &.endless > .timeline-interval:before\\n            top: 0\\n            height: calc(100% + 3rem)\\n            background: linear-gradient(180deg, $primary-color, transparent)\\n        li.pricelists-end\\n          height: auto\\n          min-height: unset\\n          > .timeline-interval\\n            &:before\\n              display: none\\n\\n\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-promotion .dialog-header-content h2{font-size:1.6rem}ux-dialog.add-promotion .body{padding:0}ux-dialog.add-promotion .body .expire-at{min-width:12rem}ux-dialog.add-promotion .body .user{margin:0;padding:1rem}ux-dialog.add-promotion .body .user .message{color:#ed5a23}ux-dialog.add-promotion .body .promo-code{display:flex;align-items:center}ux-dialog.add-promotion .body .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}ux-dialog.add-promotion .body .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}ux-dialog.add-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,kDACE,gBAAA,CACF,8BACE,SAAA,CAEA,yCACE,eAAA,CAEF,oCACE,QAAA,CACA,YAAA,CACA,6CACE,aCdQ,CDgBZ,0CACE,YAAA,CACA,kBAAA,CACA,+CACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,+CACE,aC5BQ,CD6BR,cAAA,CACA,kBAAA,CAEN,gCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.add-promotion\\n  .dialog-header-content h2 \\n    font-size: 1.6rem\\n  .body\\n    padding: 0\\n\\n    .expire-at\\n      min-width: 12rem\\n\\n    .user \\n      margin: 0\\n      padding: 1rem\\n      .message\\n        color: $primary-color\\n\\n    .promo-code\\n      display: flex\\n      align-items: center\\n      > span\\n        display: inline-block\\n        padding: 0 1rem\\n        text-align: left\\n        border-radius: 3px\\n        box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n        background-color: rgba($primary-color, 0.2)\\n        white-space: nowrap\\n      > .tag\\n        color: $primary-color\\n        cursor: pointer\\n        transition: all .3s\\n  \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body ka-control+ka-control{margin-top:1rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-crea.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CACA,sCAAA,eAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sCAAA,aAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n    ka-control + ka-control { margin-top: 1rem; }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n    ka-button + ka-button { margin-left: 0; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.edit-promotion .body{padding:2rem}ux-dialog.edit-promotion .body ka-control+ka-control{margin-top:1rem}ux-dialog.edit-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.edit-promotion .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass\"],\"names\":[],\"mappings\":\"AACE,+BACE,YAAA,CACA,qDACE,eAAA,CAEJ,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qDACE,aAAA\",\"sourcesContent\":[\"ux-dialog.edit-promotion\\n  .body \\n    padding: 2rem\\n    ka-control + ka-control \\n      margin-top: 1rem\\n  \\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button \\n      margin-left: 0\\n  \\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-promozioni .promo-code{display:flex;align-items:center}router-view.servizi-promozioni .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}router-view.servizi-promozioni .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/promozioni.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,2CACE,YAAA,CACA,kBAAA,CACA,gDACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,gDACE,aCfU,CDgBV,cAAA,CACA,kBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-promozioni\\n  .promo-code\\n    display: flex\\n    align-items: center\\n    > span\\n      display: inline-block\\n      padding: 0 1rem\\n      text-align: left\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n      background-color: rgba($primary-color, 0.2)\\n      white-space: nowrap\\n    > .tag\\n      color: $primary-color\\n      cursor: pointer\\n      transition: all .3s\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-ricariche #ricariche .type-header{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}router-view.servizi-ricariche #ricariche .type-header td{padding:1rem 1rem}router-view.servizi-ricariche #ricariche .type-header td p{margin:0;padding:0;color:#ed5a23}router-view.servizi-ricariche #ricariche .type-header td p .iva{margin-left:.5rem;color:#404040}router-view.servizi-ricariche #ricariche .type-header td p .description{display:block;font-size:1.2rem;color:rgba(64,64,64,.7)}router-view.servizi-ricariche #ricariche md-table-wrapper{perspective:1000px}router-view.servizi-ricariche #ricariche md-table-wrapper table thead>tr>th:last-child{min-width:26rem}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header).error{background:rgba(255,6,6,.1098039216)}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header):last-child{border-bottom:0}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header) td.code>span{display:inline-block;border-radius:3px;padding:.3rem 1rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;min-width:12rem;white-space:nowrap}router-view.servizi-ricariche #ricariche .cartbar{position:fixed;display:flex;align-items:center;height:11rem;bottom:-11rem;left:50%;z-index:2;border:1px solid rgba(0,0,0,.062745098);border-radius:5px;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2),rgba(0,0,0,.0196078431) 0px -50px 36px -28px inset,rgba(0,0,0,.0196078431) 0px 30px 60px -12px inset;font-size:1.6rem;font-weight:400;color:#fff;background-color:#11254b;padding:0 2rem;transition:bottom .5s;transform:translateX(-50%)}router-view.servizi-ricariche #ricariche .cartbar.filled{bottom:2rem}router-view.servizi-ricariche #ricariche .cartbar.added{animation:rotate 1s infinite}router-view.servizi-ricariche #ricariche .cartbar>i{margin:.4rem 1.2rem 0 0;font-size:4rem;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary{display:flex;align-items:flex-start;font-size:1rem;font-weight:700;text-transform:uppercase;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary em{margin:0 .5rem 0 -1.4rem;border-radius:50%;display:inline-block;border-radius:50%;width:3.5rem;line-height:3.5rem;font-style:normal;font-size:2rem;text-align:center;vertical-align:middle;background-color:#fff}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary .user{display:block;color:#fff;font-size:1.4rem;font-weight:500;text-transform:none}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount{display:flex;align-items:flex-start;margin-top:-0.1rem;border-top:1px solid #ed5a23;padding-top:.5rem;font-size:1.4rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount>strong{font-size:1.8rem;vertical-align:middle;margin-left:.5rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons{display:flex;flex-direction:column;margin-left:2rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button{margin:0}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button:first-child{margin-bottom:.5rem}router-view.servizi-ricariche .quantity-selector{display:flex;box-shadow:0 2px 5px rgba(0,0,0,.2)}router-view.servizi-ricariche .quantity-selector ka-button{border-radius:0;white-space:nowrap}router-view.servizi-ricariche .quantity-selector ka-button:not(.icon){box-shadow:inset 1px 0 0 #e0e0e0 !important}router-view.servizi-ricariche .quantity-selector ka-button.disabled{background:#fff;color:silver}router-view.servizi-ricariche .quantity-selector ka-button.icon{width:3rem}router-view.servizi-ricariche .quantity-selector input{outline:0;border:0;border-radius:0;padding:0;width:3rem;height:3rem;text-align:center;appearance:none;-moz-appearance:none;-webkit-appearance:none}router-view.servizi-ricariche .quantity-selector input::-webkit-outer-spin-button,router-view.servizi-ricariche .quantity-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes rotate{0%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)}50%{transform:translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)}100%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/ricariche/ricariche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKI,sDACE,4BAAA,CACA,+BAAA,CACA,yDACE,iBAAA,CACA,2DACE,QAAA,CACA,SAAA,CACA,aCZM,CDaN,gEACE,iBAAA,CACA,aChBC,CDiBH,wEACE,aAAA,CACA,gBAAA,CACA,uBAAA,CACR,0DACE,kBAAA,CAGI,uFACE,eAAA,CAGA,iGACE,oCAAA,CACF,sGACE,eAAA,CACF,wGACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,eAAA,CACA,kBAAA,CAGV,kDACE,cAAA,CACA,YAAA,CACA,kBAAA,CACA,YAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,iBAAA,CACA,oKAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CACA,wBCzDY,CD0DZ,cAAA,CACA,qBAAA,CACA,0BAAA,CACA,yDACI,WAAA,CACJ,wDACE,4BAAA,CACF,oDACE,uBAAA,CACA,cAAA,CACA,aCrEQ,CDuER,sEACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,eAAA,CACA,wBAAA,CACA,aC7EM,CD8EN,yEACE,wBAAA,CACA,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,cAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACF,4EACE,aAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,mBAAA,CACJ,qEACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,4BAAA,CACA,iBAAA,CACA,gBAAA,CACA,4EACE,gBAAA,CACA,qBAAA,CACA,iBAAA,CACN,gEACE,YAAA,CACA,qBAAA,CACA,gBAAA,CACA,0EACE,QAAA,CACA,sFACE,mBAAA,CAGV,iDACE,YAAA,CACA,mCAAA,CACA,2DACE,eAAA,CACA,kBAAA,CACA,sEACE,2CAAA,CACF,oEACE,eAAA,CACA,YAAA,CACF,gEACE,UAAA,CACJ,uDACE,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,oKAEE,uBAAA,CACA,QAAA,CAGR,kBACE,GACE,4DAAA,CACF,IACE,gEAAA,CACF,KACE,8DAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.servizi-ricariche\\n  // Ricariche-elenco\\n  #ricariche\\n    .type-header\\n      border-top: 1px solid #e0e0e0\\n      border-bottom: 1px solid #e0e0e0\\n      td\\n        padding: 1rem 1rem\\n        p\\n          margin: 0\\n          padding: 0\\n          color: $primary-color\\n          .iva\\n            margin-left: .5rem\\n            color: $text-color\\n          .description\\n            display: block\\n            font-size: 1.2rem\\n            color: rgba($text-color, 0.7)\\n    md-table-wrapper\\n      perspective: 1000px\\n      table\\n        thead\\n          > tr > th:last-child\\n            min-width: 26rem\\n        tbody\\n          > tr:not(.type-header)\\n            &.error\\n              background: #ff06061c\\n            &:last-child\\n              border-bottom: 0\\n            td.code > span\\n              display: inline-block\\n              border-radius: 3px\\n              padding: 0.3rem 1rem\\n              color: white\\n              text-align: center\\n              background-color: rgba(28, 200, 0, 0.7)\\n              box-shadow: inset 0 0 0 1px #1cc800\\n              min-width: 12rem\\n              white-space: nowrap\\n\\n    // Cartbar\\n    .cartbar\\n      position: fixed\\n      display: flex\\n      align-items: center\\n      height: 11rem\\n      bottom: -11rem\\n      left: 50%\\n      z-index: 2\\n      border: 1px solid #00000010\\n      border-radius: 5px\\n      box-shadow: 0 0 5px #00000033, 0 5px 5px -5px #00000033, #00000005 0px -50px 36px -28px inset, #00000005 0px 30px 60px -12px inset\\n      font-size: 1.6rem\\n      font-weight: 400\\n      color: #fff\\n      background-color: $secondary-color\\n      padding: 0 2rem\\n      transition: bottom 0.5s\\n      transform: translateX(-50%)\\n      &.filled\\n          bottom: 2rem\\n      &.added\\n        animation: rotate 1s infinite\\n      > i\\n        margin: 0.4rem 1.2rem 0 0\\n        font-size: 4rem\\n        color: $primary-color\\n      > .cart-info \\n        > .summary\\n          display: flex\\n          align-items: flex-start\\n          font-size: 1rem\\n          font-weight: 700\\n          text-transform: uppercase\\n          color: $primary-color\\n          em \\n            margin: 0 0.5rem 0 -1.4rem\\n            border-radius: 50%\\n            display: inline-block\\n            border-radius: 50%\\n            width: 3.5rem\\n            line-height: 3.5rem\\n            font-style: normal\\n            font-size: 2rem\\n            text-align: center\\n            vertical-align: middle\\n            background-color: #ffffff\\n          .user\\n            display: block\\n            color: white\\n            font-size: 1.4rem\\n            font-weight: 500\\n            text-transform: none\\n        > .amount\\n          display: flex\\n          align-items: flex-start\\n          margin-top: -0.1rem\\n          border-top: 1px solid $primary-color\\n          padding-top: 0.5rem\\n          font-size: 1.4rem\\n          > strong\\n            font-size: 1.8rem\\n            vertical-align: middle\\n            margin-left: 0.5rem\\n      > .cart-buttons\\n        display: flex\\n        flex-direction: column\\n        margin-left: 2rem\\n        > ka-button\\n          margin: 0\\n          &:first-child\\n            margin-bottom: 0.5rem\\n\\n  // Quantity selector\\n  .quantity-selector\\n    display: flex\\n    box-shadow: 0 2px 5px rgba(#000, 0.2)\\n    ka-button\\n      border-radius: 0\\n      white-space: nowrap\\n      &:not(.icon)\\n        box-shadow: inset 1px 0 0 #e0e0e0 !important\\n      &.disabled\\n        background: #fff\\n        color: #c0c0c0\\n      &.icon\\n        width: 3rem       \\n    input\\n      outline: 0\\n      border: 0\\n      border-radius: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      text-align: center\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none     \\n      &::-webkit-outer-spin-button,\\n      &::-webkit-inner-spin-button\\n        -webkit-appearance: none\\n        margin: 0\\n\\n// Animation\\n@keyframes rotate\\n  0%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)\\n  50%\\n    transform: translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)\\n  100%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.bank-transfer-data h3{margin-bottom:1rem !important}ux-dialog.bank-transfer-data .tables{padding:0 1rem;margin:0}ux-dialog.bank-transfer-data li.table{list-style:none;border:1px solid #e0e0e0}ux-dialog.bank-transfer-data li.table>.grid-row{display:grid;grid-template-columns:repeat(2, 1fr);width:100%;line-height:1;color:#404040;text-align:left;padding:.5rem 0;background:#efefef}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn{display:flex;align-items:center;padding:1rem 1.5rem;min-height:3rem;font-weight:300}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn strong{margin-right:.3rem;font-size:1rem;font-weight:600;text-transform:uppercase}ux-dialog.bank-transfer-data .info{margin-bottom:.5rem;text-align:left}ux-dialog.bank-transfer-data .info i{margin-right:.2rem;color:#f30}ux-dialog.bank-transfer-data .info a{font-weight:500;color:#ed5a23}ux-dialog.bank-transfer-data .copy-text{transition:all .3s;cursor:pointer}ux-dialog.bank-transfer-data .copy-text:hover{color:#ed5a23}ux-dialog.bank-transfer-data .copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.3rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.1rem;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}ux-dialog.bank-transfer-data .tag{padding:.3rem .6rem}ux-dialog.bank-transfer-data .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/bank-transfer-data.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,gCAGE,6BACE,CAAA,qCACF,cACE,CAAA,QACA,CAAA,sCACF,eACE,CAAA,wBACA,CAAA,gDACA,YACE,CAAA,oCACA,CAAA,UACA,CAAA,aACA,CAAA,aACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,uDACA,YACE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,eACA,CAAA,8DACA,kBACE,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,mCACR,mBACE,CAAA,eACA,CAAA,qCACA,kBACE,CAAA,UC9BQ,CAAA,qCDgCV,eACE,CAAA,aCrCU,CAAA,wCDwCd,kBACE,CAAA,cACA,CAAA,8CACA,aC3CY,CAAA,wDD6CZ,oBACE,CAAA,WACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,aCrDU,CAAA,kCDwDd,mBACE,CAAA,qCAEF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.bank-transfer-data\\n  h3\\n    margin-bottom: 1rem !important\\n  .tables\\n    padding: 0 1rem\\n    margin: 0\\n  li.table\\n    list-style: none\\n    border: 1px solid #e0e0e0\\n    > .grid-row\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n      width: 100%\\n      line-height: 1\\n      color: #404040\\n      text-align: left\\n      padding: .5rem 0\\n      background: #efefef\\n      > .colmn\\n        display: flex\\n        align-items: center\\n        padding: 1rem 1.5rem\\n        min-height: 3rem\\n        font-weight: 300\\n        strong\\n          margin-right: .3rem\\n          font-size: 1rem\\n          font-weight: 600\\n          text-transform: uppercase\\n  .info\\n    margin-bottom: .5rem\\n    text-align: left\\n    i\\n      margin-right: .2rem\\n      color: $error-color\\n    a\\n      font-weight: 500\\n      color: $primary-color\\n\\n  .copy-text\\n    transition: all .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n    &.with-icon:after\\n      display: inline-block\\n      content: \\\"\\\\f24d\\\"\\n      margin-left: .3rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.1rem\\n      font-style: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .tag\\n    padding: 0.3rem 0.6rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.legacy-history .body{padding:2rem}ux-dialog.legacy-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/legacy-history.sass\"],\"names\":[],\"mappings\":\"AAIE,+BACE,YAAA,CACF,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.legacy-history\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.message-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7);white-space:nowrap}ux-dialog.message-cost-detail table tr:last-of-type{box-shadow:none}ux-dialog.message-cost-detail table tfoot>tr>td,ux-dialog.message-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.message-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.message-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.message-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-cost-detail.sass\"],\"names\":[],\"mappings\":\"AAGE,oCACE,oCAAA,CACA,kBAAA,CACA,oDACE,eAAA,CAGE,uGACE,kBAAA,CACF,2DACE,gFAAA,CACF,0DACE,2CAAA,CACR,sCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.message-cost-detail\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    white-space: nowrap\\n    tr:last-of-type\\n      box-shadow: none\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n   \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.message-status-transitions-history{max-width:450px;font-familiy:\\\"Roboto condensed\\\",sans-serif}ux-dialog.message-status-transitions-history .body .recipient-info{padding:1rem 1.5rem 0}ux-dialog.message-status-transitions-history .body .recipient-info>span:first-of-type{color:rgba(64,64,64,.7)}ux-dialog.message-status-transitions-history .body .statuses{padding:3rem 1.5rem 0}ux-dialog.message-status-transitions-history .body .statuses>li{display:flex;position:relative;min-height:8rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.5rem;width:1.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";width:2px;background:#ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval>.circle{position:relative;z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date{font-size:1.2rem;flex-shrink:0;flex-basis:10.3rem;margin:-1.5rem 0 0 0}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div{position:relative;z-index:4;width:fit-content;padding:.8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div .time{color:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg{position:absolute;top:0;left:calc(100% + 1.1rem);z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-100%, 1.5rem) rotateY(180deg)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status{position:relative;margin:-1.5rem 0 0 2.5rem;padding:.8rem;height:100%;min-height:8rem;width:100%;overflow:hidden;border-radius:.3rem .3rem .5rem .5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status{min-height:2rem;white-space:normal;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status:before{margin-right:.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .reason{display:block;margin:.7rem 0 1.4rem 0;font-size:1.1rem;line-height:1.1;white-space:normal;word-wrap:break-word;color:rgba(64,64,64,.8)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:before{top:0;height:100%;background:linear-gradient(180deg, transparent, #ed5a23 60%)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:after{position:absolute;content:\\\"\\\";top:1.5rem;height:.5rem;width:.5rem;border:2px solid rgba(237,90,35,.6);border-right:none;border-bottom:none;transform:rotate(45deg)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:before,ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:after{display:none}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type:not(.ended)>.timeline-interval:before{top:-2rem;height:calc(100% + 3rem)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle{position:relative}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle:before{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:inline-block;content:\\\"\\\";margin:0;font-size:.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(237,90,35,.5);vertical-align:unset;animation:unset;font-weight:900}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div{box-shadow:0 0 0 1px rgba(64,64,64,.4)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div svg polyline{fill:#fff;stroke:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-status-transitions-history.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,6CAUA,eACE,CAAA,0CACA,CAAA,mEAEE,qBACE,CAAA,sFACA,uBACE,CAAA,6DACJ,qBACE,CAAA,gEACA,YACE,CAAA,iBACA,CAAA,eAfe,CAAA,mFAiBf,mBACE,CAAA,aACA,CAAA,kBACA,CAAA,sBACA,CAAA,aAtBQ,CAAA,YAAA,CAAA,0FAyBR,aACE,CAAA,iBACA,CAAA,UACA,CAAA,SA9BK,CAAA,kBCHD,CAAA,2FDoCN,iBACE,CAAA,SACA,CAAA,WACA,CAAA,UACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,6EAEJ,gBACE,CAAA,aACA,CAAA,kBAxCa,CAAA,oBA0Cb,CAAA,iFACA,iBACE,CAAA,SACA,CAAA,iBACA,CAAA,aACA,CAAA,eACA,CAAA,yBACA,CAAA,mBACA,CAAA,UACA,CAAA,uFACA,uBACE,CAAA,iFACJ,iBACE,CAAA,KACA,CAAA,wBACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,kDACA,CAAA,0FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,gFAEN,iBACI,CAAA,yBACA,CAAA,aACA,CAAA,WACA,CAAA,eAzEW,CAAA,UA2EX,CAAA,eACA,CAAA,qCACA,CAAA,eACA,CAAA,eACA,CAAA,yBACA,CAAA,oFACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,iCACA,CAAA,6FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,wFACJ,eACE,CAAA,kBACA,CAAA,mBEjCZ,CAAA,cFkC8C,CAAA,eEhC9C,CAAA,sBACA,CAAA,YF+B+B,CAAA,oBAAA,CAAA,2BE5B/B,CAAA,+FF6BY,kBACE,CAAA,wFACJ,aACE,CAAA,uBACA,CAAA,gBACA,CAAA,eACA,CAAA,kBACA,CAAA,oBACA,CAAA,uBACA,CAAA,0FAEN,KACE,CAAA,WACA,CAAA,4DACA,CAAA,yFACF,iBACE,CAAA,UACA,CAAA,UApHQ,CAAA,YAsHR,CAAA,WACA,CAAA,mCACA,CAAA,iBACA,CAAA,kBACA,CAAA,uBACA,CAAA,2FACF,kCACE,CAAA,6MAEF,YACE,CAAA,oHAEF,SACE,CAAA,wBACA,CAAA,+GAEF,iBACE,CAAA,sHACA,iBACE,CAAA,OACA,CAAA,QACA,CAAA,+BACA,CAAA,oBEhGV,CAAA,WFiG+B,CAAA,QAAyB,CAAA,eAAP,CAAA,iBE7FjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,wBFyF2D,CAAA,oBAA0B,CAAA,eElGC,CAAA,eAkBpF,CAAA,qGFiFI,sCACI,CAAA,kHAEE,SACE,CAAA,wBACA,CAAA,qDACd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.message-status-transitions-history\\n  max-width: 450px\\n  font-familiy: 'Roboto condensed', sans-serif\\n  .body\\n    .recipient-info\\n      padding: 1rem 1.5rem 0\\n      > span:first-of-type\\n        color: rgba(64, 64, 64, 0.7)\\n    .statuses\\n      padding: 3rem 1.5rem 0\\n      > li\\n        display: flex\\n        position: relative\\n        min-height: $list-timeline-height\\n        > .timeline-interval\\n          display: inline-flex\\n          flex-shrink: 0\\n          align-items: center\\n          justify-content: center\\n          height: $timeline-circle\\n          width: $timeline-circle\\n          &:before // Line\\n            display: block\\n            position: absolute\\n            content: ''\\n            width: $timeline-width\\n            background: $primary-color\\n          > .circle\\n            position: relative\\n            z-index: 2\\n            height: 100%\\n            width: 100%\\n            border-radius: 50%\\n            background: #fff\\n            box-shadow: inset 0 0 0 2px $primary-color\\n        \\n        > .status-date\\n          font-size: 1.2rem\\n          flex-shrink: 0\\n          flex-basis: $timeline-status-date\\n          margin: $margin-top-wrappers 0 0 0\\n          > div\\n            position: relative\\n            z-index: 4\\n            width: fit-content\\n            padding: .8rem\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            border-radius: .2rem\\n            color: #000\\n            .time\\n              color: rgba($text-color, .5)\\n          svg\\n            position: absolute\\n            top: 0\\n            left: calc(100% + 1.1rem)\\n            z-index: 5\\n            padding: 0\\n            width: auto\\n            height: 1.5rem\\n            transform: translate(-100%, 1.5rem) rotateY(180deg)\\n            > polyline\\n              fill: #fff\\n              stroke: #ddd\\n              stroke-width: 30\\n        // Wrapper pricelist\\n        > .wrapper-status\\n            position: relative\\n            margin: $margin-top-wrappers 0 0 2.5rem\\n            padding: .8rem\\n            height: 100%\\n            min-height: $list-timeline-height\\n            width: 100%\\n            overflow: hidden\\n            border-radius: .3rem .3rem .5rem .5rem\\n            line-height: 1.3\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            svg\\n              position: absolute\\n              top: 0\\n              left: 0\\n              z-index: 5\\n              padding: 0\\n              width: auto\\n              height: 1.5rem\\n              transform: translate(-99%, 1.5rem)\\n              > polyline\\n                fill: #fff\\n                stroke: #ddd\\n                stroke-width: 30\\n            .status\\n              min-height: 2rem\\n              white-space: normal\\n              @include max-lines(1, $max-width: 100%)\\n              &:before\\n                margin-right: .5rem\\n            .reason\\n              display: block\\n              margin: .7rem 0 1.4rem 0\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              white-space: normal\\n              word-wrap: break-word\\n              color: rgba($text-color, .8)\\n      li > .timeline-interval\\n        &:before // Line\\n          top: 0\\n          height: 100%\\n          background: linear-gradient(180deg, transparent, $primary-color 60%)\\n        &:after // Arrow\\n          position: absolute\\n          content: ''\\n          top: $timeline-circle\\n          height: .5rem\\n          width: .5rem\\n          border: $timeline-width solid rgba($primary-color, .6)\\n          border-right: none\\n          border-bottom: none\\n          transform: rotate(45deg)\\n        > .circle\\n          box-shadow: inset 0 0 0 2px $primary-color\\n      li:last-of-type > .timeline-interval\\n        &:before, &:after\\n          display: none\\n      li:first-of-type:not(.ended) > .timeline-interval \\n        &:before\\n          top: -2rem\\n          height: calc(100% + 3rem)\\n      li:first-of-type.ended \\n        > .timeline-interval > .circle\\n          position: relative\\n          &:before\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            transform: translate(-50%, -50%)\\n            @include fontawesome(\\\"\\\\f111\\\", \\\"solid\\\", .5rem, 0, rgba($primary-color, .5), unset)\\n        > .status-date > div\\n            box-shadow: 0 0 0 1px rgba($text-color, .4)\\n            svg\\n              polyline\\n                fill: #fff\\n                stroke: rgba($text-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.queue-cost-detail{max-width:min(90vw,70rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2{font-family:\\\"Roboto slab\\\",serif;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;white-space:nowrap}ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2>.outer{display:flex;align-items:center;text-overflow:ellipsis;max-width:calc(100% - 200px)}ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2>.outer>.queue-info{font-family:\\\"Roboto condensed\\\",sans-serif;display:flex;align-items:center;min-width:0;color:#404040}ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small{font-weight:400}ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{font-weight:300;color:rgba(64,64,64,.7)}@media(max-width: 1200px){ux-dialog.queue-cost-detail ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{display:none}}ux-dialog.queue-cost-detail .body{min-height:6.2rem}ux-dialog.queue-cost-detail .body div[ref=costDetailWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.queue-cost-detail .body .dialog-loader,ux-dialog.queue-cost-detail .body .not-found{margin:0;padding:2rem;color:rgba(64,64,64,.6)}ux-dialog.queue-cost-detail .body .content{padding:2rem}ux-dialog.queue-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7)}ux-dialog.queue-cost-detail table td{vertical-align:top}ux-dialog.queue-cost-detail table td.text-end{font-family:\\\"Roboto mono\\\",sans-serif}ux-dialog.queue-cost-detail table tbody tr:last-of-type{box-shadow:0 5px 5px 0px rgba(64,64,64,.1)}ux-dialog.queue-cost-detail table tfoot>tr>td,ux-dialog.queue-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.queue-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.queue-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.queue-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.queue-cost-detail .gross-amount,ux-dialog.queue-cost-detail .order-amount{font-family:\\\"Roboto mono\\\",sans-serif;font-weight:500;margin:0;white-space:nowrap;text-align:right}ux-dialog.queue-cost-detail .gross-amount.DISCONTINUED,ux-dialog.queue-cost-detail .order-amount.DISCONTINUED{color:rgba(64,64,64,.8);text-decoration:line-through #cc2900}ux-dialog.queue-cost-detail .gross-amount.order-amount,ux-dialog.queue-cost-detail .order-amount.order-amount{display:block;color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-cost-detail.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAGA,4BACE,yBAAA,CACA,yCAAA,CACA,uEACE,+BAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,kBAAA,CACA,8EACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4BAAA,CACA,0FACE,yCAAA,CACA,YAAA,CACA,kBAAA,CACA,WAAA,CACA,aCvBK,CDwBL,gGACE,eAAA,CACA,qGACE,eAAA,CACA,uBAAA,CACF,0BACE,qGACE,YAAA,CAAA,CACZ,kCACE,iBAAA,CACA,6DACE,QAAA,CACA,SAAA,CACA,eAAA,CACA,yDAAA,CACF,8FACE,QAAA,CACA,YAAA,CACA,uBAAA,CACF,2CACE,YAAA,CACJ,kCACE,oCAAA,CACA,qCACE,kBAAA,CACA,8CACE,oCAAA,CAEF,wDACE,0CAAA,CAGA,mGACE,kBAAA,CACF,yDACE,gFAAA,CACF,wDACE,2CAAA,CACR,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,oFACE,oCAAA,CACA,eAAA,CACA,QAAA,CACA,kBAAA,CACA,gBAAA,CACA,8GExCF,uBAD+B,CAE/B,oCAAA,CFyCE,8GACE,aAAA,CACA,aC9EO\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-cost-detail\\n  max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    font-family: 'Roboto slab', serif\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1.5rem\\n    white-space: nowrap\\n    > .outer\\n      display: flex\\n      align-items: center\\n      text-overflow: ellipsis\\n      max-width: calc(100% - 200px)\\n      > .queue-info\\n        font-family: 'Roboto condensed', sans-serif\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        color: $text-color\\n        > small\\n          font-weight: 400\\n          > span\\n            font-weight: 300\\n            color: rgba(64, 64, 64, 0.7)\\n          @media (max-width: 1200px)\\n            > span\\n              display: none\\n  .body\\n    min-height: 6.2rem\\n    div[ref=\\\"costDetailWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    .dialog-loader, .not-found\\n      margin: 0\\n      padding: 2rem\\n      color: rgba($text-color, .6)\\n    .content\\n      padding: 2rem\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    td\\n      vertical-align: top\\n      &.text-end\\n        font-family: \\\"Roboto mono\\\", sans-serif\\n    tbody \\n      tr:last-of-type\\n        box-shadow: 0 5px 5px 0px rgba($text-color, .1)\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n  .gross-amount, .order-amount\\n    font-family: \\\"Roboto mono\\\", sans-serif\\n    font-weight: 500\\n    margin: 0\\n    white-space: nowrap\\n    text-align: right\\n    &.DISCONTINUED\\n      @include line-through()\\n    &.order-amount\\n      display: block\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.queue-interrupt-delivery{max-width:min(90vw,70rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2{font-family:\\\"Roboto slab\\\",serif;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;white-space:nowrap}ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2>.outer{display:flex;align-items:center;text-overflow:ellipsis;max-width:calc(100% - 200px)}ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2>.outer>.queue-info{font-family:\\\"Roboto condensed\\\",sans-serif;display:flex;align-items:center;min-width:0;color:#404040}ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small{font-weight:400}ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{font-weight:300;color:rgba(64,64,64,.7)}@media(max-width: 1200px){ux-dialog.queue-interrupt-delivery ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{display:none}}ux-dialog.queue-interrupt-delivery .content{padding:2rem}ux-dialog.queue-interrupt-delivery .content p{margin:0}ux-dialog.queue-interrupt-delivery .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-interrupt-delivery.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGA,mCACE,yBAAA,CACA,yCAAA,CACA,8EACE,+BAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,cAAA,CACA,kBAAA,CACA,qFACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4BAAA,CACA,iGACE,yCAAA,CACA,YAAA,CACA,kBAAA,CACA,WAAA,CACA,aCvBK,CDwBL,uGACE,eAAA,CACA,4GACE,eAAA,CACA,uBAAA,CACF,0BACE,4GACE,YAAA,CAAA,CACZ,4CACE,YAAA,CACA,8CACE,QAAA,CACJ,2CACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-interrupt-delivery\\n  max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    font-family: 'Roboto slab', serif\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    white-space: nowrap\\n    > .outer\\n      display: flex\\n      align-items: center\\n      text-overflow: ellipsis\\n      max-width: calc(100% - 200px)\\n      > .queue-info\\n        font-family: 'Roboto condensed', sans-serif\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        color: $text-color\\n        > small\\n          font-weight: 400\\n          > span\\n            font-weight: 300\\n            color: rgba(64, 64, 64, 0.7)\\n          @media (max-width: 1200px)\\n            > span\\n              display: none\\n  .content\\n    padding: 2rem\\n    p\\n      margin: 0\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;white-space:nowrap}ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer{display:flex;align-items:center;text-overflow:ellipsis;max-width:calc(100% - 200px)}ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer>.queue-info{display:flex;align-items:center;min-width:0;margin:0 1rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040}ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small{font-weight:400}ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{font-weight:300}ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small:last-child{margin-left:1rem;padding-left:1rem;line-height:1.6;overflow:hidden;text-overflow:ellipsis;border-left:1px solid #e5e5e5}@media(max-width: 1200px){ux-dialog.queue-message-preview ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{display:none}}ux-dialog.queue-message-preview .body{padding:2rem}ux-dialog.queue-message-preview .body iframe{border:none;width:100%;height:0;transition:height .3s ease-out}ux-dialog.queue-message-preview .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-message-preview.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAIE,2EACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,cAAA,CACA,kBAAA,CACA,kFACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4BAAA,CACA,8FACE,YAAA,CACA,kBAAA,CACA,WAAA,CACA,aAAA,CACA,yCAAA,CACA,aCrBK,CDsBL,oGACE,eAAA,CACA,yGACE,eAAA,CACF,+GACE,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,eAAA,CACA,sBAAA,CACA,6BAAA,CACF,0BACE,yGACE,YAAA,CAAA,CAEZ,sCACE,YAAA,CACA,6CACE,WAAA,CACA,UAAA,CACA,QAAA,CACA,8BAAA,CAEJ,wCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-message-preview\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    white-space: nowrap\\n    > .outer\\n      display: flex\\n      align-items: center\\n      text-overflow: ellipsis\\n      max-width: calc(100% - 200px)\\n      > .queue-info\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        margin: 0 1rem\\n        font-family: 'Roboto condensed', sans-serif\\n        color: $text-color\\n        > small\\n          font-weight: 400\\n          > span\\n            font-weight: 300\\n          &:last-child\\n            margin-left: 1rem\\n            padding-left: 1rem\\n            line-height: 1.6\\n            overflow: hidden\\n            text-overflow: ellipsis\\n            border-left: 1px solid #e5e5e5\\n          @media (max-width: 1200px)\\n            > span\\n              display: none\\n\\n  .body\\n    padding: 2rem\\n    iframe\\n      border: none\\n      width: 100%\\n      height: 0\\n      transition: height .3s ease-out\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.queue-payment{max-width:min(90vw,70rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2{font-family:\\\"Roboto slab\\\",serif;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;white-space:nowrap}ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2>.outer{display:flex;align-items:center;text-overflow:ellipsis;max-width:calc(100% - 200px)}ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2>.outer>.queue-info{font-family:\\\"Roboto condensed\\\",sans-serif;display:flex;align-items:center;min-width:0;color:#404040}ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small{font-weight:400}ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{font-weight:300;color:rgba(64,64,64,.7)}@media(max-width: 1200px){ux-dialog.queue-payment ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{display:none}}ux-dialog.queue-payment .body{min-height:6.2rem}ux-dialog.queue-payment .body div[ref=paymentWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.queue-payment .body .banner-message.error{margin:2rem}ux-dialog.queue-payment .body .dialog-loader,ux-dialog.queue-payment .body .not-found{margin:0;padding:2rem;color:rgba(64,64,64,.6)}ux-dialog.queue-payment .body .content{padding:2rem}ux-dialog.queue-payment .body .content .ka-table-like{margin:0;box-shadow:0 0 1px 0 #404040}ux-dialog.queue-payment .body .content .ka-table-like thead{background:#f9f9f9}ux-dialog.queue-payment .body .content .ka-table-like tbody tr:not(.thead){height:4.15rem}ux-dialog.queue-payment .body .content .ka-table-like tr{box-shadow:none}ux-dialog.queue-payment .body .content .ka-table-like tr.thead{background:#f9f9f9;box-shadow:inset 0 1px 0 0 rgba(64,64,64,.2),inset 0 -1px 0 0 rgba(64,64,64,.2)}ux-dialog.queue-payment .body .content .ka-table-like tr td,ux-dialog.queue-payment .body .content .ka-table-like tr th{padding:1rem 0 1rem 1rem;vertical-align:top}ux-dialog.queue-payment .body .content .ka-table-like tr td:last-of-type,ux-dialog.queue-payment .body .content .ka-table-like tr th:last-of-type{padding-right:1rem}ux-dialog.queue-payment .body .content .mono{font-size:clamp(1.2rem,2vw,1.4rem);font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";white-space:nowrap}ux-dialog.queue-payment .body .link{line-height:1.2;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040;text-underline-offset:.3rem;cursor:pointer;transition:color .3s ease}ux-dialog.queue-payment .body .link.external:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.queue-payment .body .link:hover{color:#c41 !important}ux-dialog.queue-payment .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-payment.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,wBAGA,yBACE,CAAA,yCACA,CAAA,mEACA,+BACE,CAAA,YACA,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,kBACA,CAAA,0EACA,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,4BACA,CAAA,sFACA,yCACE,CAAA,YACA,CAAA,kBACA,CAAA,WACA,CAAA,aCtBK,CAAA,4FDwBL,eACE,CAAA,iGACA,eACE,CAAA,uBACA,CAAA,0BACF,iGACE,YACE,CAAA,CAAA,8BACZ,iBACE,CAAA,sDACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,oDACF,WACE,CAAA,sFACF,QACE,CAAA,YACA,CAAA,uBACA,CAAA,uCACF,YACE,CAAA,sDACA,QACE,CAAA,4BACA,CAAA,4DACA,kBACE,CAAA,2EACF,cACE,CAAA,yDACF,eACE,CAAA,+DACA,kBACE,CAAA,+EACA,CAAA,wHACF,wBACE,CAAA,kBACA,CAAA,kJACA,kBACE,CAAA,6CACR,kCACE,CAAA,sCACA,CAAA,kBACA,CAAA,oCACJ,eACE,CAAA,gBACA,CAAA,yCACA,CAAA,aCvEO,CAAA,2BDyEP,CAAA,cACA,CAAA,yBACA,CAAA,mDACA,oBE1BJ,CAAA,WF2B2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEvB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UFmBoE,CAAA,oBE5BD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,0CFaE,qBACE,CAAA,gCACN,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-payment\\n  max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    font-family: 'Roboto slab', serif\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    white-space: nowrap\\n    > .outer\\n      display: flex\\n      align-items: center\\n      text-overflow: ellipsis\\n      max-width: calc(100% - 200px)\\n      > .queue-info\\n        font-family: 'Roboto condensed', sans-serif\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        color: $text-color\\n        > small\\n          font-weight: 400\\n          > span\\n            font-weight: 300\\n            color: rgba(64, 64, 64, 0.7)\\n          @media (max-width: 1200px)\\n            > span\\n              display: none\\n  .body\\n    min-height: 6.2rem\\n    div[ref=\\\"paymentWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    .banner-message.error\\n      margin: 2rem\\n    .dialog-loader, .not-found\\n      margin: 0\\n      padding: 2rem\\n      color: rgba($text-color, .6)\\n    .content\\n      padding: 2rem\\n      .ka-table-like\\n        margin: 0\\n        box-shadow: 0 0 1px 0 $text-color\\n        thead\\n          background: #f9f9f9\\n        tbody tr:not(.thead)\\n          height: 4.15rem\\n        tr\\n          box-shadow: none\\n          &.thead\\n            background: #f9f9f9\\n            box-shadow: inset 0 1px 0 0 rgba($text-color, .2), inset 0 -1px 0 0 rgba($text-color, .2)\\n          td, th\\n            padding: 1rem 0 1rem 1rem\\n            vertical-align: top\\n            &:last-of-type\\n              padding-right: 1rem\\n      .mono\\n        font-size: clamp(1.2rem, 2vw, 1.4rem)\\n        font-family: 'Roboto mono', 'sans-serif'\\n        white-space: nowrap\\n    .link\\n      line-height: 1.2\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      color: $text-color\\n      text-underline-offset: .3rem\\n      cursor: pointer\\n      transition: color .3s ease\\n      &.external:after\\n        @include fontawesome('\\\\f35d', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n      &:hover\\n        color: darken($primary-color, 10%) !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.queue-sender{max-width:min(90vw,70rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.queue-sender ux-dialog-header .dialog-header-content h2{font-family:\\\"Roboto slab\\\",serif}ux-dialog.queue-sender ux-dialog-header .dialog-header-content h2 .sender-name{font-family:\\\"Roboto condensed\\\",sans-serif;opacity:0;transition:opacity .4s ease-in-out}ux-dialog.queue-sender .body{min-height:6.2rem}ux-dialog.queue-sender .body div[ref=senderWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.queue-sender .body .dialog-loader{margin:0;padding:2rem;color:rgba(64,64,64,.6)}ux-dialog.queue-sender .body>.content{padding:2rem}ux-dialog.queue-sender .body>.content h3{margin:0 0 2rem;padding:0;font-size:1.6rem}ux-dialog.queue-sender .body>.content .ka-table-like{margin:0;box-shadow:0 0 1px 0 #404040}ux-dialog.queue-sender .body>.content .ka-table-like thead{background:#f9f9f9}ux-dialog.queue-sender .body>.content .ka-table-like tbody tr:not(.thead){height:4.15rem}ux-dialog.queue-sender .body>.content .ka-table-like tr{box-shadow:none}ux-dialog.queue-sender .body>.content .ka-table-like tr.thead{background:#f9f9f9;box-shadow:inset 0 1px 0 0 rgba(64,64,64,.2),inset 0 -1px 0 0 rgba(64,64,64,.2)}ux-dialog.queue-sender .body>.content .ka-table-like tr td,ux-dialog.queue-sender .body>.content .ka-table-like tr th{padding:1rem 0 1rem 1rem;vertical-align:top}ux-dialog.queue-sender .body>.content .ka-table-like tr td:last-of-type,ux-dialog.queue-sender .body>.content .ka-table-like tr th:last-of-type{padding-right:1rem}ux-dialog.queue-sender .body>.content .ka-table-like small{font-size:clamp(1.3rem,2vw,1.4rem);color:rgba(64,64,64,.6)}ux-dialog.queue-sender .body>.content .multiboxes{margin:0;padding:0;list-style:none}ux-dialog.queue-sender .body>.content .multiboxes .multibox{cursor:pointer}ux-dialog.queue-sender .body>.content .multiboxes .multibox>small:first-of-type{color:#404040;text-decoration:underline}ux-dialog.queue-sender .body>.content .multiboxes .multibox>small:first-of-type:hover{color:#ed5a23}ux-dialog.queue-sender .body>.content .multiboxes .multibox:before{display:inline-block;content:\\\"\\\";margin:0 .2rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.queue-sender .body>.content .envelope-logo{display:block;font-size:1.3rem;max-width:20rem;white-space:nowrap;color:#000;cursor:pointer;text-decoration:underline;text-underline-offset:.5rem;text-decoration-thickness:1px;font-family:\\\"Roboto condensed\\\",sans-serif;transition:all .3s;overflow:hidden;text-overflow:ellipsis}ux-dialog.queue-sender .body>.content .envelope-logo:hover{color:#ed5a23}ux-dialog.queue-sender .body>.content .envelope-logo:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.queue-sender .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-sender.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,uBAGA,yBACE,CAAA,yCACA,CAAA,kEACA,+BACE,CAAA,+EACA,yCACE,CAAA,SACA,CAAA,kCACA,CAAA,6BACJ,iBACE,CAAA,oDACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,4CACF,QACE,CAAA,YACA,CAAA,uBACA,CAAA,sCACF,YACE,CAAA,yCACA,eACE,CAAA,SACA,CAAA,gBACA,CAAA,qDACF,QACE,CAAA,4BACA,CAAA,2DACA,kBACE,CAAA,0EACF,cACE,CAAA,wDACF,eACE,CAAA,8DACA,kBACE,CAAA,+EACA,CAAA,sHACF,wBACE,CAAA,kBACA,CAAA,gJACA,kBACE,CAAA,2DACN,kCACE,CAAA,uBACA,CAAA,kDACJ,QACE,CAAA,SACA,CAAA,eACA,CAAA,4DACA,cACE,CAAA,gFACA,aCvDG,CAAA,yBDyDD,CAAA,sFACA,aCzDI,CAAA,mED2DN,oBEVR,CAAA,WFW+B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEPnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qDFHE,aACE,CAAA,gBACA,CAAA,eACA,CAAA,kBE3BN,CAAA,UF4ByB,CAAA,cE1BzB,CAAA,yBACA,CAAA,2BACA,CAAA,6BACA,CAAA,yCACA,CAAA,kBACA,CAAA,eFsBM,CAAA,sBACA,CAAA,2DEtBN,aD7Cc,CAAA,4DDoER,oBEnBN,CAAA,WFoB6B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBEhBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+BFMF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-sender\\n  max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    font-family: 'Roboto slab', serif\\n    .sender-name\\n      font-family: 'Roboto condensed', sans-serif\\n      opacity: 0\\n      transition: opacity .4s ease-in-out\\n  .body\\n    min-height: 6.2rem\\n    div[ref=\\\"senderWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    .dialog-loader\\n      margin: 0\\n      padding: 2rem\\n      color: rgba($text-color, .6)\\n    > .content\\n      padding: 2rem\\n      h3\\n        margin: 0 0 2rem\\n        padding: 0\\n        font-size: 1.6rem\\n      .ka-table-like\\n        margin: 0\\n        box-shadow: 0 0 1px 0 $text-color\\n        thead\\n          background: #f9f9f9\\n        tbody tr:not(.thead)\\n          height: 4.15rem\\n        tr\\n          box-shadow: none\\n          &.thead\\n            background: #f9f9f9\\n            box-shadow: inset 0 1px 0 0 rgba($text-color, .2), inset 0 -1px 0 0 rgba($text-color, .2)\\n          td, th\\n            padding: 1rem 0 1rem 1rem\\n            vertical-align: top\\n            &:last-of-type\\n              padding-right: 1rem\\n        small\\n          font-size: clamp(1.3rem, 2vw, 1.4rem)\\n          color: rgba($text-color, .6)\\n      .multiboxes\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n        .multibox\\n          cursor: pointer\\n          > small:first-of-type\\n            color: $text-color\\n            text-decoration: underline\\n            &:hover\\n              color: $primary-color\\n          &:before\\n            @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .2rem 0 0, $primary-color)\\n      .envelope-logo\\n        display: block\\n        font-size: 1.3rem\\n        max-width: 20rem\\n        @include clickable(#000, $primary-color)\\n        overflow: hidden\\n        text-overflow: ellipsis\\n        &:before\\n          @include fontawesome('\\\\f08e', 'regular', inherit, 0 .5rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.report-attachments .body .general-options{display:inline-block}ux-dialog.report-attachments .body>div{padding:0 1rem 1rem}ux-dialog.report-attachments .body>div>h3{padding:0}ux-dialog.report-attachments .body>div>p{margin:0}ux-dialog.report-attachments .body table tbody>tr>td,ux-dialog.report-attachments .body table tbody>tr>th,ux-dialog.report-attachments .body table thead>tr>td,ux-dialog.report-attachments .body table thead>tr>th{font-size:1.3rem}ux-dialog.report-attachments .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.report-attachments .body table tbody .signature .fa-check{color:rgba(64,64,64,.3)}ux-dialog.report-attachments .body table tbody .signature .fa-check.checked{color:#1cc800}ux-dialog.report-attachments .printing-options>span:not(:last-of-type):after,ux-dialog.report-attachments .format-options>span:not(:last-of-type):after{content:\\\",\\\"}ux-dialog.report-attachments .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/report-attachments.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKI,oDACE,oBAAA,CACF,uCACE,mBAAA,CACA,0CACE,SAAA,CACF,yCACE,QAAA,CAGA,oNACE,gBAAA,CAEF,+DACE,eAAA,CAEA,oEACE,uBAAA,CACA,4EACE,aClBE,CDqBV,wJACE,WAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-attachments\\n  .body\\n    .general-options\\n      display: inline-block\\n    > div\\n      padding: 0 1rem 1rem\\n      > h3\\n        padding: 0\\n      > p\\n        margin: 0\\n    table\\n      tbody, thead\\n        > tr > td, > tr > th\\n          font-size: 1.3rem\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n        .signature\\n          .fa-check\\n            color: rgba($text-color, .3)\\n            &.checked\\n              color: $success-color\\n  .printing-options, .format-options\\n    > span\\n      &:not(:last-of-type):after\\n        content: ','\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.report-multibox-detail .body{padding:1rem}ux-dialog.report-multibox-detail .body .addressLines{display:grid;grid-template-columns:repeat(2, 1fr)}ux-dialog.report-multibox-detail .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/report-multibox-detail.sass\"],\"names\":[],\"mappings\":\"AAWE,uCACE,YAAA,CACA,qDACE,YAAA,CACA,oCAAA,CACJ,yCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.report-multibox-detail\\n  .body\\n    padding: 1rem\\n    .addressLines\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.report-queue-resend{max-width:min(90vw,70rem);font-family:\\\"Roboto condensed\\\",sans-serif}ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2{font-family:\\\"Roboto slab\\\",serif;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;white-space:nowrap}ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2>.outer{display:flex;align-items:center;text-overflow:ellipsis;max-width:calc(100% - 200px)}ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2>.outer>.queue-info{font-family:\\\"Roboto condensed\\\",sans-serif;display:flex;align-items:center;min-width:0;color:#404040}ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small{font-weight:400}ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{font-weight:300;color:rgba(64,64,64,.7)}@media(max-width: 1200px){ux-dialog.report-queue-resend ux-dialog-header .dialog-header-content h2>.outer>.queue-info>small>span{display:none}}ux-dialog.report-queue-resend .body{min-height:6.2rem}ux-dialog.report-queue-resend .body div[ref=queueResendWrapper]{height:0;opacity:0;overflow:hidden;transition:height .4s ease-in-out,opacity .4s ease-in-out}ux-dialog.report-queue-resend .body .dialog-loader{margin:0;padding:2rem;color:rgba(64,64,64,.6)}ux-dialog.report-queue-resend .recipients-counter{color:#404040}ux-dialog.report-queue-resend .selection-btn{min-width:126.02px}ux-dialog.report-queue-resend .alert{margin:1rem 2rem}ux-dialog.report-queue-resend .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.report-queue-resend .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/report-queue-resend.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,8BAGA,yBACE,CAAA,yCACA,CAAA,yEACA,+BACE,CAAA,YACA,CAAA,kBACA,CAAA,6BACA,CAAA,gBACA,CAAA,kBACA,CAAA,gFACA,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,4BACA,CAAA,4FACA,yCACE,CAAA,YACA,CAAA,kBACA,CAAA,WACA,CAAA,aCtBK,CAAA,kGDwBL,eACE,CAAA,uGACA,eACE,CAAA,uBACA,CAAA,0BACF,uGACE,YACE,CAAA,CAAA,oCACZ,iBACE,CAAA,gEACA,QACE,CAAA,SACA,CAAA,eACA,CAAA,yDACA,CAAA,mDACF,QACE,CAAA,YACA,CAAA,uBACA,CAAA,kDACJ,aC3CW,CAAA,6CD6CX,kBACE,CAAA,qCACF,gBACE,CAAA,4CACA,oBECF,CAAA,WFAyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEI7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,oBCgDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCFdF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-queue-resend\\n  max-width: min(90vw, 70rem)\\n  font-family: 'Roboto condensed', sans-serif\\n  ux-dialog-header .dialog-header-content h2\\n    font-family: 'Roboto slab', serif\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1.5rem\\n    white-space: nowrap\\n    > .outer\\n      display: flex\\n      align-items: center\\n      text-overflow: ellipsis\\n      max-width: calc(100% - 200px)\\n      > .queue-info\\n        font-family: 'Roboto condensed', sans-serif\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        color: $text-color\\n        > small\\n          font-weight: 400\\n          > span\\n            font-weight: 300\\n            color: rgba(64, 64, 64, 0.7)\\n          @media (max-width: 1200px)\\n            > span\\n              display: none\\n  .body\\n    min-height: 6.2rem\\n    div[ref=\\\"queueResendWrapper\\\"]\\n      height: 0\\n      opacity: 0\\n      overflow: hidden\\n      transition: height .4s ease-in-out, opacity .4s ease-in-out\\n    .dialog-loader\\n      margin: 0\\n      padding: 2rem\\n      color: rgba($text-color, .6)\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert\\n    margin: 1rem 2rem\\n    &:before\\n      @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-pending i.fal{color:rgba(64,64,64,.7)}router-view.spedizioni-pending i.fal.used-channel{color:#ed5a23}router-view.spedizioni-pending div.total-to-pay{margin-top:.5rem;font-size:1rem;font-weight:600;line-height:1;color:#ed5a23;text-align:center;text-transform:uppercase}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/drafts.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,qCACE,uBAAA,CACA,kDACE,aCLU,CDMd,gDACE,gBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,aCXY,CDYZ,iBAAA,CACA,wBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n\\nrouter-view.spedizioni-pending\\n  i.fal\\n    color: rgba($text-color, 0.7)\\n    &.used-channel\\n      color: $primary-color\\n  div.total-to-pay\\n    margin-top: 0.5rem\\n    font-size: 1rem\\n    font-weight: 600\\n    line-height: 1\\n    color: $primary-color\\n    text-align: center\\n    text-transform: uppercase\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-pending .channels{margin-top:.5rem}router-view.spedizioni-pending .channels>i{font-size:1.6rem;color:rgba(64,64,64,.4)}router-view.spedizioni-pending .channels>i.used{color:#ed5a23}router-view.spedizioni-pending .channels>i+i{margin-left:.5rem}router-view.spedizioni-pending .payment-method-edit{margin-left:.1rem;font-size:1.3rem;color:rgba(64,64,64,.4);transition:color .3s;cursor:pointer}router-view.spedizioni-pending .payment-method-edit:hover{color:#ed5a23}router-view.spedizioni-pending .payment .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer}router-view.spedizioni-pending .payment .delete-payment{color:#ed5a23;text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-pending .payment .delete-payment:before{display:inline-block;content:\\\"\\\";margin:0 .1rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-pending .payment .delete-payment:hover{color:#ed5a23}router-view.spedizioni-pending .payment .delete-payment.attachments{display:block}router-view.spedizioni-pending .payment .payment-pending{white-space:nowrap}router-view.spedizioni-pending .payment .payment-pending:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a36200;vertical-align:baseline;animation:spinner 1s linear infinite;font-weight:900}router-view.spedizioni-pending .payment span+.short-confirmation-code,router-view.spedizioni-pending .payment small+.short-confirmation-code{margin-top:.5rem}router-view.spedizioni-pending .gross-amount,router-view.spedizioni-pending .order-amount{white-space:nowrap}router-view.spedizioni-pending .gross-amount.line-through,router-view.spedizioni-pending .order-amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-pending .gross-amount.order-amount,router-view.spedizioni-pending .order-amount.order-amount{display:block}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/pending.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,yCAIE,gBACE,CAAA,2CACA,gBACE,CAAA,uBACA,CAAA,gDACA,aCRU,CAAA,6CDUV,iBACE,CAAA,oDAEN,iBACE,CAAA,gBACA,CAAA,uBACA,CAAA,oBACA,CAAA,cACA,CAAA,0DACA,aCnBY,CAAA,4DDuBZ,aACE,CAAA,aCxBU,CAAA,yBD0BV,CAAA,cACA,CAAA,wDAEF,aC7BY,CAAA,oBD+BV,CAAA,cACA,CAAA,oBACA,CAAA,aClCO,CAAA,+DDoCP,oBEcJ,CAAA,WFb2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBEiB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzDc,CAAA,uBDoCsE,CAAA,eEYE,CAAA,eAgBpF,CAAA,iCF3BI,CAAA,8DACF,aCtCU,CAAA,oEDwCV,aACE,CAAA,yDAEJ,kBACE,CAAA,gEACA,oBEIJ,CAAA,WFH2B,CAAA,QAA0B,CAAA,gBAAR,CAAA,iBEO7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aFXwD,CAAA,uBAA6B,CAAA,oCAAU,CAAA,eEoB7F,CAAA,6IFlBA,gBACE,CAAA,0FAEJ,kBACE,CAAA,oHACA,uBACE,CAAA,8CACA,CAAA,oHACF,aACE,CAAA,mBAGN,KACE,sBACE,CAAA,GACF,wBACE,CAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.spedizioni-pending\\n  .channels\\n    margin-top: .5rem\\n    > i\\n      font-size: 1.6rem\\n      color: rgba($text-color, .4)\\n      &.used\\n        color: $primary-color\\n      & + i\\n        margin-left: .5rem\\n\\n  .payment-method-edit\\n    margin-left: 0.1rem\\n    font-size: 1.3rem\\n    color: rgba($text-color, .4)\\n    transition: color .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n\\n  .payment\\n    .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n\\n    .delete-payment\\n      color: $primary-color\\n      text-decoration: none\\n      cursor: pointer\\n      transition: color .3s\\n      color: $text-color\\n      &:before\\n        @include fontawesome('\\\\f057', 'regular', 1.3rem, 0 .1rem 0 0, $primary-color, baseline)\\n        transition: transform 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n      &.attachments\\n        display: block\\n\\n    .payment-pending\\n      white-space: nowrap\\n      &:before\\n        @include fontawesome(\\\"\\\\f1ce\\\", \\\"solid\\\", 1.2rem, 0, darken($pending-color, 18%), baseline, spinner 1s linear infinite)\\n\\n    span + .short-confirmation-code, small + .short-confirmation-code\\n      margin-top: .5rem\\n\\n  .gross-amount, .order-amount\\n    white-space: nowrap\\n    &.line-through\\n      color: rgba($text-color, .8)\\n      text-decoration: line-through rgba($error-color, .6)\\n    &.order-amount\\n      display: block\\n\\n\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-destinatari h2{display:flex;align-items:center;justify-content:space-between}router-view.spedizioni-destinatari h2>.recipients-info{display:flex;align-items:center;min-width:0;margin:0}router-view.spedizioni-destinatari h2>.recipients-info>small{font-family:\\\"Roboto condensed\\\",sans-serif;line-height:1.5;font-size:1.5rem;color:rgba(64,64,64,.7)}@media(max-width: 1200px){router-view.spedizioni-destinatari h2>.recipients-info>small{display:none}}router-view.spedizioni-destinatari h2>.recipients-info>small>span{font-weight:400}router-view.spedizioni-destinatari h2>.recipients-info>small:last-child{margin-left:1rem;padding-left:1rem;overflow:hidden;text-overflow:ellipsis;border-left:1px solid #e5e5e5}router-view.spedizioni-destinatari h2>.buttons{display:flex;align-items:center;padding-right:1rem}router-view.spedizioni-destinatari .status .readonly{padding-left:.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:rgba(64,64,64,.6)}router-view.spedizioni-destinatari .status .readonly:after{content:\\\" Seleziona prima un canale\\\"}router-view.spedizioni-destinatari table>tbody>tr>td small{line-height:1.5;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.spedizioni-destinatari table>tbody>tr>td .interactive{cursor:pointer;transition:color .3s ease}router-view.spedizioni-destinatari table>tbody>tr>td .interactive:not(.link):not(.dialog):not(.download):not(.delivery-receipt):after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-destinatari table>tbody>tr>td .interactive.download:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-destinatari table>tbody>tr>td .interactive:hover,router-view.spedizioni-destinatari table>tbody>tr>td .interactive:hover .link{color:#c41 !important}router-view.spedizioni-destinatari table>tbody>tr>td .link{line-height:1.2;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040;text-underline-offset:.3rem}router-view.spedizioni-destinatari table>tbody>tr>td .dialog{text-decoration:underline;text-underline-offset:.3rem}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline{white-space:nowrap}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul{display:flex;align-items:center;margin:0;padding:0;list-style:none}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li{display:flex;align-items:center;padding:0}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li>i.check{display:block;border-radius:50%;width:1.7rem;height:1.7rem;background:#fff;box-shadow:inset 0 0 0 2px #bdbdbd;cursor:pointer;transition:box-shadow .2s ease-in-out,transform .2s ease-in-out,background .2s ease-in-out}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li>i.check:hover{box-shadow:inset 0 0 0 2px #858585;transform:scale(1.1)}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li>i.fa-long-arrow-right{margin:0 .6rem;font-size:1.4rem;color:#bdbdbd}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li.checked>i.fa-long-arrow-right{margin:0 .8rem;color:#43673d}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li.checked>i.check{width:1.2rem;height:1.2rem;background:#588e4f;box-shadow:none}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li.checked:hover>i.check{background:#43673d}router-view.spedizioni-destinatari table>tbody>tr>td .received-timeline>ul>li.checked+li:not(.checked)>i.fa-long-arrow-right{margin-left:.8rem}router-view.spedizioni-destinatari table>tbody>tr>td.channel>i,router-view.spedizioni-destinatari table>tbody>tr>td.channel>template>i{flex-shrink:0;width:4rem;font-size:2.2rem;color:#ed5a23}router-view.spedizioni-destinatari table>tbody>tr>td.channel p{margin:0 0 .1rem;line-height:1.4;font-weight:400;font-family:\\\"Roboto slab\\\",sans-serif;white-space:nowrap}router-view.spedizioni-destinatari table>tbody>tr>td.channel small{white-space:nowrap}router-view.spedizioni-destinatari table>tbody>tr>td.channel .arrow-icon{position:relative}router-view.spedizioni-destinatari table>tbody>tr>td.channel .arrow-icon:after{position:absolute;left:1.4rem;top:.7rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:300}router-view.spedizioni-destinatari table>tbody>tr>td.amount p{font-size:1.6rem;line-height:1.5;font-family:\\\"Roboto mono\\\",sans-serif;white-space:nowrap}router-view.spedizioni-destinatari table>tbody>tr>td.amount p:not(.line-through){color:#000}router-view.spedizioni-destinatari table>tbody>tr>td.amount p:not(.line-through):after{content:\\\"€\\\";margin-left:.5rem;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.spedizioni-destinatari table>tbody>tr>td.amount p.line-through{color:rgba(64,64,64,.9);text-decoration:line-through #cc2900;text-decoration-thickness:1.5px}router-view.spedizioni-destinatari table>tbody>tr>td.management>div{display:flex;justify-content:flex-end}@media(max-width: 575px){router-view.spedizioni-destinatari table>tbody>tr>td.management>div{display:block;padding:1rem;padding-left:0}}router-view.spedizioni-destinatari table>tbody>tr>td.message{width:35%}router-view.spedizioni-destinatari table>tbody>tr>td.message>div{max-width:min(100%,32rem)}router-view.spedizioni-destinatari table>tbody>tr>td.message>div .message-body,router-view.spedizioni-destinatari table>tbody>tr>td.message>div .message-subject{white-space:wrap;text-decoration:unset}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type{margin-right:0;background-color:#11254b}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type:hover{background:#03060d}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/recipients.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,sCAIE,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,uDACA,YACI,CAAA,kBACA,CAAA,WACA,CAAA,QACA,CAAA,6DACA,yCACE,CAAA,eACA,CAAA,gBACA,CAAA,uBACA,CAAA,0BACA,6DALF,YAMI,CAAA,CAAA,kEACF,eACE,CAAA,wEACF,gBACE,CAAA,iBACA,CAAA,eACA,CAAA,sBACA,CAAA,6BACA,CAAA,+CACR,YACE,CAAA,kBACA,CAAA,kBACA,CAAA,qDACJ,kBACE,CAAA,eACA,CAAA,kBACA,CAAA,sBACA,CAAA,uBACA,CAAA,2DACA,oCACE,CAAA,2DAGF,eACE,CAAA,gBACA,CAAA,yCACA,CAAA,kEACF,cACE,CAAA,yBACA,CAAA,sIACA,oBCCJ,CAAA,WDA2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCI/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UDRoE,CAAA,oBCDD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,iFDdE,oBCDJ,CAAA,WDE2B,CAAA,kBAAA,CAAA,gBAAoB,CAAA,iBCE/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UDNoE,CAAA,oBCHD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sJDZE,qBACE,CAAA,2DACJ,eACE,CAAA,gBACA,CAAA,yCACA,CAAA,aE1DO,CAAA,2BF4DP,CAAA,6DACF,yBACE,CAAA,2BACA,CAAA,wEACF,kBACE,CAAA,2EACA,YACE,CAAA,kBACA,CAAA,QACA,CAAA,SACA,CAAA,eACA,CAAA,8EACA,YACE,CAAA,kBACA,CAAA,SACA,CAAA,sFACA,aACE,CAAA,iBACA,CAAA,YACA,CAAA,aACA,CAAA,eACA,CAAA,kCACA,CAAA,cACA,CAAA,0FACA,CAAA,4FACA,kCACE,CAAA,oBACA,CAAA,oGACJ,cACE,CAAA,gBACA,CAAA,aACA,CAAA,4GAEA,cACE,CAAA,aACA,CAAA,8FACF,YACE,CAAA,aACA,CAAA,kBACA,CAAA,eACA,CAAA,oGAEA,kBACE,CAAA,6HAEJ,iBACE,CAAA,uIAER,aACE,CAAA,UACA,CAAA,gBACA,CAAA,aE9GQ,CAAA,+DFgHV,gBACE,CAAA,eACA,CAAA,eACA,CAAA,oCACA,CAAA,kBACA,CAAA,mEACF,kBACE,CAAA,yEACF,iBACE,CAAA,+EACA,iBACE,CAAA,WACA,CAAA,SACA,CAAA,oBC5ER,CAAA,WD6E6B,CAAA,QAA0B,CAAA,gBAAR,CAAA,iBCzE/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDqE0D,CAAA,kBAAS,CAAA,eC9EmB,CAAA,eAcpF,CAAA,8DDkEE,gBACE,CAAA,eACA,CAAA,oCACA,CAAA,kBACA,CAAA,iFACA,UACE,CAAA,uFACA,WACE,CAAA,iBACA,CAAA,gBACA,CAAA,yCACA,CAAA,2EACJ,uBACE,CAAA,oCACA,CAAA,+BACA,CAAA,oEAEJ,YACE,CAAA,wBACA,CAAA,yBACF,oEACE,aACE,CAAA,YACA,CAAA,cACA,CAAA,CAAA,6DACN,SACE,CAAA,iEACA,yBACE,CAAA,iKACA,gBACE,CAAA,qBACA,CAAA,mEAIN,cACE,CAAA,wBEnKY,CAAA,yEFqKZ,kBACE\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/_mixins'\\n\\nrouter-view.spedizioni-destinatari\\n  h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    > .recipients-info\\n        display: flex         \\n        align-items: center\\n        min-width: 0           \\n        margin: 0\\n        > small\\n          font-family: 'Roboto condensed', sans-serif\\n          line-height: 1.5\\n          font-size: 1.5rem\\n          color: rgba(64, 64, 64, 0.7)\\n          @media (max-width: 1200px)\\n            display: none\\n          > span\\n            font-weight: 400\\n          &:last-child\\n            margin-left: 1rem\\n            padding-left: 1rem\\n            overflow: hidden\\n            text-overflow: ellipsis\\n            border-left: 1px solid #e5e5e5\\n    > .buttons\\n      display: flex\\n      align-items: center\\n      padding-right: 1rem\\n  .status .readonly\\n    padding-left: .5rem\\n    overflow: hidden\\n    white-space: nowrap\\n    text-overflow: ellipsis\\n    color: rgba($text-color, .6)\\n    &:after\\n      content: ' Seleziona prima un canale'\\n\\n  table > tbody > tr > td\\n    small\\n      line-height: 1.5\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n    .interactive\\n      cursor: pointer\\n      transition: color .3s ease\\n      &:not(.link):not(.dialog):not(.download):not(.delivery-receipt):after\\n        @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n      &.download:after\\n        @include fontawesome('\\\\f56d', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n      &:hover, &:hover .link\\n        color: darken($primary-color, 10%) !important\\n    .link\\n      line-height: 1.2\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      color: $text-color\\n      text-underline-offset: .3rem\\n    .dialog\\n      text-decoration: underline\\n      text-underline-offset: .3rem\\n    .received-timeline\\n      white-space: nowrap\\n      > ul\\n        display: flex\\n        align-items: center\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n        > li\\n          display: flex\\n          align-items: center\\n          padding: 0\\n          > i.check\\n            display: block\\n            border-radius: 50%\\n            width: 1.7rem\\n            height: 1.7rem\\n            background: #fff\\n            box-shadow: inset 0 0 0 2px #bdbdbd\\n            cursor: pointer\\n            transition: box-shadow .2s ease-in-out, transform .2s ease-in-out, background .2s ease-in-out\\n            &:hover\\n              box-shadow: inset 0 0 0 2px #858585\\n              transform: scale(1.1)\\n          > i.fa-long-arrow-right\\n            margin: 0 .6rem\\n            font-size: 1.4rem\\n            color: #bdbdbd\\n          &.checked\\n            > i.fa-long-arrow-right\\n              margin: 0 .8rem\\n              color: #43673D\\n            > i.check\\n              width: 1.2rem\\n              height: 1.2rem\\n              background: #588E4F\\n              box-shadow: none\\n            &:hover\\n              > i.check\\n                background: #43673D\\n          &.checked + li:not(.checked)\\n            > i.fa-long-arrow-right\\n              margin-left: .8rem\\n    &.channel\\n      > i, > template > i\\n        flex-shrink: 0\\n        width: 4rem \\n        font-size: 2.2rem\\n        color: $primary-color\\n      p\\n        margin: 0 0 .1rem\\n        line-height: 1.4\\n        font-weight: 400\\n        font-family: 'Roboto slab', sans-serif\\n        white-space: nowrap\\n      small\\n        white-space: nowrap\\n      .arrow-icon\\n        position: relative\\n        &:after\\n          position: absolute\\n          left: 1.4rem\\n          top: .7rem\\n          @include fontawesome('\\\\f178', 'light', 1.7rem, 0, inherit, top)\\n    &.amount\\n      p\\n        font-size: 1.6rem\\n        line-height: 1.5\\n        font-family: 'Roboto mono', sans-serif\\n        white-space: nowrap\\n        &:not(.line-through)\\n          color: #000\\n          &:after\\n            content: '€'\\n            margin-left: .5rem\\n            font-size: 1.6rem\\n            font-family: 'Roboto condensed', sans-serif\\n        &.line-through\\n          color: rgba($text-color, .9)\\n          text-decoration: line-through darken($error-color, 10%)\\n          text-decoration-thickness: 1.5px\\n    &.management\\n      > div\\n        display: flex\\n        justify-content: flex-end\\n      @media (max-width: 575px)\\n        > div\\n          display: block\\n          padding: 1rem\\n          padding-left: 0\\n    &.message\\n      width: 35%\\n      > div\\n        max-width: min(100%, 32rem)\\n        .message-body, .message-subject\\n          white-space: wrap\\n          text-decoration: unset\\n\\nux-dialog.interrupt-delivery\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background-color: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 15%)\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-reportistica h2:not(.research),router-view.spedizioni-reportistica-dettaglio h2:not(.research){display:flex;align-items:center;justify-content:space-between}router-view.spedizioni-reportistica h2:not(.research)>.buttons,router-view.spedizioni-reportistica-dettaglio h2:not(.research)>.buttons{display:flex;align-items:center;padding-right:1rem}router-view.spedizioni-reportistica h2:not(.research)>.buttons .selected,router-view.spedizioni-reportistica-dettaglio h2:not(.research)>.buttons .selected{align-self:center;margin-right:1rem;font-size:1.5rem;color:#404040;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.spedizioni-reportistica h2:not(.research)>.buttons .selected strong,router-view.spedizioni-reportistica-dettaglio h2:not(.research)>.buttons .selected strong{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.spedizioni-reportistica table>tbody>tr>td .fisrt-letter:first-letter,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .fisrt-letter:first-letter{text-transform:uppercase}router-view.spedizioni-reportistica table>tbody>tr>td.created-at,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.created-at{font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.spedizioni-reportistica table>tbody>tr>td.created-at>div,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.created-at>div{color:rgba(64,64,64,.6)}router-view.spedizioni-reportistica table>tbody>tr>td.created-at>.data,router-view.spedizioni-reportistica table>tbody>tr>td.created-at>div>.data,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.created-at>.data,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.created-at>div>.data{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.spedizioni-reportistica table>tbody>tr>td small,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td small{line-height:1.5;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.spedizioni-reportistica table>tbody>tr>td .interactive,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive{cursor:pointer;transition:color .3s ease}router-view.spedizioni-reportistica table>tbody>tr>td .interactive:not(.link):not(.dialog):not(.copy):not(.accelera):has(>.cost):after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive:not(.link):not(.dialog):not(.copy):not(.accelera):has(>.cost):after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica table>tbody>tr>td .interactive.copy:after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive.copy:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica table>tbody>tr>td .interactive.copy.without-text:after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive.copy.without-text:after{margin:0}router-view.spedizioni-reportistica table>tbody>tr>td .interactive:hover,router-view.spedizioni-reportistica table>tbody>tr>td .interactive:hover .link,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive:hover,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .interactive:hover .link{color:#c41 !important}router-view.spedizioni-reportistica table>tbody>tr>td .link,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .link{line-height:1.2;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;color:#404040;text-underline-offset:.3rem}router-view.spedizioni-reportistica table>tbody>tr>td .link.external:after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .link.external:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .5rem;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica table>tbody>tr>td .dialog,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td .dialog{text-decoration:underline;text-underline-offset:.3rem}router-view.spedizioni-reportistica table>tbody>tr>td.management>div,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.management>div{display:flex;justify-content:flex-end}@media(max-width: 575px){router-view.spedizioni-reportistica table>tbody>tr>td.management>div,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.management>div{display:block;padding:1rem;padding-left:0}}router-view.spedizioni-reportistica table>tbody>tr>td.amount p,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount p{font-size:1.6rem;line-height:1.5;font-family:\\\"Roboto mono\\\",sans-serif;white-space:nowrap}router-view.spedizioni-reportistica table>tbody>tr>td.amount p:not(.line-through):not(.cost),router-view.spedizioni-reportistica table>tbody>tr>td.amount p.cost>span:not(.line-through),router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount p:not(.line-through):not(.cost),router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount p.cost>span:not(.line-through){color:#000}router-view.spedizioni-reportistica table>tbody>tr>td.amount p:not(.line-through):not(.cost):after,router-view.spedizioni-reportistica table>tbody>tr>td.amount p.cost>span:not(.line-through):after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount p:not(.line-through):not(.cost):after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount p.cost>span:not(.line-through):after{content:\\\"€\\\";margin-left:.5rem;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.spedizioni-reportistica table>tbody>tr>td.amount .line-through,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.amount .line-through{color:rgba(64,64,64,.9);text-decoration:line-through #cc2900;text-decoration-thickness:1.5px}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper{display:flex;gap:min(1.2rem,.6vw)}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper>.channel,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper>.channel{font-size:2rem;color:#bdbdbd}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper>.channel.used,router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper>.channel.used,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy{color:#c41}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy{position:relative}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy:after,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.channels-wrapper>.channel.courtesy:after{position:absolute;left:1.2rem;top:.65rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.accelera,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.accelera{display:inline-block;margin-top:.5rem}router-view.spedizioni-reportistica table>tbody>tr>td.channels>.accelera:before,router-view.spedizioni-reportistica-dettaglio table>tbody>tr>td.channels>.accelera:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#c41;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .attachments,router-view.spedizioni-reportistica .update-messages,router-view.spedizioni-reportistica .redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .attachments,router-view.spedizioni-reportistica-dettaglio .update-messages,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail{text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .attachments:not(.redirect-to-detail):before,router-view.spedizioni-reportistica .update-messages:not(.redirect-to-detail):before,router-view.spedizioni-reportistica .redirect-to-detail:not(.redirect-to-detail):before,router-view.spedizioni-reportistica-dettaglio .attachments:not(.redirect-to-detail):before,router-view.spedizioni-reportistica-dettaglio .update-messages:not(.redirect-to-detail):before,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:not(.redirect-to-detail):before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-reportistica .attachments:hover,router-view.spedizioni-reportistica .update-messages:hover,router-view.spedizioni-reportistica .redirect-to-detail:hover,router-view.spedizioni-reportistica-dettaglio .attachments:hover,router-view.spedizioni-reportistica-dettaglio .update-messages:hover,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:hover{color:#ed5a23}router-view.spedizioni-reportistica .attachments.attachments,router-view.spedizioni-reportistica .update-messages.attachments,router-view.spedizioni-reportistica .redirect-to-detail.attachments,router-view.spedizioni-reportistica-dettaglio .attachments.attachments,router-view.spedizioni-reportistica-dettaglio .update-messages.attachments,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.attachments{display:block}router-view.spedizioni-reportistica .attachments.update-messages.loading:before,router-view.spedizioni-reportistica .update-messages.update-messages.loading:before,router-view.spedizioni-reportistica .redirect-to-detail.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .attachments.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .update-messages.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.update-messages.loading:before{animation:spinner 1s linear infinite}router-view.spedizioni-reportistica .attachments.redirect-to-detail,router-view.spedizioni-reportistica .update-messages.redirect-to-detail,router-view.spedizioni-reportistica .redirect-to-detail.redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .attachments.redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .update-messages.redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.redirect-to-detail{margin-top:.5rem}router-view.spedizioni-reportistica .attachments.redirect-to-detail>span,router-view.spedizioni-reportistica .update-messages.redirect-to-detail>span,router-view.spedizioni-reportistica .redirect-to-detail.redirect-to-detail>span,router-view.spedizioni-reportistica-dettaglio .attachments.redirect-to-detail>span,router-view.spedizioni-reportistica-dettaglio .update-messages.redirect-to-detail>span,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.redirect-to-detail>span{display:block;color:rgba(64,64,64,.7);transition:color .3s}router-view.spedizioni-reportistica .attachments.redirect-to-detail>span:before,router-view.spedizioni-reportistica .update-messages.redirect-to-detail>span:before,router-view.spedizioni-reportistica .redirect-to-detail.redirect-to-detail>span:before,router-view.spedizioni-reportistica-dettaglio .attachments.redirect-to-detail>span:before,router-view.spedizioni-reportistica-dettaglio .update-messages.redirect-to-detail>span:before,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.redirect-to-detail>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-reportistica .attachments.redirect-to-detail:hover>span,router-view.spedizioni-reportistica .update-messages.redirect-to-detail:hover>span,router-view.spedizioni-reportistica .redirect-to-detail.redirect-to-detail:hover>span,router-view.spedizioni-reportistica-dettaglio .attachments.redirect-to-detail:hover>span,router-view.spedizioni-reportistica-dettaglio .update-messages.redirect-to-detail:hover>span,router-view.spedizioni-reportistica-dettaglio .redirect-to-detail.redirect-to-detail:hover>span{color:#ed5a23}router-view.spedizioni-reportistica .queue-cost-detail,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .queue-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail.legacy:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail.legacy:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail:hover,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:hover{color:#ed5a23}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/report/report.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.spedizioni-reportistica, router-view.spedizioni-reportistica-dettaglio\\n  h2:not(.research)\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    > .buttons\\n      display: flex\\n      align-items: center\\n      padding-right: 1rem\\n      .selected\\n        align-self: center\\n        margin-right: 1rem\\n        font-size: 1.5rem\\n        color: $text-color\\n        font-family: 'Roboto condensed', 'sans-serif'\\n        strong\\n          font-family: 'Roboto mono', 'sans-serif'\\n  table > tbody > tr > td\\n    .fisrt-letter:first-letter\\n      text-transform: uppercase\\n    &.created-at\\n      font-family: 'Roboto condensed', 'sans-serif'\\n      > div\\n        color: rgba($text-color, .6)\\n      > .data, > div > .data\\n        font-family: 'Roboto mono', 'sans-serif'\\n    small\\n      line-height: 1.5\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n    .interactive\\n      cursor: pointer\\n      transition: color .3s ease\\n      &:not(.link):not(.dialog):not(.copy):not(.accelera):has(> .cost):after\\n        @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n      &.copy\\n        &:after\\n          @include fontawesome('\\\\f0c5', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n        &.without-text:after\\n          margin: 0\\n      &:hover, &:hover .link\\n        color: darken($primary-color, 10%) !important\\n    .link\\n      line-height: 1.2\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      color: $text-color\\n      text-underline-offset: .3rem\\n      &.external:after\\n        @include fontawesome('\\\\f35d', 'regular', 1.5rem, 0 0 0 .5rem, darken($primary-color, 10%))\\n    .dialog\\n      text-decoration: underline\\n      text-underline-offset: .3rem\\n    &.management\\n      > div\\n        display: flex\\n        justify-content: flex-end\\n      @media (max-width: 575px)\\n        > div\\n          display: block\\n          padding: 1rem\\n          padding-left: 0\\n    &.amount\\n      p\\n        font-size: 1.6rem\\n        line-height: 1.5\\n        font-family: 'Roboto mono', sans-serif\\n        white-space: nowrap\\n        &:not(.line-through):not(.cost), &.cost > span:not(.line-through)\\n          color: #000\\n          &:after\\n            content: '€'\\n            margin-left: .5rem\\n            font-size: 1.6rem\\n            font-family: 'Roboto condensed', sans-serif\\n      .line-through\\n        color: rgba($text-color, .9)\\n        text-decoration: line-through darken($error-color, 10%)\\n        text-decoration-thickness: 1.5px\\n    &.channels \\n      > .channels-wrapper\\n        display: flex\\n        gap: min(1.2rem, .6vw)\\n        > .channel\\n          font-size: 2rem\\n          color: #bdbdbd\\n          &.used, &.courtesy\\n            color: darken($primary-color, 10%)\\n          &.courtesy\\n            position: relative\\n            &:after\\n              position: absolute\\n              left: 1.2rem\\n              top: .65rem\\n              @include fontawesome('\\\\f30b', 'regular', 1.5rem, 0, inherit, top)\\n      > .accelera\\n        display: inline-block\\n        margin-top: .5rem\\n        &:before\\n          @include fontawesome('\\\\f48b', 'regular', 1.8rem, 0 1rem 0 0, darken($primary-color, 10%))\\n\\n\\n  .attachments, .update-messages, .redirect-to-detail\\n    text-decoration: none\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:not(.redirect-to-detail):before\\n      @include fontawesome('\\\\f2f1', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color, baseline)\\n      transition: transform 0.5s ease-out\\n    &:hover\\n      color: $primary-color\\n    &.attachments\\n      display: block\\n    &.update-messages.loading:before\\n      animation: spinner 1s linear infinite\\n    &.redirect-to-detail\\n      margin-top: .5rem\\n      > span\\n        display: block\\n        color: rgba($text-color, .7)\\n        transition: color .3s\\n        &:before\\n          @include fontawesome('\\\\f35d', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color, baseline)\\n          transition: transform 0.5s ease-out\\n      &:hover > span\\n        color: $primary-color\\n\\n  .queue-cost-detail\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:before\\n      @include fontawesome('\\\\f51e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &.legacy:before\\n      @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n\\n  @keyframes spinner\\n    0%\\n      transform: rotate(0deg)\\n    100%\\n      transform: rotate(360deg)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n \\n// Dashboard\\n$dashboard-gap: 2rem;\\n$dashboard-sm: 428px;\\n$dashboard-md: 768px;\\n$dashboard-lg: 1300px;\\n$dashboard-red: #f75f5f;\\n$dashboard-green: #7ddc70;\\n$dashboard-yellow: #fbd12f;\\n$md-dashboard-inset-gap: 1.2rem;\\n$dashboard-image-size: 6px 6px;\\n$dashboard-darken-red: #a41111;\\n$md-dashboard-border-radius: 5px;\\n$md-dashboard-header-height: 7rem;\\n$dashboard-card-min-height: 28rem;\\n$dashboard-aside-width: min(20vw, 45rem);\\n$md-dashboard-text-color: $secondary-color;\\n$md-dashboard-background: rgba($secondary-color, .05);\\n$md-dashboard-text-color-matte: rgba($secondary-color, .8);\\n$md-dashboard-text-color-very-matte: rgba($secondary-color, .2);\\n$dashboard-background-image: repeating-linear-gradient(45deg, transparent 0, rgba(#000, .1) 1px, transparent 0, transparent 50%);\\n\\n// Dashboard aside\\n$dashboard-aside-title-height: 4rem;\\n$dashboard-aside-visible-cards: 2;\\n$dashboard-aside-card-ref-width: 36rem;\\n$dashboard-aside-card-ref-height: 19rem;\\n\\n$css-vars: (\\n  'text-color': $text-color,\\n  'primary-color': $primary-color,\\n  'secondary-color': $secondary-color,\\n  'accent-color': $accent-color,\\n  'warning-color': $warning-color,\\n  'error-color': $error-color,\\n  'success-color': $success-color,\\n  'pending-color': $pending-color,\\n  'background-color': $background-color,\\n  'dashboard-gap': $dashboard-gap,\\n  'dashboard-sm': $dashboard-sm,\\n  'dashboard-md': $dashboard-md,\\n  'dashboard-lg': $dashboard-lg,\\n  'dashboard-red': $dashboard-red,\\n  'dashboard-aside-width': $dashboard-aside-width,\\n  'dashboard-aside-visible-cards': $dashboard-aside-visible-cards,\\n  'dashboard-green': $dashboard-green,\\n  'dashboard-yellow': $dashboard-yellow,\\n  'dashboard-darken-red': $dashboard-darken-red,\\n  'md-dashboard-text-color': $md-dashboard-text-color,\\n  'md-dashboard-text-color-matte': $md-dashboard-text-color-matte,\\n  'md-dashboard-text-color-very-matte': $md-dashboard-text-color-very-matte,\\n  'dashboard-background-image': $dashboard-background-image\\n);\\n\\n@mixin css-vars {\\n  :root {\\n    @each $name, $value in $css-vars {\\n      --#{$name}: #{$value};\\n    }\\n  }\\n}\\n\\n\\n\",\"@import 'vars'\\n\\n@mixin ellipsis\\n  min-width: 0 // serve per far funzionare il troncamento dentro grid e flex.\\n  overflow: hidden\\n  white-space: nowrap\\n  text-overflow: ellipsis\\n\\n@mixin limitwidth($default)\\n  @include ellipsis\\n  max-width: $default\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: darken($error-color, 10%))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  text-underline-offset: .5rem\\n  text-decoration-thickness: 1px\\n  font-family: 'Roboto condensed', sans-serif\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n    content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n  &.small\\n    height: 2.5rem\\n    padding: 0 .8rem 0 .8rem\\n    border-radius: 2px\\n    line-height: 2.5rem\\n    > span\\n      padding: 0 .8rem\\n      font-size: 1.4rem\\n      margin-right: -.8rem\\n      font-weight: 500\\n      font-family: 'Roboto condensed', sans-serif\\n    > i\\n      padding-right: .8rem\\n      font-size: 1.4rem\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    pointer-events: none\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &.clickable\\n    position: relative\\n    transition: color .3s ease, background .3s ease, box-shadow .3s ease, text-decoration .3s ease\\n    &:before\\n      content: ''\\n      position: absolute\\n      left: .6rem\\n      bottom: .5rem\\n      width: 0\\n      height: 1px\\n      display: block\\n      background: rgba(#000, .5)\\n      transition: width .3s ease\\n    &:hover:before\\n      width: calc(100% - 1.2rem)\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.rounded\\n    padding: .6rem 1rem\\n    border-radius: 2rem !important\\n    text-transform: uppercase\\n    font-size: 1.3rem\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #faddc0\\n  &.secondary\\n    color: #000\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #e3e8f0\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n    &.clickable:hover\\n      box-shadow: inset 0 0 0 1px darken(#86ac4d, 20%)\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: clamp(.2rem, .5vw, .5rem)\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.4\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #fff\\n  box-shadow: inset 0 0 0 1px #b2b2b2\\n  -webkit-word-break: break-word\\n  -webkit-word-wrap: break-word\\n  word-break: break-word\\n  word-wrap: break-word\\n  -webkit-hyphens: auto\\n  -moz-hyphens: auto\\n  hyphens: auto\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      color: #000\\n      &:not([href*=\\\"mailto\\\"]):before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px  #ffb300\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba( #ffb300, .3) 0, rgba( #ffb300, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()\\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n\\n@mixin global-keyframes\\n  @keyframes loading-elipsis\\n    0%\\n      content: ''\\n    25%\\n      content: '.'\\n    50%\\n      content: '..'\\n    75%\\n      content: '...'\\n  @keyframes shine\\n    to\\n      background-position: right -40px top 0\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n  var content = item[1];\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (typeof btoa === \"function\") {\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n  }\n\n  return [content].join(\"\\n\");\n};","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"./static/images/favicon.png\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"./static/fontawesome/all.min.css\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"<!DOCTYPE html>\\n<html lang=\\\"it\\\">\\n  <head>\\n    <meta charset=\\\"utf-8\\\">\\n    <title>Multidialogo&reg;</title>\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, minimum-scale=1, maximum-scale=1\\\">\\n    <link rel=\\\"icon\\\" type=\\\"image/png\\\" sizes=\\\"310x310\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"/static/bootstrap/css/all.min.css\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_1___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"https://fonts.googleapis.com/icon?family=Material+Icons\\\">\\n    <link defer href=\\\"https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto+Flex:opsz,wght@8..144,100..1000&family=Roboto+Slab:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\\\" rel=\\\"stylesheet\\\">\\n    <!-- Google Tag Manager -->\\n    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PRX5B52N');</script>\\n    <!-- End Google Tag Manager -->\\n  </head>\\n  <body aurelia-app=\\\"index\\\" class=\\\"layoutV2\\\">\\n    <script>\\n      document.documentElement.setAttribute('style', 'width: 100%; height: 100%; background: #fff url(/static/multiloader.gif) 50% 50%/100px 100px no-repeat');\\n      document.getElementsByTagName(\\\"body\\\")[0].setAttribute('style','display:none');(function(a,b,c){b=document,c='addEventListener';b[c]?b[c]('DOMContentLoaded',a):window.attachEvent('onload',a)})(function(){setTimeout(function(){document.documentElement.removeAttribute('style');document.getElementsByTagName(\\\"body\\\")[0].removeAttribute('style');},2000);});\\n    </script>\\n  </body>\\n</html>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <div if.bind=\\\"busy\\\" class=\\\"busy\\\"></div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <template if.bind=\\\"!_schema.datamultiple\\\">\\n    <input\\n      type=\\\"checkbox\\\"\\n      checked.bind=\\\"value\\\"\\n      disabled.bind=\\\"readonly\\\"\\n      focus.trigger=\\\"focus()\\\"\\n      blur.trigger=\\\"blur()\\\"\\n      class=\\\"${readonly?'readonly':''}\\\"\\n      />\\n    <div\\n      innerhtml.bind=\\\"description || _schema.description\\\"\\n      click.delegate=\\\"click($event)\\\"\\n      class=\\\"description ${readonly?'readonly':''}\\\">\\n    </div>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"display-value ${readonly ? 'readonly' : ''}\\\" click.delegate=\\\"open($event)\\\">\\n    <ul>\\n      <li repeat.for=\\\"item of valuestack\\\">${item.text|kaControlComboTextify}<i class=\\\"material-icons\\\" if.bind=\\\"_schema.datamultiple === true && !readonly && item.model.readonly !== true\\\" click.delegate=\\\"select(item)\\\">close</i></li>\\n    </ul>\\n  </div>\\n  <div ref=\\\"drawer\\\" class=\\\"${_schema.datamultiple === true ? 'multiple' : ''}\\\" show.bind=\\\"opened\\\">\\n    <template if.bind=\\\"schema.datapreload !== true || preloadedCombostack.length > 8\\\">\\n      <input type=\\\"text\\\"  class=\\\"search\\\" placeholder=\\\"Cerca\\\" ref=\\\"searchInput\\\" value.bind=\\\"term\\\" keyup.delegate=\\\"searchKeyUp($event)\\\" keydown.delegate=\\\"searchKeyDown($event)\\\" />\\n      <i if.bind=\\\"searchPending\\\" class=\\\"search-loader fal fa-spinner-third fa-spin\\\"></i>\\n    </template>\\n    <ul>\\n      <li repeat.for=\\\"item of _combostack\\\" click.delegate=\\\"select(item)\\\" class=\\\"${item.selected?'selected':''} ${item.model.optgroup?'optgroup':''} ${item.model.readonly === true?'readonly':''}\\\" innerhtml.bind=\\\"item.text | kaControlComboHighlight:term\\\"></li>\\n    </ul>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDate:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-date-drawer\\\">\\n    <ka-datetime type=\\\"date\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDatetime:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-datetime-drawer\\\">\\n    <ka-datetime type=\\\"datetime\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"displayValue\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <input\\n    type=\\\"file\\\"\\n    files.bind=\\\"value\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    disabled.bind=\\\"readonly\\\">\\n  <div class=\\\"buttons\\\">\\n    <button if.bind=\\\"!readonly && value\\\" click.delegate=\\\"clear()\\\"><i class=\\\"material-icons\\\">clear</i></button> \\n    <button if.bind=\\\"!readonly && !value\\\" style=\\\"pointer-events:none\\\"><i class=\\\"material-icons\\\">publish</i></button> \\n    <button if.bind=\\\"params.download && value\\\" click.delegate=\\\"download()\\\"><i class=\\\"material-icons\\\">get_app</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"item ${readonly?'readonly':''}\\\" repeat.for=\\\"value of _value\\\">\\n    <div class=\\\"buttons\\\">\\n      <button if.bind=\\\"!readonly && $last && (!schema.max || $index+1 < schema.max)\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></button> \\n      <button if.bind=\\\"!readonly && !$first && (!schema.min || $index+1 > schema.min)\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button> \\n    </div>\\n    <div class=\\\"row no-gutters\\\">\\n      <div class=\\\"${schema.class || 'col'}\\\" repeat.for=\\\"schema of _schema.datasource.model.schema\\\">\\n        <label if.bind=\\\"schema.label\\\">${schema.label}</label>\\n        <input\\n          type=\\\"text\\\"\\n          value.bind=\\\"value[schema.field]\\\"\\n          disabled.bind=\\\"readonly\\\"\\n          placeholder.bind=\\\"schema.label || schema.field\\\"\\n          keydown.delegate=\\\"keydown()\\\"\\n          change.delegate=\\\"change()\\\"\\n          focus.trigger=\\\"focus()\\\"\\n          blur.trigger=\\\"blur()\\\"\\n          ka-tooltip.bind=\\\"schema.label\\\"\\n          class=\\\"display-value ${readonly?'readonly':''}\\\">\\n      </div>\\n    </div>\\n  </div>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"number\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"password\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h3 if.bind=\\\"label\\\">${label}</h3>\\n  <table class=\\\"ka-table-like\\\">\\n    <thead>\\n      <tr>\\n        <th repeat.for=\\\"schema of _schema\\\">${schema.label || schema.field}</th>\\n        <th></th>\\n      </tr>\\n    </thead>\\n    <tbody>\\n      <tr repeat.for=\\\"value of _value\\\">\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"value[schema.field]\\\" change.delegate=\\\"update()\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button></td>\\n      </tr>\\n      <tr>\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"newValue[schema.field]\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"add(newValue)\\\"><i class=\\\"material-icons\\\">add</i></button></td>\\n      </tr>\\n    </tbody>\\n  </table>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <textarea\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  </textarea>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label\\\">${label} <span if.bind=\\\"required\\\">*</span></label>\\n  <div>\\n    <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n    <div class=\\\"ka-control-buttons\\\">\\n      <button class=\\\"button-dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"dropdown()\\\"  if.bind=\\\"!readonly && buttons.includes('dropdown')\\\">\\n        <i if.bind=\\\"schema.control === 'combo'\\\" class=\\\"fal fa-chevron-down\\\"></i>\\n        <i if.bind=\\\"schema.control === 'date'\\\" class=\\\"fal fa-calendar\\\"></i>\\n        <i if.bind=\\\"schema.control === 'time'\\\" class=\\\"fal fa-clock\\\"></i>\\n        <i if.bind=\\\"schema.control === 'datetime'\\\" class=\\\"fal fa-calendar\\\"></i>\\n      </button>\\n      <button class=\\\"button-clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"clear()\\\"  if.bind=\\\"!readonly && buttons.includes('clear')\\\"><i class=\\\"fal fa-times\\\"></i></button>\\n      <button class=\\\"button-copy\\\" tabindex=\\\"-1\\\" click.delegate=\\\"copy()\\\"  if.bind=\\\"buttons.includes('copy')\\\" title=\\\"Copia negli appunti\\\"><i class=\\\"fal fa-clone\\\"></i></button>\\n  </div>\\n  </div>\\n  <div class=\\\"ka-control-overlay\\\">\\n    <div class=\\\"ka-control-error\\\" if.bind=\\\"!readonly && validator.errors.length\\\">\\n      <div class=\\\"ka-control-error-scroller\\\">\\n        <span repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n        <span class=\\\"clone\\\" repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n      </div>\\n    </div>\\n    <div class=\\\"ka-control-description\\\" if.bind=\\\"!readonly && schema.control !=='check' && description\\\">${description}</div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <template if.bind=\\\"['date', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: -1 })\\\"><i class=\\\"far fa-angle-left\\\"></i></button>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.month\\\" change.trigger=\\\"setValues({ month: selected.month })\\\">\\n            <option repeat.for=\\\"month of months\\\" model.bind=\\\"month.numeric\\\">${month.long}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.year\\\" change.trigger=\\\"setValues({ year: selected.year })\\\">\\n            <option repeat.for=\\\"year of years\\\" model.bind=\\\"year\\\">${year}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: 1 })\\\"><i class=\\\"far fa-angle-right\\\"></i></button>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row weekdays\\\">\\n      <div repeat.for=\\\"weekday of weekdays\\\" class=\\\"col\\\">${weekday.short}</div>\\n    </div>\\n\\n    <div class=\\\"row days\\\" repeat.for=\\\"week of weeks\\\">\\n      <div repeat.for=\\\"day of week\\\" class=\\\"col\\\">\\n        <button class=\\\"${day.day === selected.day ? 'selected':''}\\\" disabled.bind=\\\"day.month !== selected.month\\\" click.delegate=\\\"setValues({ day: day.day })\\\">${day.text}</button>\\n      </div>\\n    </div>\\n  </template>\\n  <template if.bind=\\\"['time', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\"></div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.hour\\\" change.trigger=\\\"setValues({ hours: selected.hour })\\\">\\n            <option repeat.for=\\\"hour of hours\\\" model.bind=\\\"hour\\\">${hour < 10 ? '0' : ''}${hour}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.minute\\\" change.trigger=\\\"setValues({ minutes: selected.minute })\\\">\\n            <option repeat.for=\\\"minute of minutes\\\" model.bind=\\\"minute\\\">${minute < 10 ? '0' : ''}${minute}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\"></div>\\n    </div>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <ux-dialog class.bind=\\\"params.class\\\">\\n    <ux-dialog-header if.bind=\\\"params.title\\\">\\n      <h2>${params.title}</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body if.bind=\\\"params.body\\\">\\n      <div innerhtml.bind=\\\"params.body\\\"></div>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewModel\\\">\\n      <compose view-model.bind=\\\"params.viewModel\\\" model.bind=\\\"params.viewModelParams\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewStrategy\\\">\\n      <compose view.bind=\\\"params.viewStrategy\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'alert'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">OK</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'confirm'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">Continua</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'cancel'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n    </ux-dialog-footer>\\n\\n  </ux-dialog>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label && control !== 'check'\\\" for=\\\"${id}\\\">${label} ${error}</label>\\n  <label if.bind=\\\"label && control === 'check'\\\" for=\\\"${id}\\\" click.delegate=\\\"checkClick($event)\\\">${label} ${error}</label>\\n\\n  <input if.bind=\\\"control=='text'||control=='password'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='number'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='date'||control=='age'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='time'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='file'\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"file\\\"\\n    files.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='file'\\\"\\n    type=\\\"text\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    readonly/>\\n\\n  <input if.bind=\\\"control=='check'&&!datamultiple\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"checkbox\\\"\\n    checked.bind=\\\"value & validate\\\"\\n\\n    class=\\\"ka-input\\\"\\n    />\\n  <div if.bind=\\\"control=='check'&&!datamultiple&&description\\\"\\n    class=\\\"ka-input-checkbox-description\\\"\\n    innerHTML.bind=\\\"description\\\"\\n    click.delegate=\\\"checkClick($event)\\\"\\n    ></div>\\n\\n  <div if.bind=\\\"control=='combo'\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-combo\\\"\\n    mouse-leave.trigger=\\\"comboClose()\\\"\\n  >\\n    <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" value.bind=\\\"displayValue & validate\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n    <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n      <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n      <ul class=\\\"${datamultiple?'multiple':''}\\\">\\n        <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n      </ul>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(datapreload)\\\"\\n    ref=\\\"checklist\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <ul class=\\\"multiple\\\">\\n      <li repeat.for=\\\"item of checklistItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"checklistSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n    </ul>\\n  </div>\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(!datapreload)\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <div class=\\\"ka-input-combo\\\" mouse-leave.trigger=\\\"comboClose()\\\" style=\\\"position: relative;\\\">\\n      <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n      <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n        <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n        <ul>\\n          <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboListAddItem(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n        </ul>\\n      </div>\\n    </div>\\n    <ul>\\n      <li repeat.for=\\\"item of comboListItems\\\">\\n        <span click.delegate=\\\"comboListRemoveItem(item, $event)\\\">X</span>&nbsp;${item.text}\\n      </li>\\n    </ul>\\n  </div>\\n\\n  <div if.bind=\\\"control=='editor'\\\" id=\\\"${id}\\\" class=\\\"ka-input-editor\\\"></div>\\n\\n  <textarea if.bind=\\\"control=='textarea'\\\"\\n    id=\\\"${id}\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input ka-input-textarea pad${buttons.length}\\\">\\n  </textarea>\\n\\n  <button class=\\\"ka-input-button show\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.show()\\\"  if.bind=\\\"buttons.showEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F4;</i></button>\\n  <button class=\\\"ka-input-button hide\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.hide()\\\"  if.bind=\\\"buttons.hideEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F5;</i></button>\\n  <button class=\\\"ka-input-button open\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.open()\\\"  if.bind=\\\"buttons.openEnabled\\\"><i class=\\\"material-icons\\\">&#xE89E;</i></button>\\n  <button class=\\\"ka-input-button add\\\"   tabindex=\\\"-1\\\" click.delegate=\\\"buttons.add()\\\"   if.bind=\\\"buttons.addEnabled\\\"><i class=\\\"material-icons\\\">add</i></button>\\n  <button class=\\\"ka-input-button download\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.download()\\\" if.bind=\\\"buttons.downloadEnabled\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n  <button class=\\\"ka-input-button dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.dropdown()\\\" if.bind=\\\"buttons.dropdownEnabled\\\"><i class=\\\"fal fa-chevron-down\\\"></i></button>\\n  <button class=\\\"ka-input-button clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.clear()\\\" if.bind=\\\"buttons.clearEnabled\\\"><i class=\\\"material-icons\\\">&#xE14C;</i></button>\\n\\n  <div class=\\\"ka-input-error\\\" if.bind=\\\"validator.errors.length\\\"><span repeat.for=\\\"error of validator.errors\\\">${error}</span></div>\\n  <div class=\\\"ka-input-description\\\" if.bind=\\\"control!='check'&&description\\\">${description}</div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Control linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === false\\\"\\n    with.bind=\\\"parent\\\"\\n    record.bind=\\\"resource.resource.id\\\"\\n    config.bind=\\\"resource.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"resource.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||resource.schema[name].readonly||resource.readonly\\\"\\n    required.bind=\\\"required||resource.schema[name].required\\\"\\n    view-model.ref=\\\"resource.controls[name]\\\"\\n    client.bind=\\\"resource.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === true\\\"\\n    record.bind=\\\"parent.data.id\\\"\\n    config.bind=\\\"parent.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"parent.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||parent.schema[name].readonly||parent.readonly\\\"\\n    required.bind=\\\"required||parent.schema[name].required\\\"\\n    view-model.ref=\\\"parent.controls[name]\\\"\\n    client.bind=\\\"parent.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <!-- Control NOT linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"!name\\\"\\n    record.bind=\\\"record\\\"\\n    config.bind=\\\"config\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"value\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    required.bind=\\\"required\\\"\\n    view-model.ref=\\\"input\\\"\\n    client.bind=\\\"client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerAside\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <div class=\\\"layout-logo\\\"></div>\\n\\n    <slot></slot>\\n\\n    <nav>\\n      <ul>\\n        <template repeat.for=\\\"item of _navigation\\\">\\n          <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n  \\n            <i class=\\\"expand fas fa-chevron-down\\\" click.delegate=\\\"expand(item)\\\"></i>\\n            <i class=\\\"collapse fas fa-chevron-up\\\" click.delegate=\\\"collapse(item)\\\"></i>\\n  \\n            <template if.bind=\\\"item.icon\\\">\\n              <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n              <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n            </template>\\n  \\n            <span class=\\\"item-label\\\">${item.label}</span>\\n            <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n            <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n            \\n            <a if.bind=\\\"!item.href && item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link expand\\\" click.delegate=\\\"expand(item)\\\"></a>\\n            <a if.bind=\\\"!item.href && !item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link collapse\\\" click.delegate=\\\"collapse(item)\\\"></a>\\n\\n  \\n            <ul if.bind=\\\"item.nav && !item.collapsed\\\">\\n              <template repeat.for=\\\"item of item.nav\\\">\\n                <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n                  \\n                  <template if.bind=\\\"item.icon\\\">\\n                    <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n                    <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n                  </template>\\n        \\n                  <span class=\\\"item-label\\\">${item.label}</span>\\n                  <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n                  <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n  \\n                </li>\\n              </template>\\n            </ul>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n  </aside>\\n  <header>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerHeader\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <h1>${router.currentInstruction.config.title}</h1>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <span class=\\\"ka-navbar-menu-button\\\" click.delegate=\\\"toggle()\\\" ref=\\\"button\\\"><i class=\\\"material-icons\\\">&#xE5D2;</i></span>\\n  <nav class=\\\"ka-navbar-menu ${visible?'visible':''}\\\" ref=\\\"nav\\\">\\n    <div class=\\\"ka-navbar-menu-label\\\">${appName}</div>\\n    <a\\n      repeat.for=\\\"route of routes\\\"\\n      click.delegate=\\\"hide()\\\"\\n      class=\\\"ka-navbar-menu-item ${route.isActive?'active':''} ${route.settings.class}\\\"\\n      href.bind=\\\"route.href\\\">\\n      <template if.bind=\\\"route.settings.icon\\\">\\n        <i if.bind=\\\"route.settings.icon.indexOf('fa') === 0\\\" class=\\\"${route.settings.icon}\\\"></i>\\n        <i else class=\\\"material-icons\\\" innerhtml.bind=\\\"route.settings.icon\\\"></i>\\n      </template>\\n      ${route.title}\\n    </a>\\n  </nav>\\n  <h1>${router.currentInstruction.config.title}</h1>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div if.bind=\\\"!loaded\\\" class=\\\"ka-resource-progress\\\" ><div></div></div>\\n\\n  <div show.bind=\\\"loaded\\\">\\n    <div class=\\\"ka-resource-buttons\\\">\\n      <a replaceable part=\\\"buttons\\\" repeat.for=\\\"button of buttons\\\" click.delegate=\\\"button.action()\\\">\\n        <i class=\\\"material-icons\\\" innerHtml.bind=\\\"button.icon\\\"></i>\\n        <span if.bind=\\\"!button.icon&&button.label&&button.label.length\\\">${button.label}</span>\\n      </a>\\n    </div>\\n    <slot></slot>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"ka-toolbar\\\" if.bind=\\\"!error\\\">\\n    <div class=\\\"ka-tools-left\\\">\\n      <template replaceable part=\\\"tools-left\\\">\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0\\\" class=\\\"ka-table-button filters ${hasFilters?'active':''}\\\" click.delegate=\\\"show_filters()\\\"><i class=\\\"material-icons\\\">&#xE8B6;</i></button>\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0 && hasFilters\\\" class=\\\"ka-table-button reset\\\" click.delegate=\\\"reset_filters()\\\"><i class=\\\"material-icons\\\">&#xE033;</i></button>\\n        <button if.bind=\\\"actions.indexOf('export') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"show_export()\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-navigation\\\">\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('first')\\\"><i class=\\\"material-icons\\\">&#xE5DC;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('prev')\\\"><i class=\\\"material-icons\\\">&#xE314;</i></button>\\n      <div class=\\\"ka-position\\\" click.delegate=\\\"show_options($event)\\\">\\n        <div show.bind=\\\"!isLoading && position\\\">${position} <span show.bind=\\\"!isLoading && total\\\">di ${total}</span></div>\\n      </div>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('next')\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('last')\\\"><i class=\\\"material-icons\\\">&#xE5DD;</i></button>\\n    </div>\\n    <div class=\\\"ka-tools-right\\\">\\n      <template replaceable part=\\\"tools-right\\\">\\n        <button if.bind=\\\"actions.indexOf('add') >= 0 && routes.add !== false\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">&#xE145;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-table-options hidden\\\" if.bind=\\\"config_options.pages.datasource.length > 0\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.limit\\\" value.bind=\\\"settings.limit\\\" change.call=\\\"set_limit(value)\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.pages\\\" value.bind=\\\"settings.page\\\" change.call=\\\"set_page(value)\\\"></ka-input>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"isLoading\\\" class=\\\"ka-table-progress\\\"><div class=\\\"indeterminate\\\"></div></div>\\n\\n  <div class=\\\"ka-wrapper\\\">\\n    <table>\\n      <thead if.bind=\\\"schemaLoaded\\\">\\n        <tr replaceable part=\\\"thead-tr\\\">\\n          <th repeat.for=\\\"column of columns_schema\\\">\\n            <span>${column.label}</span>\\n            <a if.bind=\\\"column.label && (!sortables || settings.sort_columns[column.field])\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[settings.sort_columns[column.field]].class}\\\" click.delegate=\\\"set_sort(settings.sort_columns[column.field])\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>\\n          </th>\\n          <th></th>\\n        </tr>\\n      </thead>\\n      <tbody>\\n        <tr if.bind=\\\"!isLoading && !records.length && !error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">Nessun record trovato</td>\\n        </tr>\\n        <tr if.bind=\\\"!isLoading && error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">${error}</td>\\n        </tr>\\n        <tr repeat.for=\\\"record of records\\\" part=\\\"tbody-tr\\\" dblclick.delegate=\\\"edit(record)\\\">\\n          <td repeat.for=\\\"column of columns_schema\\\" data-th=\\\"${column.label}\\\">${format(record, column.field)}</td>\\n          <td class=\\\"ka-tr-tools\\\">\\n            <div class=\\\"floater\\\">\\n              <template replaceable part=\\\"tr-tools\\\">\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('copy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record)\\\" title=\\\"Copy\\\"><i class=\\\"material-icons\\\">add_circle_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('deepcopy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record, true)\\\" title=\\\"Deep copy\\\"><i class=\\\"material-icons\\\">add_circle</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('delete') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"delete(record)\\\" title=\\\"Delete\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('edit') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"edit(record)\\\" title=\\\"Open/Edit\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n              </template>\\n            </div>\\n          </td>\\n        </tr>\\n      </tbody>\\n    </table>\\n  </div>\\n\\n\\n  <div class=\\\"ka-table-drawer filters hidden\\\">\\n    <h2>Filtra elenco</h2>\\n    <div style=\\\"padding:1rem\\\">\\n      <ka-flex-row if.bind=\\\"filters.length && settings.filters && !isLoading\\\" repeat.for=\\\"field of filters\\\" class=\\\"no-padding\\\">\\n        <ka-input if.bind=\\\"field.control=='text'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.text\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='list'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.datatype=='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='number'||field.control=='age'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.number\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        \\n        <ka-input if.bind=\\\"field.control=='list'\\\" required=\\\"false\\\" config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='text'||field.control=='number'||field.control=='age'||field.datatype=='json'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='combo'\\\" required=\\\"false\\\" client.bind=\\\"client\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_from\\\" default=\\\"\\\" ka-flex=\\\"50\\\" label=\\\"${field.label} dal\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_to\\\" default=\\\"\\\" ka-flex label=\\\"${field.label} al\\\"></ka-input>\\n      </ka-flex-row>\\n    </div>\\n    <ka-flex-row>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"apply_filters()\\\" ka-flex=\\\"50\\\">Applica filtri</button>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"reset_filters()\\\" ka-flex=\\\"50\\\">Pulisci filtri</button>\\n    </ka-flex-row>\\n\\n  </div>\\n\\n  <div class=\\\"ka-table-drawer export hidden\\\">\\n    <h2>Esporta elenco</h2>\\n    <h3>Campi da esportare</h3>\\n    <div style=\\\"padding:0 0 0 1rem;max-height:250px;overflow:hidden;overflow-y:auto;box-shadow:inset 0 -5px 5px -5px #00000033\\\">\\n      <ka-input\\n        if.bind=\\\"export_schema.length && !isLoading\\\"\\n        repeat.for=\\\"field of export_schema\\\"\\n        ka-flex\\n        class=\\\"no-label\\\"\\n        description.bind=\\\"field.label\\\"\\n        config.bind=\\\"{ control: 'check', field: field.field }\\\"\\n        value.bind=\\\"settings.exports[field.field]\\\">\\n      </ka-input>\\n    </div>\\n    <p><small><a href=\\\"\\\" click.delegate=\\\"select_export()\\\">Seleziona tutti</a> / <a href=\\\"\\\" click.delegate=\\\"unselect_export()\\\">Deseleziona tutti</a></small></p>\\n    <h3>Pagine da esportare</h3>\\n    <div style=\\\"padding: 0 1rem\\\">\\n      <ka-input\\n        class=\\\"no-label\\\"\\n        config.bind=\\\"{control: 'combo', datasource: [{value: 'LST', text: 'Pagina corrente'}, {value: 'ALL', text: 'Tutte le pagine'}], datapreload: true, default: 'LST'}\\\"\\n        value.bind=\\\"exportPages\\\">\\n      </ka-input>\\n    </div>\\n    <ka-flex-row>\\n      <ka-button click.delegate=\\\"apply_export($event, exportPages)\\\" ka-flex=\\\"50\\\">Esporta</ka-button>\\n    </ka-flex-row>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <tr if.bind=\\\"_schema\\\" class=\\\"ka-table-filters\\\">\\n    <th repeat.for=\\\"column of _schema\\\">\\n      <ka-control if.bind=\\\"filters[column.field]\\\" ka-enter.call=\\\"apply()\\\" schema.bind=\\\"column\\\" value.bind=\\\"filters[column.field].value\\\"></ka-control>\\n    </th>\\n    <th><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"apply()\\\">Applica</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"reset()\\\">Azzera</a> filtri</th>\\n  </tr>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <nav>\\n    <a repeat.for=\\\"tab of tabs\\\"\\n      class=\\\"${tab.visible?'active':''}\\\"\\n      click.delegate=\\\"select(tab)\\\">${tab.label}</a>\\n  </nav>\\n\\n  <div ref=\\\"buttons\\\">\\n    <template replaceable part=\\\"buttons\\\"></template>\\n  </div>\\n\\n  <div ref=\\\"contents\\\">\\n    <slot></slot>\\n  </div>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./intents.sass\\\"></require>\\n\\n  <template if.bind=\\\"intent\\\">\\n    <ux-dialog if.bind=\\\"intent.code === 'LOGIN'\\\" class=\\\"intents-dialog\\\">\\n      <ux-dialog-body>\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n  \\n    <ux-dialog if.bind=\\\"intent.code === 'CONFIRM-TRANSMISSION-DELAY'\\\">\\n      <ux-dialog-header><h2>Conferma invio</h2></ux-dialog-header>\\n      <ux-dialog-body class=\\\"p-0\\\">\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n\\n    <ux-dialog if.bind=\\\"intent.code === 'EMAIL-CONFIRMATION-REQUIRED'\\\">\\n      <ux-dialog-header><h2>Conferma registrazione</h2></ux-dialog-header>\\n      <ux-dialog-body>\\n        <p class=\\\"m-0\\\">\\n          <template if.bind=\\\"intent.subject.context === 'FIRST-ACCESS-LOGIN'\\\">\\n            <strong>Ci sei quasi! Abbiamo solo bisogno di confermare il tuo indirizzo email.</strong><br>\\n            Accedi alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.\\n          </template>\\n          <template if.bind=\\\"intent.subject.context === 'LOGIN-ATTEMPT'\\\">\\n            <strong>OOPS! Sembra che tu non abbia ancora confermato il tuo indirizzo email.</strong><br>\\n            Per accedere vai subito alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.<br>\\n            Ci rivediamo tra poco!\\n          </template>\\n        </p>\\n      </ux-dialog-body>\\n      <ux-dialog-footer>\\n        <ka-button click.trigger=\\\"controller.cancel()\\\">\\n          <a href=\\\"login\\\" style=\\\"display: inline-block; width: 100%; text-decoration: none; color: #fff;\\\">Chiudi</a>\\n        </ka-button>\\n      </ux-dialog-footer>\\n    </ux-dialog>\\n  </template>\\n\\n  <ux-dialog if.bind=\\\"intents\\\" class=\\\"intents-dialog\\\">\\n    <ux-dialog-header>\\n      <h2>Attenzione!</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body>\\n      <p if.bind=\\\"response.detail\\\" class=\\\"m-0 mb-3 detail\\\"><strong>${response.detail}.</strong></p>\\n      <ul if.bind=\\\"intents.length\\\" class=\\\"m-0 p-0\\\">\\n        <li repeat.for=\\\"intent of intents\\\" class=\\\"intent\\\">\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-CERTIFIED-DOCUMENTS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-LEGAL-FORM'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-IBAN'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'SDD-ENABLED-REQUIRED'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PAY-ORDERS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'ACCEPT-CASHBACK-CONTRACT'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"{ subject: intent.subject, controller }\\\"></compose>\\n        </li>\\n      </ul>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer>\\n      <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n      <ka-button if.bind=\\\"!includesCode('ACCEPT-CASHBACK-CONTRACT') && !includesCode('PAY-ORDERS')\\\" click.trigger=\\\"controller.ok()\\\">Conferma</ka-button>\\n    </ux-dialog-footer>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">\\n    Per procedere con questa operazione è necessario sottoscrivere i nuovi contratti cashback!<br>\\n    <span class=\\\"navigate\\\" click.delegate=\\\"goToCashbackContracts()\\\">Clicca se vuoi essere reindirizzato alla sezione dedicata e prenderne visione.</span>\\n  </p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div>\\n    <p class=\\\"py-3\\\">Il tracciato verrà elaborato non prima del ${params.dueWorkingDate|dateFormat:'DD/MM/YYYY'}. <strong>Confermi l'invio del file?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"send()\\\">Continua</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n\\n  <div class=\\\"loginbox\\\">\\n    <p><i class=\\\"far fa-exclamation-circle\\\"></i>Hai inserito l'indirizzo email di un utente esistente, effettua l'accesso per riscattare l'offerta!</p>\\n    <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <div class=\\\"form\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"{ label: 'Username', field: 'username', control: 'text', required: true }\\\" value.bind=\\\"username\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" ka-enter.call=\\\"login()\\\" config.bind=\\\"{ label: 'Password', field: 'password', control: 'password', required: true }\\\" value.bind=\\\"password\\\"></ka-input>\\n      <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"login($event)\\\">Login</ka-button></ka-flex-row>\\n    </div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">Non è possibile usufruire del cashback in presenza di ordini insoluti!</p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <template if.bind=\\\"hasPendingDocuments && !hasMissingDocuments\\\">\\n    <p>I documenti sono in attesa di approvazione. Una volta approvati, l'autorizzazione stampa in proprio MAV verrà automaticamente attivata.</p>\\n  </template>\\n  <template if.bind=\\\"hasMissingDocuments\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Documenti intestati a ${params.userDisplayName}</span>\\n    </p>\\n    <ul if.bind=\\\"documents && documents.length\\\" class=\\\"subject m-0 p-0\\\">\\n      <li repeat.for=\\\"document of documents\\\" class=\\\"m-0 p-3 document\\\">\\n        <p if.bind=\\\"!document.edit\\\" class=\\\"m-0 d-flex me-xl-5\\\">\\n          <i if.bind=\\\"!document.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"document.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>${document.label}<small if.bind=\\\"document.placeholder\\\" class=\\\"d-block\\\">${document.placeholder}</small></span>\\n        </p>\\n        <ka-control if.bind=\\\"document.edit\\\" name=\\\"file\\\" buttons=\\\"clear\\\" with.bind=\\\"document\\\"></ka-control>\\n        <div if.bind=\\\"!document.saved\\\" class=\\\"d-flex text-nowrap ms-5\\\">\\n          <p if.bind=\\\"!document.edit && document._errors.PENDING\\\" class=\\\"m-0\\\">In attesa di approvazione</p>\\n          <div if.bind=\\\"!document.edit && document._errors.MISSING\\\">\\n            <ka-button \\n              if.bind=\\\"document.templateFileName\\\" \\n              click.delegate=\\\"downloadStaticResource(document)\\\" \\n              class=\\\"flat inverted secondary with-icon m-0 ms-3\\\">\\n              <i class=\\\"fas fa-file-download\\\"></i>\\n              <span>Scarica modello</span>\\n            </ka-button>\\n            <ka-button \\n              click.delegate=\\\"edit(document)\\\" \\n              class=\\\"flat inverted primary with-icon ms-3\\\">\\n              <i class=\\\"fas fa-file-upload\\\"></i>\\n              <span>Carica documento</span>\\n            </ka-button>\\n          </div>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"document.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"save(document, $event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.billingProfileOwnerDisplayName && params.billingProfileOwnerDisplayName !== params.userDisplayName ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n      <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Inserire un codice IBAN</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" name=\\\"iban\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Contesto: anagrafica.</span><br>\\n      <span>${params.userId === api.user.id ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.userDisplayName ? params.userDisplayName : 'me stesso'}.</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Specificare la forma legale</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" schema.bind=\\\"schema.companyLegalFormCode\\\" value.bind=\\\"data.companyLegalFormCode\\\" buttons=\\\"dropdown\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved && api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"intent-description m-0 mb-3\\\">\\n    <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n    <span>${params.billingProfileOwnerDisplayName && params.parentId !== params.userId ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n    <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n  </p>\\n  <ul class=\\\"subject m-0 p-0\\\">\\n    <li class=\\\"m-0 p-3\\\">\\n      <p class=\\\"m-0 d-flex\\\">\\n        <i if.bind=\\\"saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n        <span if.bind=\\\"saved\\\">Domiciliazione bancaria attivata con successo</span>\\n      </p>\\n      <ka-control if.bind=\\\"edit\\\" schema.bind=\\\"schema.sdd\\\" change.trigger=\\\"save()\\\"></ka-control>\\n    </li>\\n  </ul>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div\\n      ref=\\\"burgerAside\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <div \\n      class=\\\"km-layout-logo ${!config.brand ? 'empty' : ''}\\\" \\n      if.bind=\\\"config.brand\\\" \\n      style=\\\"background-image:url(${config.brand})\\\">\\n    </div>\\n\\n    <slot name=\\\"beforeNav\\\"></slot>\\n    <nav>\\n      <!-- First level -->\\n      <ul class=\\\"first-level\\\">\\n        <template repeat.for=\\\"item of _navigation.items\\\">\\n          <li\\n            id=\\\"${item.id}\\\"\\n            if.bind=\\\"!item.hidden\\\"\\n            class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n            <div class=\\\"wrapper\\\">\\n              <span \\n                class=\\\"linkless\\\"\\n                if.bind=\\\"!item.href && !item.call\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\">\\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </span>\\n              <a \\n                href=\\\"${item.href}\\\"\\n                if.bind=\\\"item.href\\\" \\n                class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <a \\n                href=\\\"\\\"\\n                if.bind=\\\"item.call\\\"\\n                click.delegate=\\\"item.call()\\\"\\n                class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <i \\n                class=\\\"fas fa-chevron-down\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\"\\n                if.bind=\\\"item.nav && !item.call && !item.href\\\">\\n              </i> \\n            </div>\\n\\n            <!-- Second level -->\\n            <div class=\\\"sub-nav\\\" if.bind=\\\"item.nav\\\">\\n              <ul class=\\\"second-level\\\">\\n                <template repeat.for=\\\"item of item.nav\\\">\\n                  <li \\n                    if.bind=\\\"!item.hidden\\\" \\n                    class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.highlighted ? 'highlighted' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n                    <div class=\\\"wrapper\\\">\\n                      <span \\n                        class=\\\"linkless\\\"\\n                        if.bind=\\\"!item.href && !item.call\\\"\\n                        click.delegate=\\\"toggleNavigation(item)\\\">\\n                        <span class=\\\"label\\\">${item.label}</span>\\n                        <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                        <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                          <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                        </b>\\n                        <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                      </span>\\n                      <a \\n                        href=\\\"${item.href}\\\"\\n                        if.bind=\\\"item.href\\\" \\n                        class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                        <span class=\\\"label\\\">${item.label}</span>\\n                        <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                        <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                          <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                        </b>\\n                        <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                      </a>\\n                      <a \\n                        href=\\\"\\\"\\n                        if.bind=\\\"item.call\\\"\\n                        click.delegate=\\\"item.call()\\\"\\n                        class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                        <span class=\\\"label\\\">${item.label}</span>\\n                        <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                        <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                          <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                        </b>\\n                        <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                      </a>\\n                      <i \\n                        class=\\\"far fa-chevron-down\\\" \\n                        click.delegate=\\\"toggleNavigation(item)\\\"\\n                        if.bind=\\\"!item.call && !item.href && item.nav\\\"></i>\\n                    </div>\\n\\n                    <!-- Third level -->\\n                    <div class=\\\"sub-nav\\\" if.bind=\\\"item.nav\\\">\\n                      <ul class=\\\"third-level\\\">\\n                        <template repeat.for=\\\"item of item.nav\\\">\\n                          <li \\n                            if.bind=\\\"!item.hidden\\\"\\n                            class=\\\"static ${item.highlighted ? 'highlighted' : ''} ${item.beta ? 'beta' : ''}\\\">\\n                            <div class=\\\"wrapper\\\">\\n                              <span \\n                                if.bind=\\\"!item.href && !item.call\\\"\\n                                class=\\\"linkless\\\">\\n                                <span class=\\\"label\\\">${item.label}</span>\\n                                <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                                <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                                </b>\\n                                <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                              </span>\\n                              <a \\n                                href=\\\"${item.href}\\\"\\n                                if.bind=\\\"item.href\\\" \\n                                class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                                <span class=\\\"label\\\">${item.label}</span>\\n                                <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                                <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                                </b>\\n                                <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                              </a>\\n                              <a \\n                                href=\\\"\\\"\\n                                if.bind=\\\"item.call\\\"\\n                                click.delegate=\\\"item.call()\\\"\\n                                class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                                <span class=\\\"label\\\">${item.label}</span>\\n                                <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                                <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value | compactNumber}\\n                                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                                </b>\\n                                <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                              </a>\\n                            </div>\\n                          </li>\\n                        </template>\\n                      </ul>\\n                    </div>\\n                  </li>\\n                </template>\\n              </ul>\\n            </div>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n    <slot name=\\\"afterNav\\\"></slot>\\n  </aside>\\n  <header>\\n    <div \\n      ref=\\\"burgerHeader\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <h1>${router.currentInstruction.config.parent}${router.currentInstruction.config.title}</h1>\\n    <div \\n      if.bind=\\\"config.isDevelopmentEnvironment\\\" \\n      class=\\\"km-layout-info-box\\\">\\n      <div class=\\\"wrapper\\\">\\n        <i class=\\\"${config.infoBox.icon}\\\"></i>\\n        <div innerHTML.bind=\\\"config.infoBox.message\\\"></div>\\n      </div>\\n    </div>\\n    <div class=\\\"km-layout-user\\\">\\n      <span\\n        class=\\\"profile-icon\\\"\\n        if.bind=\\\"!config.profile.picture\\\">\\n        <i class=\\\"fal ${config.user.account === 'operatore' ? 'fa-user-headset' : config.user.account === 'amministratore' ? 'fa-user-crown' : config.user.account === 'condominio' ? 'fa-building' : config.user.account === 'studio' ? 'fa-landmark' : 'fa-user'}\\\"></i>\\n      </span>\\n      <span \\n        else\\n        class=\\\"profile-picture\\\"  \\n        style=\\\"background-image:url('${config.profile.picture}')\\\">\\n      </span>\\n      <div class=\\\"user-profile\\\">\\n        <span \\n          class=\\\"displayName\\\" \\n          if.bind=\\\"config.user.display\\\">${config.user.display}\\n        </span>\\n        <template if.bind=\\\"!config.user.isImpersonated && config.user.username\\\">\\n          <strong class=\\\"user-name-title\\\">${config.user.account}</strong>\\n          <span class=\\\"user-name\\\">${config.user.username}</span>\\n        </template>\\n        <span \\n          class=\\\"impersonation\\\" \\n          if.bind=\\\"config.user.isImpersonated && config.user.username\\\">Sei collegato a questo profilo cliente\\n        </span>\\n      </div>\\n      <a if.bind=\\\"config.profile.href\\\" href=\\\"${config.profile.href}\\\">Profilo utente</a>\\n    </div>\\n    <div class=\\\"km-layout-toolbar\\\">\\n      <template repeat.for=\\\"item of _toolbar.items\\\">\\n        <template if.bind=\\\"!item.hidden\\\">\\n          <span \\n            if.bind=\\\"!item.href && !item.call\\\" \\n            class=\\\"button\\\" \\n            click.trigger=\\\"subtool($index, $event)\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value | compactNumber:1000}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span> \\n          </span>\\n          <a \\n            class=\\\"button\\\"\\n            if.bind=\\\"item.href\\\" \\n            href=\\\"${item.href}\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value | compactNumber:1000}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <a \\n            href=\\\"\\\"\\n            class=\\\"button\\\" \\n            if.bind=\\\"item.call\\\" \\n            click.delegate=\\\"item.call()\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value | compactNumber:1000}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <ul if.bind=\\\"!item.href && !item.call && item.nav\\\" data-subtool=\\\"${$index}\\\">\\n            <template repeat.for=\\\"item of item.nav\\\">\\n              <li if.bind=\\\"!item.hidden\\\">\\n                <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\">\\n                  <i \\n                    if.bind=\\\"item.svg || item.icon\\\" \\n                    style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                    class=\\\"${item.icon || 'svg-icon'}\\\">\\n                  </i>\\n                  <span class=\\\"label\\\">${item.label}</span>\\n                </a>\\n              </li>\\n            </template>\\n          </ul>\\n        </template>\\n      </template> \\n    </div>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-accordion-button.sass\\\"></require>\\n  <div click.trigger=\\\"toggle()\\\">\\n    <span class=\\\"collapse_text\\\">${collapseText}</span>\\n    <span class=\\\"expand_text\\\">${expandText}</span>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-bar-chart.sass\\\"></require>\\n  <div class=\\\"md-bar-chart-wrapper ${pending ? 'md-bar-chart-pending' : ''}\\\">\\n    <div\\n      aria-hidden=\\\"true\\\"\\n      class=\\\"md-bar-chart ${animated ? 'md-bar-chart-animated' : ''}\\\">\\n      <div\\n        class=\\\"md-bar-chart-track\\\"\\n        css=\\\"--md-bar-chart-count: ${segments.length}\\\">\\n        <div\\n          repeat.for=\\\"segment of segments\\\"\\n          class=\\\"md-bar-chart-segment ${segment.empty ? 'md-bar-chart-segment-empty' : ''}\\\"\\n          css=\\\"--md-bar-chart-ratio: ${segment.ratio}; --md-bar-chart-color: ${segment.color}; --md-bar-chart-duration: ${segment.duration}ms; --md-bar-chart-delay: ${segment.delay}ms\\\">\\n        </div>\\n      </div>\\n    </div>\\n    <p class=\\\"md-bar-chart-scale\\\">\\n      <span class=\\\"md-bar-chart-scale-min\\\" aria-hidden=\\\"true\\\">0%</span>\\n      <span class=\\\"md-bar-chart-scale-total\\\">\\n        <md-count-up value.bind=\\\"config.total\\\" pending.bind=\\\"pending\\\" delay.bind=\\\"1000\\\"></md-count-up> ${config.label}\\n      </span>\\n      <span class=\\\"md-bar-chart-scale-max\\\" aria-hidden=\\\"true\\\">\\n        <md-count-up value.bind=\\\"100\\\" pending.bind=\\\"pending\\\" suffix.bind=\\\"suffix\\\" delay.bind=\\\"2000\\\"></md-count-up>\\n      </span>\\n    </p>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-cards.sass\\\"></require>\\n  <require from=\\\"../md-count-up/md-count-up\\\"></require>\\n  <template repeat.for=\\\"column of columns(data, config.count)\\\">\\n    <article\\n      aria-busy.bind=\\\"!!pending\\\"\\n      css=\\\"--card-background: ${column[0].color}; --md-cards-delay: ${$index * stagger}ms\\\"\\n      class=\\\"md-cards-item ${pending ? 'md-cards-pending' : ''}\\\">\\n      <a\\n        class=\\\"md-cards-link\\\"\\n        if.bind=\\\"column[0].href\\\"\\n        href.bind=\\\"column[0].href\\\"\\n        aria-labelledby=\\\"${uid}-title-${$index}\\\"\\n        target.bind=\\\"column[0].target || '_self'\\\">\\n      </a>\\n      <h3 class=\\\"md-cards-title\\\" id=\\\"${uid}-title-${$index}\\\">${column[0].title}</h3>\\n      <p\\n        class=\\\"md-cards-content\\\"\\n        css=\\\"--partial-chars: ${partialChars(column[0].partial, column[0].prefix, config.compact)}; --partial-reserve: ${partialReserve(column[0].partial, column[0].showTotal === false ? '' : column[0].suffix, config.total, config.compact)}\\\">\\n        <span class=\\\"md-cards-prefix\\\" if.bind=\\\"column[0].prefix\\\">${column[0].prefix}</span><data class=\\\"md-cards-partial ${hasDecimals(column[0].partial) ? 'has-decimals' : ''}\\\" if.bind=\\\"isNumeric(column[0].partial)\\\" value.bind=\\\"column[0].partial\\\"><md-count-up value.bind=\\\"column[0].partial\\\" pending.bind=\\\"pending\\\" compact.bind=\\\"config.compact !== false\\\" delay.bind=\\\"2000 + $index * stagger\\\"></md-count-up></data><span class=\\\"md-cards-partial md-cards-text\\\" if.bind=\\\"!isNumeric(column[0].partial)\\\" title.bind=\\\"column[0].partial | capitalize\\\">${column[0].partial | capitalize}</span>\\n        <span class=\\\"md-cards-suffix\\\" if.bind=\\\"column[0].suffix\\\">${column[0].suffix}</span>\\n        <span class=\\\"md-cards-total\\\" if.bind=\\\"!column[0].suffix && column[0].showTotal !== false && isNumeric(column[0].partial)\\\">su\\n          <data value.bind=\\\"config.total\\\">${config.total | compactNumber:{ compact: config.compact !== false }}</data>\\n        </span>\\n      </p>\\n      <div class=\\\"md-cards-info\\\" if.bind=\\\"infoLines(column[0].info).length\\\">\\n        <p repeat.for=\\\"line of infoLines(column[0].info)\\\">${line}</p>\\n      </div>\\n      <p class=\\\"md-cards-cta\\\" if.bind=\\\"column[0].cta\\\">${column[0].cta}</p>\\n    </article>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-chart-legend.sass\\\"></require>\\n  <require from=\\\"../md-count-up/md-count-up\\\"></require>\\n  <div\\n    aria-busy.bind=\\\"pending !== false\\\"\\n    class=\\\"md-chart-legend-wrapper ${pending !== false ? 'md-chart-legend-pending' : ''}\\\">\\n    <h3\\n      id=\\\"${uid}-title\\\"\\n      class=\\\"md-chart-legend-title\\\">\\n      <a\\n        if.bind=\\\"config.href && config.tooltip !== null\\\"\\n        href.bind=\\\"config.href\\\"\\n        class=\\\"md-chart-legend-link\\\"\\n        target.bind=\\\"config.target || '_self'\\\"\\n        ka-tooltip=\\\"value.bind: config.tooltip || 'Vai alla sezione ' + config.title.toLowerCase()\\\">${config.title}</a>\\n      <a\\n        if.bind=\\\"config.href && config.tooltip === null\\\"\\n        href.bind=\\\"config.href\\\"\\n        class=\\\"md-chart-legend-link\\\"\\n        target.bind=\\\"config.target || '_self'\\\">${config.title}</a>\\n      <span if.bind=\\\"!config.href\\\" class=\\\"md-chart-legend-text\\\">${config.title}</span>\\n    </h3>\\n    <ul\\n      class=\\\"md-chart-legend-list\\\"\\n      aria-labelledby=\\\"${uid}-title\\\"\\n      css=\\\"--md-chart-legend-columns: ${columns(data, config.count).length}\\\">\\n      <template repeat.for=\\\"column of columns(data, config.count)\\\">\\n        <li\\n          class=\\\"md-chart-legend-item\\\"\\n          css=\\\"--md-chart-legend-color: ${column[0].color}\\\">\\n          <p\\n            class=\\\"md-chart-legend-content\\\"\\n            css=\\\"--partial-chars: ${partialChars(column[0].partial, null, config.compact)}; --partial-reserve: ${partialReserve(column[0].partial, column[0].showTotal === false ? '' : column[0].suffix, config.total, config.compact)}\\\">\\n            <data\\n              class=\\\"md-chart-legend-partial ${hasDecimals(column[0].partial) ? 'has-decimals' : ''}\\\"\\n              value.bind=\\\"column[0].partial\\\">\\n              <md-count-up value.bind=\\\"column[0].partial\\\" pending.bind=\\\"pending\\\" delay.bind=\\\"500\\\" compact.bind=\\\"config.compact !== false\\\"></md-count-up>\\n            </data>\\n            <span class=\\\"md-chart-legend-suffix\\\" if.bind=\\\"column[0].suffix\\\">${column[0].suffix}</span>\\n            <span class=\\\"md-chart-legend-total\\\" if.bind=\\\"!column[0].suffix && column[0].showTotal !== false\\\">su\\n              <data value.bind=\\\"config.total\\\">${config.total | compactNumber:{ compact: config.compact !== false }}</data>\\n            </span>\\n          </p>\\n          <div class=\\\"md-chart-legend-labels\\\">\\n            <p class=\\\"md-chart-legend-label\\\">\\n              <span class=\\\"md-chart-legend-swatch\\\" if.bind=\\\"hasColor(column[0].color)\\\"></span>${column[0].title}\\n            </p>\\n            <ul if.bind=\\\"column.length > 1\\\" class=\\\"md-chart-legend-details\\\">\\n              <template repeat.for=\\\"detail of column\\\">\\n                <li\\n                  if.bind=\\\"!$first\\\"\\n                  class=\\\"md-chart-legend-detail\\\"\\n                  css=\\\"--md-chart-legend-color: ${detail.color}\\\">\\n                  <span class=\\\"md-chart-legend-swatch\\\" if.bind=\\\"hasColor(detail.color)\\\"></span>\\n                  <span class=\\\"md-chart-legend-label\\\">${detail.title}</span>\\n                  <data class=\\\"md-chart-legend-detail-value\\\" value.bind=\\\"detail.partial\\\">${detail.partial | compactNumber:{ compact: config.compact !== false }}</data>\\n                </li>\\n              </template>\\n            </ul>\\n          </div>\\n        </li>\\n      </template>\\n    </ul>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"current !== null\\\">${current | compactNumber:{ compact: compact }}<span if.bind=\\\"suffix\\\">${suffix}</span></template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-counter.sass\\\"></require>\\n  <div id=\\\"mdCounter\\\">\\n    <div id=\\\"mdCounterBody\\\">\\n      <h3 if.bind=\\\"label\\\">${label}</h3>\\n      <div style=\\\"text-align: center; line-height: 1\\\">\\n        <span if.bind=\\\"prefix\\\" class=\\\"prefix\\\">${prefix} </span>\\n        <span id=\\\"mdCounterElement\\\">${onEntryStart}</span>\\n        <span if.bind=\\\"suffix\\\" class=\\\"suffix\\\">${suffix}</span>\\n      </div>\\n    </div>\\n    <div id=\\\"mdCounterFooter\\\">\\n      <button \\n        class=\\\"closing\\\"\\n        click.delegate=\\\"close()\\\">Chiudi</button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-cta-button.sass\\\"></require>\\n  <button class=\\\"animated-button ${classes} ${iconList ? 'with-icons' : ''}\\\">\\n    <div if.bind=\\\"iconList\\\" class=\\\"icon after\\\">\\n      <i class=\\\"far ${iconList[1]}\\\"></i>\\n    </div>\\n    <div if.bind=\\\"iconList\\\" class=\\\"icon before\\\">\\n      <i class=\\\"far ${iconList[0]}\\\"></i>\\n    </div>\\n    <span class=\\\"text\\\">${text}<b if.bind=\\\"subtext\\\">${subtext}</b></span>\\n  </button>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    md-input-array {\\n      width: 100%;\\n    }\\n    md-input-array > ka-flex-row + ka-flex-row {\\n      margin-top: -1.5rem;\\n    }\\n  </style>\\n  <template if.bind=\\\"items\\\">\\n    <ka-flex-row repeat.for=\\\"item of items\\\" class=\\\"no-padding\\\">\\n      <ka-input\\n        ka-flex\\n        if.bind=\\\"name && schema && parent.controls\\\"\\n        resource-controls.bind=\\\"parent.controls\\\"\\n        resource-ref=\\\"${name}[${$index}]\\\"\\n        record.bind=\\\"parent.data.id\\\"\\n        config.bind=\\\"{control: 'text', cippa: 'lippa', field: schema.field || name}\\\"\\n        value.bind=\\\"item.value\\\"\\n        label.bind=\\\"($index === 0 ? label||schema.label : null)\\\"\\n        default.bind=\\\"default\\\"\\n        description.bind=\\\"description\\\"\\n        placeholder.bind=\\\"placeholder\\\"\\n        readonly.bind=\\\"readonly||schema.readonly||parent.readonly\\\"\\n        required.bind=\\\"required||schema.required\\\"\\n        ready.bind=\\\"ready\\\"\\n        validation.bind=\\\"validation\\\"\\n        change.call=\\\"update()\\\"\\n        class=\\\"no-buttons\\\">\\n      </ka-input>\\n      <ka-button if.bind=\\\"$index === 0\\\" class=\\\"icon flat\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></ka-button>\\n      <ka-button if.bind=\\\"$index > 0\\\" class=\\\"icon flat inverted\\\" click.delegate=\\\"remove($index)\\\"><i class=\\\"material-icons\\\">delete_outline</i></ka-button>\\n    </ka-flex-row>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-loader.sass\\\"></require>\\n  <div id=\\\"loader-wrapper\\\">\\n    <div class=\\\"spinner-loader\\\"></div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <nav>\\n    <template repeat.for=\\\"link of links\\\">\\n      <a href=\\\"\\\" class.bind=\\\"link.class\\\" click.delegate=\\\"navigate(link.view)\\\">${link.label}</a>\\n    </template>\\n    <slot></slot>\\n  </nav>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <nav>\\n    <template repeat.for=\\\"link of links\\\">\\n      <a href=\\\"\\\" class.bind=\\\"link.class\\\" click.delegate=\\\"navigate(link.view)\\\">${link.label}</a>\\n    </template>\\n    <div class=\\\"user\\\">${title}</div>\\n  </nav>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ka-table .ka-table-button.filters {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 0.7;\\n    }\\n    ka-table .ka-table-button.filters:hover {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 1;\\n    }\\n    ka-table .ka-table-button.reset {\\n     color: #ffffff !important;\\n     z-index: 2;\\n    }\\n  </style>\\n  <ka-table\\n    view-model.ref=\\\"tableUsers\\\"\\n    endpoint=\\\"users/me/users\\\"\\n    query=\\\"?include=user-profiles\\\"\\n    columns=\\\"id,displayName\\\"\\n    filtrables=\\\"id,displayName,statusCode\\\"\\n    actions=\\\"filter\\\">\\n   <template replace-part=\\\"thead-tr\\\">\\n      <tr>\\n        <th repeat.for=\\\"column of schema\\\">\\n          <span>${column.label}</span>\\n          <!--<a if.bind=\\\"column.label && (column.field==='displayName')\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[column.field].class}\\\" click.delegate=\\\"set_sort(column)\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>-->\\n        </th>\\n        <th></th>\\n      </tr>\\n      <ka-table-filters schema.bind=\\\"schema\\\" filters.bind=\\\"settings.filters\\\" apply.call=\\\"apply_filters()\\\" reset.call=\\\"reset_filters()\\\"></ka-table-filters>\\n    </template>\\n\\n    <template replace-part=\\\"tbody-tr\\\">\\n      <tr>\\n        <td class=\\\"limitwidth\\\">${record.id}</td>\\n        <td class=\\\"limitwidth\\\">${record.profile[0].displayName}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"select(record)\\\">Seleziona</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </ka-table>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-prefsel.sass\\\"></require>\\n  <template if.bind=\\\"legacy\\\">\\n    <ka-flex-row class=\\\"legacy-layout\\\">\\n      <i class=\\\"material-icons\\\">warning</i>\\n      <div>\\n        <p if.bind=\\\"!data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label}\\n            ${isOverride === false ? 'predefinite' : ''} del tuo account principale</strong></p>\\n        <p if.bind=\\\"data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label}\\n            ${isOverride === false ? 'predefinite' : ''} del ${context} <em>${data.displayName}</em></strong></p>\\n        <p if.bind=\\\"!data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\"\\n            click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\"\\n            click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ?\\n          'oppure seleziona' : 'Seleziona'} ${label} <a href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n        <p if.bind=\\\"data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\"\\n            click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\"\\n            click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ?\\n          'oppure seleziona' : 'Seleziona'} ${label}: <a href=\\\"\\\" click.delegate=\\\"reset()\\\">account principale</a> o <a\\n            href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n      </div>\\n    </ka-flex-row>\\n\\n  </template>\\n  <template else>\\n    <div class=\\\"modern-layout\\\">\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <ka-control \\n          name=\\\"context\\\" \\n          buttons=\\\"dropdown\\\" \\n          change.trigger=\\\"contextChanged()\\\" \\n          readonly.bind=\\\"isBuilding || readonly\\\">\\n        </ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\" if.bind=\\\"!isBuilding\\\">\\n        <ka-control \\n          name=\\\"owner\\\" \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"clear,dropdown\\\" \\n          change.trigger=\\\"ownerChanged()\\\" \\n          readonly.bind=\\\"readonly\\\" \\n          required.bind=\\\"resource.data.context === 'SUBUSERS'\\\">\\n        </ka-control>\\n      </div>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-select.sass\\\"></require>\\n  <select value.bind=\\\"value\\\" disabled.bind=\\\"disabled\\\">\\n    <option repeat.for=\\\"option of options\\\" model.bind=\\\"option.value\\\">${option.text}</option>\\n  </select>\\n  <i class=\\\"fal fa-chevron-down\\\"></i>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-split-button.sass\\\"></require>\\n  <div class=\\\"buttons\\\">\\n    <slot></slot>\\n  </div>\\n  <div class=\\\"options-list\\\"></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-switch-slider.sass\\\"></require>\\n  <input \\n    role=\\\"switch\\\"\\n    type=\\\"checkbox\\\"\\n    checked.bind=\\\"checked\\\"\\n    disabled.bind=\\\"disabled\\\"\\n    change.trigger=\\\"onChange($event)\\\">\\n  <span class=\\\"slider\\\">\\n    <span class=\\\"pointer\\\">\\n      <i class=\\\"icon icon-on ${iconOff}\\\"></i>\\n      <i class=\\\"icon icon-off ${iconOn}\\\"></i>\\n    </span>\\n  </span>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-pagination.scss\\\"></require>\\n  <div class=\\\"d-flex flex-nowrap\\\">\\n    <button click.trigger=\\\"paginate('start')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">first_page</i></button>\\n    <button click.trigger=\\\"paginate('back')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_left</i></button>\\n    \\n    <!-- Counter -->\\n    <span click.delegate=\\\"showOptions($event)\\\" class=\\\"count\\\">\\n      ${table.offset + 1} - ${(table.limit + table.offset) < table.total ? (table.limit + table.offset) :  table.total} di ${table.total}\\n\\n      <!-- Options -->\\n      <div if.bind=\\\"optionsShown\\\" class=\\\"options-tab d-flex justify-content-start\\\">\\n        <ka-control schema.bind=\\\"schema.limit\\\" value.bind=\\\"limit | integerCast\\\" label=\\\"Record per pagina\\\" class=\\\"no-clear\\\"></ka-control>\\n        <ka-control schema.bind=\\\"schema.page\\\" value.bind=\\\"page | integerCast:'page'\\\" label=\\\"Salta alla pagina\\\" style=\\\"margin-left: 2rem;\\\" class=\\\"no-clear\\\"></ka-control>\\n      </div>\\n    </span>\\n    <div if.bind=\\\"optionsShown\\\" class=\\\"options-background\\\" click.delegate=\\\"hideOptions()\\\"></div>\\n\\n    <button click.trigger=\\\"paginate('forward')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_right</i></button>\\n    <button click.trigger=\\\"paginate('end')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">last_page</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-progressbar.sass\\\"></require>\\n  <div class=\\\"indeterminate\\\"></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-sort.sass\\\"></require>\\n  <div click.delegate=\\\"sort()\\\">\\n    <slot></slot>\\n    <i if.bind=\\\"!order\\\" class=\\\"far fa-sort-amount-down-alt\\\" ka-tooltip=\\\"Disponi in ordine ascendente o discendente\\\"></i>\\n    <i if.bind=\\\"order === 'asc'\\\" class=\\\"asc far fa-sort-alpha-down\\\" ka-tooltip=\\\"Ordine ascendente\\\"></i>\\n    <i if.bind=\\\"order === 'desc'\\\" class=\\\"desc far fa-sort-alpha-down-alt\\\" ka-tooltip=\\\"Ordine discendente\\\"></i>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-toolbar.scss\\\"></require>\\n  <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n    <div class=\\\"col buttons-left\\\">\\n      <!-- Search -->\\n      <button\\n        if.bind=\\\"buttons.includes('search')\\\"\\n        click.delegate=\\\"openSearch()\\\"\\n        class=\\\"toolbar-button ${search.active ? 'search-active' : ''}\\\">\\n        <i class=\\\"material-icons\\\">search</i>\\n        <span if.bind=\\\"search.active\\\" click.delegate=\\\"reset($event)\\\" class=\\\"with-filter\\\"><i class=\\\"material-icons\\\">do_not_disturb</i></span>\\n      </button>\\n      <!-- Download -->\\n      <button\\n        if.bind=\\\"buttons.includes('download')\\\"\\n        click.delegate=\\\"download()\\\"\\n        ka-tooltip=\\\"Scarica elenco\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </div>\\n    <div class=\\\"col d-flex justify-content-center flex-grow flex-wrap\\\">\\n      <md-table-pagination table.bind=\\\"table\\\" limits.bind=\\\"paginationLimits\\\"></md-table-pagination>\\n    </div>\\n    <div class=\\\"col buttons-right d-flex justify-content-end\\\">\\n      <slot></slot>\\n    </div>\\n  </div>\\n  <md-table-progressbar if.bind=\\\"table.isLoading\\\"></md-table-progressbar>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./search.scss\\\"></require>\\n\\n  <!-- Title -->\\n  <h2 class=\\\"d-flex justify-content-between align-items-center\\\">\\n    <span>Ricerca ${params.title}</span>\\n    <i class=\\\"material-icons close\\\" click.delegate=\\\"close()\\\">close</i>\\n  </h2>\\n\\n  <!-- Search form -->\\n  <div class=\\\"row inputs\\\" style=\\\"margin: 0;\\\">\\n    <template repeat.for=\\\"input of inputs\\\" >\\n      <div if.bind=\\\"params.search.schema[input].query\\\" class=\\\"input ${(params.search.schema[input].control === 'date' && (params.search.schema[input].query.includes('-gte') || params.search.schema[input].query.includes('-lte'))) ? 'col-6' : 'col-12'}\\\">\\n        <ka-control schema.bind=\\\"params.search.schema[input]\\\" value.bind=\\\"params.search.data[input]\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </template>\\n  </div>\\n\\n  <!-- Search buttons -->\\n  <div class=\\\"buttons d-flex flex-row-reverse\\\">\\n    <button click.delegate=\\\"search()\\\" class=\\\"ka-button\\\">Ricerca</button>\\n    <button click.delegate=\\\"reset()\\\" class=\\\"ka-button inverted\\\">Reset</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-wrapper.scss\\\"></require>\\n  <slot></slot>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./agreement.sass\\\"></require>\\n\\n  <div class=\\\"agreement\\\">\\n    <h2 if.bind=\\\"!agreement.back && agreement.view.label\\\">${agreement.view.label}</h2>\\n    <div if.bind=\\\"agreement.view.content\\\" innerhtml.bind=\\\"agreement.view.content\\\" class=\\\"content\\\"></div>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 style=\\\"margin:0 0 2rem;\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: true }\\\" value.bind=\\\"clause.accepted\\\" readonly=\\\"true\\\" style=\\\"margin: 0; padding: 0;\\\"></ka-control>\\n        <p innerhtml.bind=\\\"clause.content\\\"></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless if.bind=\\\"config\\\" view-model.bind=\\\"config.view\\\" model.bind=\\\"config.model\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control1\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control2\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control3\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control4\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control5\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control6\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n        <!--\\n        click.delegate=\\\"search()\\\" chiama la funzione search() dentro a searchInterface poiché il ka-button sta all'interno di un <div with.bind=\\\"searchInterface\\\">\\n        click.delegate=\\\"$parent.search()\\\" invece chiama la funzione search() dentro al controller di questa view\\n        -->\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>UUID</th>\\n            <th>Display Name</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>${item.uuid}</td>\\n            <td>${item.profile[0].displayName}</td>\\n            <td class=\\\"d-flex flex-column align-items-end\\\">\\n              <ka-button>Action 1</ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Titolo</h2>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .property { color: #404040; }\\n    .property + .property:before { content: ', '; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p style=\\\"margin: 0 0 1rem;\\\">Per un corretto utilizzo del sistema viene richiesto di completare i seguenti dati:</p>\\n    <strong repeat.for=\\\"property of missingProperties\\\" class=\\\"property\\\">${property | missingProperties}</strong>\\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button click.delegate=\\\"controller.ok()\\\">Correggi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\" flexbox=\\\"halign-center valign-center\\\">\\n    <div class=\\\"loginbox\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n      <div class=\\\"form\\\">\\n        <p if.bind=\\\"email && source\\\" class=\\\"p-3\\\">\\n          Hai già utilizzato l'indirizzo email <strong>${email}</strong> per registrarti!\\n        </p>\\n    \\n        <ka-control class=\\\"no-clear mb-4\\\" name=\\\"username\\\" ka-enter.call=\\\"login()\\\"></ka-control>\\n        <ka-control class=\\\"no-clear\\\" name=\\\"password\\\" ka-enter.trigger=\\\"login()\\\"></ka-control>\\n      </div>\\n      <footer class=\\\"row justify-content-between mt-4 pt-2\\\">\\n        <div class=\\\"col-auto reset\\\">\\n          <i class=\\\"fas fa-lock-alt\\\"></i>\\n          <a href=\\\"/password-recovery\\\">Password dimenticata?</a>  \\n        </div>\\n        <div class=\\\"col-auto\\\">\\n          <ka-button click.delegate=\\\"login($event)\\\">Login</ka-button>\\n        </div>\\n      </footer>\\n    </div>\\n    <div class=\\\"outbox\\\">\\n      <p class=\\\"mb-0\\\">Non hai un account <strong>MULTI</strong>DIALOGO<span style=\\\"font-size: 0.6rem; vertical-align: super;\\\">&#174;</span>?</p>\\n      <ka-button class=\\\"secondary\\\" href=\\\"/registrazione\\\">Registrati subito!</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a href=\\\"login\\\" style=\\\"position: absolute; top: 1rem; right: 1.5rem\\\">\\n          <i class=\\\"fal fa-times\\\" style=\\\"font-size: 2rem;\\\"></i>\\n        </a>\\n      </header>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && !email\\\">\\n        <p><strong>Recupero password</strong><br>Inserisci <em>username</em>, <em>indirizzo email</em>, <em>codice fiscale</em> oppure <em>partita iva</em>.</p>\\n        <ka-input view-model.ref=\\\"uid\\\" class=\\\"no-clear\\\" ka-enter.call=\\\"start()\\\" config.bind=\\\"{ label: 'Identificativo', field: 'uniqueIdentifier', control: 'text', required: true }\\\" value.bind=\\\"uniqueIdentifier\\\"></ka-input>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"start($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && email\\\">\\n        <p>Abbiamo inviato un email all'indirizzo<br><strong>${email}</strong><br>con le istruzioni per il recupero della password.</p>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && !success\\\">\\n        <p>Inserisci la tua nuova password:</p>\\n        <ka-input class=\\\"no-clear\\\" view-model.ref=\\\"pass1\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Nuova password', field: 'password1', control: 'password', required: true }\\\" value.bind=\\\"password1\\\"></ka-input>\\n        <ka-input class=\\\"no-clear no-show\\\" view-model.ref=\\\"pass2\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Conferma nuova password', field: 'password2', control: 'password', required: true }\\\" value.bind=\\\"password2\\\"></ka-input>\\n        <p class=\\\"errorMessage\\\" if.bind=\\\"error\\\">${error}</p>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"end($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && success\\\">\\n        <p>La tua nuova password è stata reimpostata correttamente!</p>\\n        <p><a href=\\\"login\\\">Torna alla schermata di Login</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"../../accesso/login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n\\n      <div class=\\\"form\\\">\\n        <p>Per richiedere la cancellazione del tuo account contatta la nostra assistenza all'indirizzo <a href=\\\"mailto:assistenza@multidialogo.it\\\">assistenza@multidialogo.it</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pendingInit\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" if.bind=\\\"reseller\\\"></ka-control>\\n      <ka-control name=\\\"rewardedServiceCode\\\" buttons=\\\"dropdown\\\" if.bind=\\\"reseller\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end p-2\\\" style=\\\"border-top: 1px solid #e5e5e5; text-align: right;\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./sponsor-agreement.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <ka-control name=\\\"agreementText\\\" class=\\\"mb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\" >\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./landing-pages.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div with.bind=\\\"searchInterface\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"referralCode\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"listCode\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"searchStatus\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div with.bind=\\\"searchInterface\\\" class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Accordo Sponsor</th>\\n            <th>Stato</th>\\n            <th>Descrizione</th>\\n            <th>Listino temporaneo</th>\\n            <th>Durata gg. list. temporaneo</th>\\n            <th>Listino definitivo</th>\\n            <th>Segnalatori</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.referralCode}</small>\\n              </td>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control \\n                  schema.bind=\\\"searchInterface.schema.sponsorUuid\\\" \\n                  value.bind=\\\"record.sponsorUuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n                <small \\n                  if.bind=\\\"record.sponsorUuid\\\" \\n                  click.delegate=\\\"openSponsorDialog(record)\\\" \\n                  class=\\\"sponsor-dialog\\\">\\n                  Imposta testo accordo\\n                </small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.status\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['description']\\\"\\n                  schema.bind=\\\"searchInterface.schema.description\\\"\\n                  value.bind=\\\"record.description\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCode\\\"\\n                  value.bind=\\\"record.temporaryPriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCodeDurationInDays']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCodeDurationInDays\\\"\\n                  value.bind=\\\"record.temporaryPriceListCodeDurationInDays\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td>\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['definitivePriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.definitivePriceListCode\\\"\\n                  value.bind=\\\"record.definitivePriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"reseller-tags\\\">\\n                <div if.bind=\\\"record.resellerTags\\\" class=\\\"d-flex flex-wrap text-start\\\">\\n                  <div repeat.for=\\\"tag of record.resellerTags\\\" class=\\\"tag secondary\\\">\\n                    <p>${tag.userDisplayName}<br>\\n                      <span>${tag.resellerCode} - ${tag.rewardedServiceName}</span>\\n                    </p>\\n                    <i class=\\\"fal fa-times\\\" click.delegate=\\\"deleteResellerTag(tag)\\\"></i>\\n                  </div>\\n                </div>              \\n              </td>\\n              <td class=\\\"text-end\\\">\\n                <ka-button class=\\\"icon inverted secondary flat\\\" click.delegate=\\\"addResellerTag(record)\\\">\\n                  <i class=\\\"fal fa-plus\\\"></i>\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Ricerca</h2>\\n  <div class=\\\"row gx-3 px-3 pb-3\\\">\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"abiCode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"cabCode\\\"></ka-control>\\n    </div>\\n  </div>\\n\\n  <h2>Inserimento dati</h2>\\n  <div class=\\\"d-flex justify-content-between px-3\\\">\\n    <div class=\\\"w-50 pe-3\\\" style=\\\"border-right: 1px solid #e0e0e0;\\\">\\n      <ka-control name=\\\"instituteName\\\" buttons=\\\"clear\\\"></ka-control>\\n      <div class=\\\"pt-3\\\">\\n        <ka-control name=\\\"officeName\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row g-3 w-50\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"countryCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('countryCode')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl1\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl1')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl2\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl2')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl3\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl3')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-8\\\">\\n        <ka-control name=\\\"streetAddress\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <ka-control name=\\\"zipCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n    <ka-button click.trigger=\\\"reset()\\\" class=\\\"inverted mx-0\\\">Reset</ka-button>\\n    <ka-button click.trigger=\\\"save()\\\" disabled.bind=\\\"pendingSave\\\">Salva e prosegui</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .notes > md-input, .notes > md-input > textarea  { height: calc(100% - 3rem); }\\n  </style>\\n\\n  <h2>Dati Anagrafici</h2>\\n  <md-table-progressbar if.bind=\\\"pending\\\"></md-table-progressbar>\\n\\n  <md-resource\\n    if.bind=\\\"!pending\\\"\\n    class=\\\"rubrica-dati\\\"\\n    view-model.ref=\\\"contact.resource\\\"\\n    with.bind=\\\"contact.resource\\\"\\n    endpoint.bind=\\\"contact.endpoint\\\"\\n    schema.bind=\\\"contact.schema\\\"\\n    data.bind=\\\"contact.data\\\">\\n\\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Dati utente -->\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Group -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"contactGroups\\\" client.bind=\\\"api\\\"></md-input>\\n          </div>\\n\\n          <!-- Company name -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"companyName\\\"></md-input>\\n          </div>\\n\\n          <!-- Nickname -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"nickname\\\"></md-input>\\n          </div>\\n\\n          <!-- JobTitle -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"jobTitle\\\"></md-input>\\n          </div>\\n\\n          <!-- First Name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"firstname\\\"></md-input>\\n          </div>\\n\\n          <!-- Last name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"lastname\\\"></md-input>\\n          </div>\\n\\n          <!-- Fiscal code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"fiscalCode\\\"></md-input>\\n          </div>\\n\\n          <!-- VAT code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"vatCode\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Dati locazione -->\\n      <div class=\\\"col-6\\\" style=\\\"box-shadow: -1px 0 1px -1px #ed5a23;\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Countrycode -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"countryCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('countryCode', true)\\\" change.call=\\\"setGeo('countryCode')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl1Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl1Uuid.enabled\\\" readonly.bind=\\\"!contact.data.countryCode\\\" name=\\\"admLvl1Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" change.call=\\\"setGeo('admLvl1Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl2Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl2Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" name=\\\"admLvl2Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" change.call=\\\"setGeo('admLvl2Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl3Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl3Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\" name=\\\"admLvl3Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\"></md-input>\\n          </div>\\n\\n          <!-- streetAddress -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"streetAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- addressee -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"addressee\\\"></md-input>\\n          </div>\\n\\n          <!-- Locality -->\\n          <div class=\\\"col-9\\\">\\n            <md-input name=\\\"locality\\\"></md-input>\\n          </div>\\n\\n          <!-- ZipCode -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"zipCode\\\"></md-input>\\n          </div>\\n\\n          <!-- Email -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"emailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- Pec -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"certifiedEmailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- homePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"homePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"homePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- workPhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"workPhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"workPhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- mobilePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"mobilePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"mobilePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- faxNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"faxNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"faxNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Dati aggiuntivi -->\\n    <h2>Dati aggiuntivi</h2>\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Notes -->\\n      <div class=\\\"col-6 notes\\\">\\n        <md-input name=\\\"notes\\\"></md-input>\\n      </div>\\n\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- webSite -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"webSiteUrl\\\"></md-input>\\n          </div>\\n\\n          <!-- uniqueCode -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"uniqueCode\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptIn -->\\n          <div class=\\\"col-4\\\">\\n            <md-input name=\\\"newsletterOptIn\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptInDate -->\\n          <div class=\\\"col-8\\\">\\n            <md-input name=\\\"newsletterOptInDate\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n       <!-- Buttons -->\\n      <div class=\\\"buttons col-12\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"contact.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n      </div>\\n    </div>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .checkbox + .checkbox { margin-top: 1.5rem; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <strong>Confermi di voler eliminare il gruppo selezionato?</strong>\\n    <ka-input config.bind=\\\"{control: 'check', label: '', description: 'Elimina i contatti appartenenti solo a questo gruppo'}\\\" value.bind=\\\"deleteContacts\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok({ deleteContacts: deleteContacts })\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare <span if.bind=\\\"!multipleRecords\\\">il contatto selezionato</span><span if.bind=\\\"multipleRecords\\\">i contatti selezionati</span>?\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Groups -->\\n  <template if.bind=\\\"!params.id\\\">\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco ${mdt.parsers.contextualize(api.user, 'gruppi')}</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo gruppo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"contatti()\\\"><i class=\\\"material-icons\\\">contact_phone</i> Gestione contatti</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"groupsTableInterface.data || groupsTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"groupsTableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr>\\n              <th>Nome</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of groupsTableInterface.data\\\">\\n              <td>${record.name}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!groupsTableInterface.data.length\\\">Non sono presenti gruppi</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Edit Group -->\\n  <template if.bind=\\\"params.id\\\">\\n    <!-- Title -->\\n    <h2 if.bind=\\\"params.id !== 'new'\\\">Modifica Gruppo</h2>\\n    <h2 if.bind=\\\"params.id === 'new'\\\">Crea Gruppo</h2>\\n\\n    <md-resource\\n      view-model.ref=\\\"group.resource\\\"\\n      with.bind=\\\"group.resource\\\"\\n      endpoint.bind=\\\"group.endpoint\\\"\\n      schema.bind=\\\"group.schema\\\"\\n      data.bind=\\\"group.data\\\">\\n\\n      <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n        <md-input class=\\\"col group-name\\\" name=\\\"name\\\" style=\\\"margin-left: 1rem;\\\"></md-input>\\n\\n        <!-- Buttons -->\\n        <div class=\\\"col\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"group.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n        </div>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica-importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione contatti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione contatti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi contatti.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_contatti.csv\\\" target=\\\"_blank\\\">Scarica</a> <!-- Todo aggiornare href con modello importazione.. -->\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica.scss\\\"></require>\\n  <template if.bind=\\\"rubricaSearchInterface.initialized\\\"></template>\\n    <h2>Ricerca Contatti</h2>\\n    \\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-sm-12 col-md-4 col-xl-4 ricerca_libera\\\">\\n        <ka-input \\n          ka-enter.call=\\\"ricerca()\\\" \\n          config.bind=\\\"rubricaSearchInterface.schema.textSearch\\\" \\n          value.bind=\\\"rubricaSearchInterface.data.textSearch\\\" \\n          md-tooltip=\\\"<ul><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li></ul>\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col nazione\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.countryCode\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.countryCode\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl1\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl1\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl1\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.countryCode\\\" \\n          change.call=\\\"initGeo('admLvl1')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl2\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl2\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl2\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl1\\\" \\n          change.call=\\\"initGeo('admLvl2')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"padding-right: 0;\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl3\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl3\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl3\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl2\\\" \\n          change.call=\\\"initGeo('admLvl3')\\\">\\n        </ka-input>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-4 gruppo\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.group\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.group\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"display: flex; padding-right: 0\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: auto;\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: 1rem;\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco contatti</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"gruppi()\\\"><i class=\\\"material-icons\\\">groups</i> Gruppi</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"rubricaTableInterface.data || rubricaTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"rubricaTableInterface\\\" search.bind=\\\"rubricaSearchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr click.delegate=\\\"toggleAllContacts(rubricaTableInterface.data)\\\" style=\\\"cursor: pointer;\\\">\\n              <th><input type=\\\"checkbox\\\" checked.bind=\\\"rubricaTableInterface.data.length === selected.length\\\" style=\\\"pointer-events: none;\\\"></th>\\n              <th>Denominazione</th>\\n              <th>Gruppi</th>\\n              <th>Email</th>\\n              <th>Numeri telefonici</th>\\n              <th>Indirizzo postale</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of rubricaTableInterface.data\\\" click.delegate=\\\"selectContact(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <td>\\n                <input type=\\\"checkbox\\\" model.bind=\\\"record\\\" checked.bind=\\\"selected\\\" style=\\\"cursor: pointer; pointer-events: none;\\\">\\n              </td>\\n\\n              <!-- Display name -->\\n              <td>\\n                <strong if.bind=\\\"record.jobTitle && (record.lastname || record.firstname)\\\" style=\\\"display: inline;\\\">${record.jobTitle}</strong>\\n                <strong if.bind=\\\"record.lastname\\\" style=\\\"display: inline;\\\">${record.lastname}</strong>\\n                <strong if.bind=\\\"record.firstname\\\" style=\\\"display: inline;\\\">${record.firstname}</strong>\\n                <span if.bind=\\\"record.companyName\\\">${record.companyName}</span>\\n                <small if.bind=\\\"record.notes && record.notes.length\\\">${record.notes.slice(0, 32)}${record.notes.length > 32 ? '...' : ''}</small>\\n              </td>\\n\\n              <!-- Groups -->\\n              <td>\\n                <template repeat.for=\\\"group of record.contactGroups\\\"><span if.bind=\\\"contactGroups && contactGroups[group]\\\">${contactGroups[group].name}</span></template>\\n              </td>\\n\\n              <!-- Email/Pec -->\\n              <td>\\n                <span if.bind=\\\"record.emailAddress\\\"><strong>Email: </strong><small>${record.emailAddress}</small></span>\\n                <span if.bind=\\\"record.certifiedEmailAddress\\\"><strong>Pec: </strong><small>${record.certifiedEmailAddress}</small></span>\\n              </td>\\n\\n              <!-- Telephone -->\\n              <td>\\n                <span if.bind=\\\"record.homePhoneNumber\\\"><strong>Casa: </strong><small>${record.homePhoneNumber}</small></span>\\n                <span if.bind=\\\"record.workPhoneNumber\\\"><strong>Lavoro: </strong> <small>${record.workPhoneNumber}</small></span>\\n                <span if.bind=\\\"record.mobilePhoneNumber\\\"><strong>Cellulare: </strong><small>${record.mobilePhoneNumber}</small></span>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.streetAddress\\\">${record.streetAddress}</span>\\n                  <br if.bind=\\\"record.streetAddress && (record.zipCode || record.admLvl3Uuid || record.admLvl2Uuid || record.countryCode)\\\">\\n                  <span if.bind=\\\"record.zipCode\\\">${record.zipCode}</span><span if.bind=\\\"record.zipCode && (record.admLvl3 || record.admLvl2)\\\"> -</span>\\n                  <span if.bind=\\\"record.admLvl3Uuid\\\">${record.admLvl3} </span>\\n                  <span if.bind=\\\"record.admLvl2Uuid\\\"><span if.bind=\\\"record.admLvl3Uuid\\\">(</span>${record.admLvl2}<span if.bind=\\\"record.admLvl3Uuid\\\">)</span></span>\\n                  <span if.bind=\\\"record.countryCode !== 'IT'\\\"><span if.bind=\\\"record.zipCode || record.admLvl3 || record.admLvl2\\\"> - </span>${record.countryCode}</span>\\n                </small>\\n              </td>\\n\\n              <!-- Buttons -->\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina($event, record)\\\" ka-tooltip=\\\"Elimina contatto\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica($event, record)\\\" ka-tooltip=\\\"Modifica dati contatto\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"rubricaTableInterface.data.length\\\" colspan=\\\"7\\\">\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"deleteContacts()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">delete_forever</i> Elimina selezionati</ka-button>\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"esporta()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">download</i> Esporta selezionati per invio da interfaccia tradizionale</ka-button>\\n              </td>\\n              <td if.bind=\\\"!rubricaTableInterface.data.length\\\">Non sono presenti contatti in rubrica</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./migrate-subuser.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0\\\">Confermi di voler <strong>migrare</strong> l'utente selezionato?</p>\\n    <ka-control name=\\\"migrationRecipient\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n    <ka-control name=\\\"migrationReason\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.trigger=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-add-reseller.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n      <ka-control name=\\\"serviceGroupCode\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-delete-billing-profile.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare il profilo selezionato?\\n    <div if.bind=\\\"params.forceEnabled\\\">\\n      <ka-input config.bind=\\\"{ control: 'check' }\\\" value.bind=\\\"force\\\" label=\\\"Forza cancellazione\\\"></ka-input>\\n    </div>\\n    <!-- <p class=\\\"m-0\\\">E' necessario cancellare le seguenti richieste mav per procedere:</p>\\n    <ul class=\\\"mt-3\\\">\\n      <li>\\n        <span>Richiesta del fiduciario Mamoka S.r.l</span>\\n      </li>\\n      <li>\\n        <span>Richiesta del fiduciario NicolaKArtell 3</span>\\n      </li>\\n    </ul> -->\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok(force)\\\">Procedi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-document-upload.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pending\\\" class=\\\"m-0 mt-3\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"!pending\\\">\\n      <p class=\\\"mx-0 mt-0\\\">\\n        <strong>${type.label}</strong>\\n        <small if.bind=\\\"document\\\"><br>Caricato il: ${document.uploadedAt|dateFormat}</small>\\n      </p>\\n      <ka-control name=\\\"file\\\" buttons=\\\"clear\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && !ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event)\\\" disabled.bind=\\\"buttonPending\\\">Carica</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n    .body > p { margin-left: 0; margin-right: 0; }\\n    .body > small { \\n      font-size: 1.2rem;\\n      line-height: 1.5rem;\\n      color: rgba(237, 90, 35, 0.7);\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <small><i class=\\\"fas fa-exclamation-triangle\\\" style=\\\"margin-right: .5rem;\\\"></i>Attenzione</small>\\n    <p style=\\\"margin-top: .5rem; margin-bottom: .5rem;\\\">L'utente verrà archiviato definitivamente e non sarà più possibile riattivarlo. I vecchi ordini continueranno ad essere visibili per l'utente master.</p>\\n    <p if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" style=\\\"margin-top: 0;\\\">Verrà creato un nuovo utente con gli stessi dati di fatturazione. Tutti gli ordini non fatturati e tutte le flat service attive verranno migrate verso questo nuovo utente.</p>\\n    <ka-control name=\\\"reason\\\"></ka-control>\\n    <ka-input name=\\\"newParentUserUuid\\\" if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" class=\\\"no-add no-open\\\"  style=\\\"margin: 3rem 0 .5rem\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p>L'utente selezionato è già presente in MultiDialogo.<br><strong>Confermi di voler aggiornare i dati di questo utente?</strong></p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Aggiorna</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./utenti.sass\\\"></require>\\n  <md-nav-utenti user-id.bind=\\\"params.id\\\"></md-nav-utenti>\\n  <!-- USERS LIST VIEW -->\\n  <template if.bind=\\\"!params.id && !params.view\\\">\\n    <compose containerless view-model=\\\"${views.elenco.vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- DOCUMENTS/BILLING VIEWS -->\\n  <template if.bind=\\\"!params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- USER PROFILE VIEWS -->\\n  <template if.bind=\\\"params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"!pendingInit && !pendingLoad\\\">\\n    <h2>Dati anagrafici</h2>\\n    <div class=\\\"view-wrapper\\\" style=\\\"overflow: auto; height: calc(100% - 11rem)\\\">\\n      <div class=\\\"row m-0 mb-4\\\">\\n\\n        <!-- User data (left side) -->\\n        <div class=\\\"col-12 pb-4 col-md-6 pb-md-0 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n          <div class=\\\"row m-0\\\">\\n            <div if.bind=\\\"isOperator\\\" class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"group\\\" buttons=\\\"dropdown,clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-4 pb-4\\\">\\n              <ka-control name=\\\"profile.location.countryCode\\\" client.bind=\\\"api\\\" change.trigger=\\\"setGeo('countryCode')\\\"\\n                buttons=\\\"dropdown\\\" class=\\\"d-block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-8 pb-4\\\">\\n              <ka-control name=\\\"profile.companyLegalFormCode\\\" change.trigger=\\\"changeLegalForm()\\\" buttons=\\\"dropdown\\\"\\n                class=\\\"d-block\\\">\\n              </ka-control>\\n            </div>\\n            <div\\n              if.bind=\\\"(params.id === 'new' && api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR') || (params.id !== 'new' && resource.schema.profile.businessType.datasource.length > 1)\\\"\\n              class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"profile.businessType\\\" buttons=\\\"dropdown\\\" class=\\\"d-block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"profile.holderName.companyName\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-6 col-xl-2 pb-4\\\">\\n              <ka-control name=\\\"profile.courtesyTitle\\\" buttons=\\\"dropdown,clear\\\" class=\\\"d-block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-6 col-xl-5 pb-4\\\">\\n              <ka-control name=\\\"profile.holderName.firstname\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-5 pb-4\\\">\\n              <ka-control name=\\\"profile.holderName.lastname\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"profile.fiscalCode\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12\\\">\\n              <ka-control name=\\\"profile.vatCode\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n          </div>\\n        </div>\\n\\n        <!-- Location data (right side) -->\\n        <div class=\\\"col-12 col-md-6 px-1 location-data\\\">\\n          <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n            <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n              <ka-control name=\\\"profile.location.admLvl1Uuid\\\" change.trigger=\\\"setGeo('admLvl1Uuid')\\\"\\n                readonly.bind=\\\"params.id === 'new' && !profile.location.countryCode\\\" client.bind=\\\"api\\\"\\n                buttons=\\\"dropdown\\\" style=\\\"display: block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n              <ka-control name=\\\"profile.location.admLvl2Uuid\\\" change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n                readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl1Uuid\\\" client.bind=\\\"api\\\"\\n                buttons=\\\"dropdown\\\" style=\\\"display: block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n              <ka-control name=\\\"profile.location.admLvl3Uuid\\\"\\n                readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl2Uuid\\\" client.bind=\\\"api\\\"\\n                buttons=\\\"dropdown\\\" style=\\\"display: block\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-md-6 col-xl-8 pb-4\\\">\\n              <ka-control name=\\\"profile.location.streetAddress\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-4 pb-4\\\">\\n              <ka-control name=\\\"profile.location.zipCode\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-8 col-xl-12 pb-4\\\">\\n              <ka-control name=\\\"profile.location.locality\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"profile.email\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 pb-4\\\">\\n              <ka-control name=\\\"profile.pec\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n              <ka-control name=\\\"profile.phoneNumber\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n              <ka-control name=\\\"profile.mobilePhoneNumber\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col-12 col-xl-4\\\">\\n              <ka-control name=\\\"profile.faxNumber\\\" buttons=\\\"clear\\\">\\n              </ka-control>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <template\\n        if.bind=\\\"params.id !== 'new' || (params.id === 'new' && (resource.data.profile.businessType && resource.data.profile.businessType !== 'BUILDING') || (api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR'))\\\">\\n        <h2>Dati di accesso <ka-button if.bind=\\\"ENVIRONMENT.APP_DEBUG === 'true' && params.id === 'me'\\\" class=\\\"inverted\\\"\\n            click.delegate=\\\"copyServiceToken()\\\">Copia service token</ka-button></h2>\\n        <div class=\\\"row m-0 mb-4 login-data\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <div class=\\\"col-12 pb-4 col-md-6 pd-md-0\\\">\\n            <ka-control name=\\\"profile.username\\\"\\n              readonly.bind=\\\"resource.data.profile.businessType === 'BUILDING'\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6\\\">\\n            <ka-control name=\\\"password\\\" autocomplete=\\\"new-password\\\"></ka-control>\\n          </div>\\n        </div>\\n      </template>\\n\\n      <!-- Buttons -->\\n      <div class=\\\"buttons d-flex justify-content-end\\\">\\n        <ka-button class=\\\"inverted mx-0 mt-0 me-2 ms-4\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"mt-0 me-4\\\"\\n          click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n      </div>\\n    </div>\\n\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Impostazioni Cashback</h2>\\n    <div class=\\\"row mx-4\\\">\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control\\n          name=\\\"percentageOnServices\\\" \\n          readonly.bind=\\\"!writeEnabled || !api.hasRole('MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES')\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        click.delegate=\\\"submitAction($event)\\\" \\n        disabled.bind=\\\"!writeEnabled\\\" \\n        class=\\\"my-0 me-4\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./compensi.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  \\n  <!-- Search interface -->\\n  <template if.bind=\\\"resource.summarySearchInterface && resource.detailsSearchInterface && resource.usersSearchInterface\\\">\\n    <div class=\\\"row my-3 mx-1\\\">\\n      <!-- Date filters -->\\n      <template if.bind=\\\"utentiDatiCompensiTabs.current.name === 'riepilogo-utenti'\\\">\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <template else>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <!-- Other filters -->\\n      <div class=\\\"col-xs-12 col-sm-6 col-md-3\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.associatedUser\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.associatedUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n      <div \\n        class=\\\"col-xs-12 col-sm-6 col-md-3\\\" \\n        if.bind=\\\"resource.search.schema.serviceGroup.datasource.length\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.serviceGroup\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.serviceGroup\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </ka-control>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <ka-button click.delegate=\\\"resource.search.apply()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <ka-tabs view-model.ref=\\\"utentiDatiCompensiTabs\\\" id=\\\"main\\\">\\n    <!-- Riepilogo compensi -->\\n    <ka-tab id=\\\"riepilogo-compensi\\\" label=\\\"Riepilogo compensi\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-counter\\n          suffix=\\\"€\\\" \\n          timeout=\\\"2000\\\"\\n          duration=\\\"3000\\\" \\n          label=\\\"Totale compensi da pagare\\\" \\n          end=\\\"${resource.summaryTableInterface.data.totalAmount.amountToBePaid}\\\" \\n          if.bind=\\\"resource.summaryTableInterface.data.totalAmount.amountToBePaid > 0\\\">\\n        </md-counter>\\n\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th></th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"group of resource.summaryTableInterface.data.serviceGroups\\\">\\n                <tr>\\n                  <th>${group.name}</th>\\n                  <td>${group.amountConfirmed} €</td>\\n                  <td>${group.amountPendingConfirmation} €</td>\\n                  <td>${group.amountTotal} €</td>\\n                  <td>${group.amountPaid} €</td>\\n                  <td>${group.amountToBePaid} €</td>\\n                </tr>\\n                <tr class=\\\"service\\\" repeat.for=\\\"service of group.services\\\">\\n                  <td>${service.code}</td>\\n                  <td>${service.amountConfirmed} €</td>\\n                  <td>${service.amountPendingConfirmation} €</td>\\n                  <td>${service.amountTotal} €</td>\\n                  <td>${service.amountPaid} €</td>\\n                  <td>${service.amountToBePaid} €</td>\\n                </tr>\\n              </template>\\n              <tr class=\\\"total\\\">\\n                <th>Compensi totali</th>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountConfirmed} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPendingConfirmation} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountTotal} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPaid} €</td>\\n                <td><span innerhtml.bind=\\\"counter['toBePaid'+$index]\\\">${resource.counter('toBePaid'+$index, 0, resource.summaryTableInterface.data.totalAmount.amountToBePaid, 1000)}</span> €</td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportSummary()\\\" style=\\\"margin: 0;\\\">\\n                    <i class=\\\"material-icons\\\" style=\\\"margin: 0.5rem;\\\">download</i>Download excel compensi\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo mensile -->\\n    <ka-tab id=\\\"riepilogo-mensile\\\" label=\\\"Riepilogo mensile\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.detailsTableInterface\\\" search.bind=\\\"resource.detailsSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th>Periodo</th>\\n                <th>Tipologia</th>\\n                <th>Servizio</th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"detail of resource.detailsTableInterface.data\\\">\\n                <tr>\\n                  <td>${detail.month}/${detail.year}</td>\\n                  <td>${detail.serviceGroupName}</td>\\n                  <td>${detail.serviceCode}</td>\\n                  <td>${detail.amountConfirmed} €</td>\\n                  <td>${detail.amountPendingConfirmation} €</td>\\n                  <td>${detail.amountTotal} €</td>\\n                  <td>${detail.amountPaid} €</td>\\n                  <td>${detail.amountToBePaid} €</span></td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportDetail()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo mensile</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo utenti -->\\n    <ka-tab id=\\\"riepilogo-utenti\\\" label=\\\"Riepilogo utenti\\\">\\n      <template if.bind=\\\"resource.usersSummaryTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersSummaryTableInterface\\\" search.bind=\\\"resource.usersSummarySearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th>Contatti</th>\\n                <th>Codici provvigionali</th>\\n                <th><span class=\\\"tooltip\\\" ka-tooltip=\\\"Sono i servizi provvigionali attualmente assegnati all'utente. Non sono strettamente connessi ai compensi maturati.\\\">Servizi associati</span></th>\\n                <th>Gestionale</th>\\n                <th>Confermato</th>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"total\\\">Totale generale</md-table-sort></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"resource of resource.usersSummaryTableInterface.data\\\">\\n                <tr class=\\\"${resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation ? '' : 'not-associated'}\\\">\\n                  <!-- DisplayName -->\\n                  <td if.bind=\\\"resource.userSummary.displayName && resource.userSummary.displayName !== ''\\\"><strong class=\\\"limitwidth\\\">${resource.userSummary.displayName}</strong></td>\\n                  <td if.bind=\\\"!resource.userSummary.displayName || resource.userSummary.displayName === ''\\\"><strong class=\\\"limitwidth\\\">Utente non più presente</strong></td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <template if.bind=\\\"resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation\\\">\\n                      <small if.bind=\\\"resource.userSummary.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${resource.userSummary.email}</small>\\n                      <small if.bind=\\\"resource.userSummary.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${resource.userSummary.phoneNumber}</small>\\n                      <small if.bind=\\\"resource.userSummary.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${resource.userSummary.mobilePhoneNumber}</small>\\n                    </template>\\n                  </td>\\n                  <!-- Codici provvigionali -->\\n                  <td>\\n                    <span if.bind=\\\"resource.commissionsSummary.resellerCodes.length\\\" repeat.for=\\\"service of resource.commissionsSummary.resellerCodes\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service}</span>\\n                  </td>\\n                  <!-- Associated services -->\\n                  <td>\\n                    <span if.bind=\\\"resource.userSummary.associatedGroups && resource.userSummary.associatedGroups.length\\\" repeat.for=\\\"service of resource.userSummary.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Gestionale -->\\n                  <td style=\\\"white-space: nowrap;\\\">${resource.userSummary.apiClient.name}</td>\\n                  <!-- Confermato -->\\n                  <td>${resource.commissionsSummary.amountConfirmed}€</td>\\n                  <!-- Totale generale -->\\n                  <td>${resource.commissionsSummary.amountTotal}€</td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsersSummary()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo utenti</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Utenti Associati -->\\n    <ka-tab id=\\\"utenti-associati\\\" label=\\\"Utenti associati\\\">\\n      <template if.bind=\\\"resource.usersTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersTableInterface\\\" search.bind=\\\"resource.usersSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th></th>\\n                <th>Contatti</th>\\n                <th>Servizi associati</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"user of resource.usersTableInterface.data\\\">\\n                <tr>\\n                  <!-- DisplayName -->\\n                  <td class=\\\"limitwidth-30\\\"><strong>${user.displayName}</strong><small style=\\\"display: block;\\\">ID: ${user.userId}</small></td>\\n                  <td class=\\\"p-0\\\">\\n                    <ka-button\\n                      disabled.bind=\\\"api.isImpersonated\\\"\\n                      click.delegate=\\\"resource.impersonate(user)\\\"\\n                      ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\"\\n                      class=\\\"ka-table-button primary\\\">\\n                      <i class=\\\"material-icons\\\">switch_account</i>\\n                    </ka-button>\\n                  </td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <small if.bind=\\\"user.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${user.email}</small>\\n                    <small if.bind=\\\"user.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${user.phoneNumber}</small>\\n                    <small if.bind=\\\"user.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${user.mobilePhoneNumber}</small>\\n                  </td>\\n                  <!-- Services -->\\n                  <td>\\n                    <span if.bind=\\\"user.associatedGroups && user.associatedGroups.length\\\" repeat.for=\\\"service of user.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Tag -->\\n                  <td class=\\\"text-end\\\">\\n                    <div class=\\\"user-tag\\\">\\n                      <ka-control schema.bind=\\\"{ control: 'text' }\\\" value.bind=\\\"user.tag.new\\\" readonly.bind=\\\"!user.userTagEnabled\\\" class=\\\"${!api.hasRole(['ASSIGN_ANY_USER_RESELLER_TAG', 'ASSIGN_USER_RESELLER_TAG']) ? 'tag-disabled' : ''} no-buttons\\\" style=\\\"display:inline-block;margin:0;width:150px;\\\"></ka-control>\\n                      <template if.bind=\\\"(api.hasRole('ASSIGN_ANY_USER_RESELLER_TAG') || api.hasRole('ASSIGN_USER_RESELLER_TAG'))\\\">\\n                        <ka-button click.delegate=\\\"user.userTagEnabled=!user.userTagEnabled\\\" ka-tooltip=\\\"Modifica/crea tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"user.userTagEnabled\\\"><i class=\\\"material-icons\\\">edit</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.cancelTag(user)\\\" ka-tooltip=\\\"Torna indietro\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">close</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'save')\\\" ka-tooltip=\\\"Salva tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">task_alt</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'delete')\\\" ka-tooltip=\\\"Elimina tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">delete</i></ka-button>\\n                      </template>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsers()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel utenti associati</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Ricerca documenti</span></h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-control name=\\\"context\\\" change.call=\\\"$parent.search()\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-input if.bind=\\\"searchInterface.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.call=\\\"$parent.search()\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && !isLoading && contextUser.id\\\">\\n    <h2 if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-between align-items-center lh-1\\\" style=\\\"min-height: 5rem;\\\">\\n      <span if.bind=\\\"!contextUser.profile.displayName\\\">Elenco dei miei documenti</span>\\n      <span if.bind=\\\"contextUser.profile.displayName\\\">Elenco dei documenti di ${contextUser.profile.displayName}</span>\\n      <small class=\\\"alert mx-4\\\"><i class=\\\"far fa-exclamation-circle\\\"></i> Accertarsi di caricare solo documenti in corso di validità!</small>\\n    </h2>\\n    <h2 else>Elenco documenti</h2>\\n\\n    <md-table-wrapper class=\\\"position-relative\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Documento</th>\\n            <th>Etichetta</th>\\n            <th>Stato di approvazione</th>\\n            <th>Motivazione</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr id=\\\"${record.code}\\\" class=\\\"document-type-row open\\\">\\n              <td click.delegate=\\\"toggleType(record)\\\" class=\\\"align-middle toggle-content\\\" colspan=\\\"3\\\"><i class=\\\"far fa-chevron-down me-3\\\"></i>${record.label} <small if.bind=\\\"record.uploadLimit\\\"> - limite file caricabili: ${record.uploadLimit}</small></td>\\n              <td style=\\\"text-align: right; white-space: nowrap;\\\" colspan=\\\"2\\\">\\n                <ka-button\\n                  if.bind=\\\"record.code === 'MAV-VECTOR-CONTRACT' && record.templateFileName\\\"\\n                  click.delegate=\\\"downloadStaticResource(record)\\\"\\n                  class=\\\"flat inverted secondary with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-download\\\"></i>\\n                  <span>Scarica modello</span>\\n                </ka-button>\\n                <ka-button \\n                  if.bind=\\\"api.hasRole('CREATE_USER_CERTIFIABLE_DOCUMENT_BUCKETS')\\\" \\n                  click.delegate=\\\"upload(record)\\\" \\n                  disabled.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount\\\" \\n                  ka-tooltip.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount ? 'Raggiunto il limite di file caricabili per questa tipologia di documento' : 'Aggiungi documento'\\\" \\n                  class=\\\"flat inverted with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-upload\\\"></i>\\n                  <span>Aggiungi documento</span>\\n                </ka-button>\\n              </td>\\n            </tr>\\n            <template if.bind=\\\"record.documentsBucket.length\\\">\\n              <tr repeat.for=\\\"document of record.documentsBucket\\\" data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n                <td class=\\\"document ${ document.refusedAt ? 'refused' : document.approvedAt ? 'approved' : document.uploadedAt ? 'uploaded' : '' } align-middle text-nowrap\\\">\\n                  <i class=\\\"fal ${ document.refusedAt ? 'fa-file-times' : document.approvedAt ? 'fa-file-check' : document.uploadedAt ? 'fa-file-alt' : 'fa-file-exclamation' } align-text-bottom me-3\\\" ka-tooltip=\\\"value.bind: document.refusedAt ? 'Rifiutato' : document.approvedAt ? 'Approvato' : document.uploadedAt ? 'Caricato. In attesa di approvazione' : 'Documento non caricato'\\\"></i>\\n                  <span if.bind=\\\"document.uploadedAt\\\">Caricato il ${document.uploadedAt | dateFormat}</span>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <small if.bind=\\\"record.placeholderType\\\">${record.placeholderType}: ${document.placeholder}</small>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <span>${document.approvedAt ? 'Approvato il '+document.approvedAt : document.refusedAt ? 'Rifiutato il '+document.refusedAt : !document.uploadedAt ? '' : 'In attesa di approvazione'}</span>\\n                </td>\\n                <td class=\\\"align-middle\\\">\\n                  <small if.bind=\\\"document.statusReason\\\" ka-tooltip.bind=\\\"document.statusReason\\\" class=\\\"limitwidth-30\\\">${document.statusReason}</small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <!-- Approval -->\\n                  <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-certificate\\\"></i>\\n                  </button>\\n                  <!-- Upload -->\\n                  <button click.delegate=\\\"upload(record, document)\\\" ka-tooltip=\\\"value.bind: document.uploadedAt ? 'Sostituisci documento' : 'Carica documento'\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-upload\\\"></i>\\n                  </button>\\n                  <!-- Delete -->\\n                  <button click.delegate=\\\"delete(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Elimina documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                  <!-- Download -->\\n                  <button click.delegate=\\\"download(document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>  \\n            </template>\\n            <tr else data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n              <td class=\\\"document align-middle text-nowrap\\\" colspan=\\\"5\\\"><i class=\\\"fal fa-file-alt align-text-bottom me-3\\\"></i>Nessun documento caricato</td>\\n            </tr>\\n          </template>      \\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Al momento non è richiesto di caricare alcun documento</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./elenco.scss\\\"></require>\\n  <template if.bind=\\\"usersSearchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"usersSearchInterface\\\">\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <md-control\\n          name=\\\"textSearch\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          submit.call=\\\"$parent.ricerca()\\\"\\n          md-tooltip=\\\"<ul><li>Inserire almeno 3 caratteri per velocizzare la ricerca</li><li>Inserire id separati da virgola per ricercare per id, es: 123,42,13</li><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li><li>Inserire direttamente il codice fiscale per cercare per codice fiscale, es: DNELVS03E10L219R</li><li>Inserire direttamente la paritita iva per cercare per partita iva, es: 47284790863</li></ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"countryCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          change.call=\\\"$parent.initGeo('countryCode')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl1\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.countryCode\\\"\\n          change.call=\\\"$parent.initGeo('admLvl1')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl2\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl1\\\"\\n          change.call=\\\"$parent.initGeo('admLvl2')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl3\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl2\\\"\\n          change.call=\\\"$parent.initGeo('admLvl3')\\\">\\n        </md-control>\\n      </div>\\n\\n      <template if.bind=\\\"isAdvancedUser\\\">\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"group\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"businessType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"priceList\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"client\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-lg-4\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtStart\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtEnd\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"parent\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"reseller\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"status\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"sepaDirectDebit\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.ricerca()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"usersTableInterface.data || usersTableInterface.isLoading\\\">\\n      <!-- Titolo -->\\n      <h2>\\n        <span>Elenco ${mdt.parsers.contextualize(api.user, 'utenti')}</span>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      </h2>\\n\\n      <md-table-toolbar table.bind=\\\"usersTableInterface\\\" search.bind=\\\"usersTableInterface\\\">\\n        <!-- CSV download -->\\n        <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica selezione in formato csv\\\" class=\\\"toolbar-button\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr>\\n              <th>ID</th>\\n              <th>Registrazione</th>\\n              <th>Denominazione</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Proprietario</th>\\n              <th>Indirizzo</th>\\n              <th>CF/IVA</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Software</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of usersTableInterface.data\\\">\\n              <!-- Id -->\\n              <td width=\\\"50\\\"><span class=\\\"id-${record.statusCode === 'ACTIVE'?'enabled':'disabled'}\\\">${record.id}</span></td>\\n\\n              <!-- Date -->\\n              <td>\\n                <small style=\\\"white-space: nowrap;\\\">${record.createdAt | dateFormat}</small>\\n                <div if.bind=\\\"(record.migratedTo || record.migratedFrom) && api.hasRole(['CREATE_ANY_USER_SUBUSER'])\\\" class=\\\"migration\\\">\\n                  <span class=\\\"tag primary my-2\\\">Utente migrato</span><br>\\n                  <small if.bind=\\\"record.migratedTo\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedTo)\\\">Profilo nuovo utente</a><br>\\n                  </small>\\n                  <small if.bind=\\\"record.migratedFrom\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedFrom)\\\">Profilo utente di provenienza</a>\\n                  </small>\\n                </div>\\n              </td>\\n\\n              <!-- Profile -->\\n              <td class=\\\"limitwidth\\\">\\n                <div class=\\\"row no-gutters\\\">\\n                  <div>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impiegato di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-EMPLOYEE'\\\">badge</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Amministratore di condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING-ADMINISTRATOR'\\\">apartment</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Inutile\\\" if.bind=\\\"record.profile[0].businessType === 'DISPOSABLE'\\\">repeat_one</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Reseller\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-BUSINESS-SCOUT'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Partner di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-PARTNER'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Altro\\\" if.bind=\\\"record.profile[0].businessType === 'OTHER'\\\">switch_account</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Automotive\\\" if.bind=\\\"record.profile[0].businessType === 'AUTOMOTIVE'\\\">directions_car</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Da classificare\\\" if.bind=\\\"record.profile[0].businessType === 'SKIPPED'\\\">more</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Punto vendita\\\" if.bind=\\\"record.profile[0].businessType === 'COMPUTER-SHOP'\\\">laptop_chromebook</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Tour operator\\\" if.bind=\\\"record.profile[0].businessType === 'TOUR-OPERATOR'\\\">travel_explore</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impresa assicurativa\\\" if.bind=\\\"record.profile[0].businessType === 'INSURANCE-COMPANY'\\\">work</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Sconosciuto\\\" if.bind=\\\"record.profile[0].businessType === 'UNKNOWN'\\\">no_accounts</i>\\n                  </div>\\n                  <div class=\\\"col limitwidth\\\">\\n                    <strong>${record.profile[0].displayName}</strong>\\n                    <small style=\\\"display:block;overflow:hidden;text-overflow:ellipsis\\\">\\n                      <span if.bind=\\\"record.profile[0].courtesyTitle\\\">${record.profile[0].courtesyTitle}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.lastname\\\">${record.profile[0].holderName.lastname}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.firstname\\\">${record.profile[0].holderName.firstname}</span>\\n                      <span if.bind=\\\"record.profile[0].email\\\" style=\\\"display: block;\\\">${record.profile[0].email}</span>\\n                    </small>\\n                  </div>\\n                </div>\\n              </td>\\n\\n              <!-- Display name -->\\n              <td if.bind=\\\"isAdvancedUser\\\">\\n                <div if.bind=\\\"record.parentId\\\"><a href=\\\"anagrafiche/utenti/${record.parentId}/anagrafica\\\">${record.profile[0].parent.displayName}</a><br><small>ID ${record.parentId}</small></div>\\n                <div if.bind=\\\"record.sponsors\\\" innerhtml.bind=\\\"record.sponsors|sponsorsFormat\\\" class=\\\"sponsors\\\"></div>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.profile[0].location.streetAddress\\\">${record.profile[0].location.streetAddress}</span>\\n                  <br if.bind=\\\"record.profile[0].location.streetAddress\\\">\\n                  <span if.bind=\\\"record.profile[0].location.zipCode\\\">${record.profile[0].location.zipCode} - </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl3\\\">${record.profile[0].location.admLvl3} </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl2\\\">(${record.profile[0].location.admLvl2})</span>\\n                  <span if.bind=\\\"record.profile[0].location.countryCode !== 'IT'\\\"> - ${record.profile[0].location.countryCode}</span>\\n                </small>\\n              </td>\\n              <td>${record.profile[0].fiscalCode}<br if.bind=\\\"record.profile[0].fiscalCode\\\">${record.profile[0].vatCode}</td>\\n              <td if.bind=\\\"isAdvancedUser\\\">${record.profile[0].apiClientName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE' && isImpersonateUser\\\"\\n                  click.delegate=\\\"impersonifica(record)\\\"\\n                  disabled.bind=\\\"api.isImpersonated\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\">\\n                  <i class=\\\"material-icons\\\">switch_account</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE' && api.hasRole('ARCHIVE_ANY_USER')\\\"\\n                  click.delegate=\\\"archiviazione(record.id)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Archivia ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">no_accounts</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Attiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_add</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Disattiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_remove</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['CREATE_ANY_USER_SUBUSER']) && record.statusCode === 'ARCHIVED' && record.parentId\\\"\\n                  click.delegate=\\\"migrate(record)\\\"\\n                  disabled.bind=\\\"migratePending || record.migratedTo\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Migra ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">people</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION', 'LIST_ACTIVABLE_FLAT_SERVICES'])\\\"\\n                  click.delegate=\\\"abbonamenti(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"Apri servizi in abbonamento\\\">\\n                  <i class=\\\"material-icons\\\">shopping_cart</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode !== 'ARCHIVED'\\\"\\n                  click.delegate=\\\"modifica(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">edit</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!usersTableInterface.isLoading && !usersTableInterface.data.length\\\">Nessun utente trovato</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-resource\\n    if.bind=\\\"resource.data\\\"\\n    view-model.ref=\\\"resource.resource\\\"\\n    with.bind=\\\"resource.resource\\\"\\n    schema.bind=\\\"resource.schema\\\"\\n    data.bind=\\\"resource.data\\\">\\n    <h2 class=\\\"mb-0\\\">\\n      Profilo di fatturazione\\n      <ka-button\\n        click.trigger=\\\"populate()\\\"\\n        class=\\\"inverted ms-0\\\">${billingProfileUuid ? 'Compila dati mancanti con anagrafica' : 'Compila con i dati anagrafici'}\\n      </ka-button>\\n      <ka-button\\n        if.bind=\\\"navigateBack\\\"\\n        click.delegate=\\\"navigateBack()\\\"\\n        ka-tooltip=\\\"Torna indietro\\\"\\n        class=\\\"flat inverted secondary with-icon\\\">\\n        <i class=\\\"far fa-arrow-left\\\"></i>\\n        <span>Indietro</span>\\n      </ka-button>\\n    </h2>\\n    <template if.bind=\\\"!pendingInit\\\">\\n      <div class=\\\"row m-0 mt-3 mb-3 px-1\\\">\\n        <div class=\\\"col-6 m-0\\\">\\n          <md-control\\n            if.bind=\\\"legalForms && legalFormTypes\\\"\\n            name=\\\"legalFormCode\\\" \\n            buttons=\\\"dropdown\\\" \\n            change.call=\\\"changeLegalForm()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 m-0\\\" show.bind=\\\"resource.data.legalFormCode\\\">\\n          <md-control \\n            name=\\\"label\\\" \\n            buttons=\\\"clear\\\">\\n          </md-control>\\n        </div>\\n        <p if.bind=\\\"taxPercentage >= 0\\\" class=\\\"m-0 mb-3 mt-2\\\">Per la forma giuridica selezionata verrà applicata una ritenuta d'acconto pari a ${taxPercentage}%</p>\\n      </div>\\n      <div show.bind=\\\"resource.data.legalFormCode\\\">\\n        <h2 class=\\\"mb-0\\\">Dati di fatturazione</h2>\\n        <div if.bind=\\\"changeLegalFormPending === false\\\" class=\\\"row m-0 px-1\\\">\\n          <!-- Left -->\\n          <div class=\\\"col-6 pe-3\\\" style=\\\"box-shadow: inset -1px 0 0 #e0e0e0;\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"legalFormSelected.companyNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"name\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"firstName\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"lastName\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"fiscalCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('vatCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"vatCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"officeCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"ipaCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"payments.banking.iban\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <p if.bind=\\\"billingProfileIban\\\" class=\\\"m-0\\\">\\n                <small>Istituto ${bankAccountInfo.instituteName || 'di credito sconosciuto'}</small>\\n                <small if.bind=\\\"bankAccountInfo.instituteName\\\"> - Filiale ${bankAccountInfo.officeName || 'sconosciuta'}</small>\\n              </p>\\n            </div>\\n            <h3 class=\\\"p-0 mt-4\\\">Metodi di pagamento associati</h3>\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\">\\n                <md-control \\n                  name=\\\"payments.banking.sepaDirectDebitEnabled\\\" \\n                  change.call=\\\"checkSDD()\\\" \\n                  style=\\\"min-width: 220px;\\\">\\n                </md-control>\\n              </div>\\n              <div show.bind=\\\"checkSDDPassed\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.banking.lastFourIbanDigits\\\"></md-control>\\n              </div>\\n              <div show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.splitPaymentsEnabled\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n          <!-- Right -->\\n          <div class=\\\"col-6 ps-3 locazione\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.countryCode\\\" \\n                  alias=\\\"location\\\" \\n                  ready.call=\\\"setGeo('countryCode', true)\\\" \\n                  change.call=\\\"setGeo('countryCode')\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl1Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl1Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl1Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.countryCode\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl2Uuid.enabled\\\"  class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.admLvl2Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl2Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.admLvl1Uuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl3Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl3Uuid\\\" \\n                  readonly.bind=\\\"!resource.data.location.admLvl2Uuid\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div class=\\\"col-9 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.streetAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div> \\n              <div class=\\\"col-3 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.zipCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.locality\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.emailAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.phoneNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.faxNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button class=\\\"inverted me-0\\\" click.delegate=\\\"$parent.cancel()\\\">Annulla</ka-button>\\n        <ka-button disabled.bind=\\\"pendingPopulateMissingData\\\" click.delegate=\\\"$parent.save($event)\\\">Salva</ka-button>\\n      </div>\\n\\n      <!-- Authorizations section -->\\n      <template if.bind=\\\"billingProfileUuid\\\">\\n        <h2 class=\\\"mb-0\\\">Autorizzazioni</h2>\\n        <div class=\\\"p-3\\\">\\n          <h3 class=\\\"auth-mav-title d-flex align-items-center p-0 m-0 my-3\\\"><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Autorizzazioni stampa MAV</span></h3>\\n          <template if.bind=\\\"mavRequests.length\\\">\\n            <div repeat.for=\\\"request of mavRequests\\\" class=\\\"ps-2\\\">\\n              <p class=\\\"mx-0 mt-0 mav-request-status ${request.status}\\\" style=\\\"line-height: 3rem\\\">${mavRequest.displayText(request)}</p>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && request.status === 'DELETED' || request.status === 'REFUSED'\\\"\\n                click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n                class=\\\"inverted flat with-icon m-0\\\">\\n                <i class=\\\"far fa-plus\\\"></i>\\n                <span>Crea richiesta</span>\\n              </ka-button>\\n              <ka-button \\n                if.bind=\\\"isMAVRequestDeletable(request.status)\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                class=\\\"flat secondary inverted with-icon m-0\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n                <span>Dismetti richiesta</span>\\n              </ka-button>\\n            </div>\\n          </template>\\n          <template if.bind=\\\"!mavRequests.length\\\">\\n            <p class=\\\"mx-0 mt-0\\\">Nessuna richiesta in corso</p>\\n            <ka-button\\n              if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')\\\"\\n              click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n              class=\\\"inverted flat with-icon m-0\\\">\\n              <i class=\\\"far fa-plus\\\"></i>\\n              <span>Crea richiesta</span>\\n            </ka-button>\\n          </template>\\n        </div>\\n      </template>   \\n    </template>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fatturazione.sass\\\"></require>\\n\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  <template if.bind=\\\"!editor.model\\\">\\n\\n    <!-- SDI -->\\n    <template if.bind=\\\"params.id && searchContext.user.parentId\\\">\\n      <h2>Fatturazione elettronica</h2>\\n      <div class=\\\"d-flex align-items-center\\\">\\n        <ka-control name=\\\"sdi.code\\\" readonly.bind=\\\"!sdiEnabled\\\" class=\\\"px-4 mb-4\\\" buttons=\\\"clear\\\"></ka-control>\\n        <ka-button if.bind=\\\"!sdiEnabled\\\" click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0 me-4 flex-grow-1 flex-shrink-0\\\">Modifica codice Sdi</ka-button>\\n        <div if.bind=\\\"sdiEnabled\\\" class=\\\"d-flex align-items-center flex-grow-1 flex-shrink-0\\\">\\n          <ka-button click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"saveCustomSdi($event)\\\" class=\\\"m-0 ms-3 me-4\\\">Salva modifiche</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n     <!-- SEARCH INTERFACE -->\\n    <template if.bind=\\\"privileges.isAdmin && searchInterface.initialized\\\">\\n      <h2>Ricerca profili di fatturazione</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${searchContext.hasUser ? 3 : 6}\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.hasUser\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control\\n              if.bind=\\\"!searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n            <md-control\\n              if.bind=\\\"searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${!searchContext.isRequestedUser ? 3 : 6}\\\">\\n            <md-control\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.isChildUsers\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"  change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n        </template>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"iban\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"sdd\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"mav_authorization_status\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"searchContext.isChildUsers && (privileges.isOperator || !searchContext.hasUser)\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"resetSearch()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <!-- TABLE INTERFACE -->\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n        <span>Elenco profili di fatturazione</span>\\n        <div if.bind=\\\"!params.id && !privileges.isOperator\\\" class=\\\"d-flex align-items-center ms-auto\\\">\\n          <p class=\\\"m-0\\\">\\n            <span if.bind=\\\"selectedBillingProfiles.list.length\\\">\\n              <strong class=\\\"primary-text\\\">${selectedBillingProfiles.list.length}</strong> profil${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} selezionat${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} su ${tableInterface.total} totali\\n            </span>\\n            <small if.bind=\\\"!selectedBillingProfiles.list || !selectedBillingProfiles.list.length\\\" class=\\\"alert\\\">\\n              <i class=\\\"far fa-exclamation-circle\\\" ka-tooltip=\\\"La selezione massiva prenderà in considerazione solo i record attualmente visualizzati.\\\"></i>\\n              Seleziona almeno un profilo per effettuare operazioni massive!\\n            </small>\\n          </p>\\n          <ka-button\\n            click.delegate=\\\"selectedBillingProfiles.activeSdd($event)\\\"\\n            disabled.bind=\\\"!selectedBillingProfiles.list.length\\\"\\n            class=\\\"inverted flat\\\">\\n            <i class=\\\"material-icons\\\">sync</i> Attiva SDD\\n          </ka-button>\\n        </div>\\n        <ka-button\\n          if.bind=\\\"params.id\\\"\\n          class=\\\"inverted flat ms-0 with-icon\\\"\\n          click.delegate=\\\"createProfile()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea profilo di fatturazione</span>\\n        </ka-button>\\n      </h2>\\n\\n      <!-- Table -->\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.selectAll()\\\" style=\\\"cursor: pointer;\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"selectedBillingProfiles.allSelected\\\" style=\\\"pointer-events: none;\\\">\\n              </th>\\n              <th>Profilo di fatturazione</th>\\n              <th>CF/P.IVA</th>\\n              <th>IBAN</th>\\n              <th>SDD</th>\\n              <th>\\n                <span static-tooltip=\\\"value.bind: staticTooltipMavAuthorization\\\">Autorizzazioni</span>\\n              </th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"profile of tableInterface.data\\\">\\n              <tr class=\\\"${profile.errors || profile.controls['payments.banking.iban'].validator.errors.length ? 'row-error' : ''}\\\">\\n                <td if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.select(profile)\\\" style=\\\"cursor: pointer;\\\">\\n                  <input type=\\\"checkbox\\\" model.bind=\\\"profile\\\" checked.bind=\\\"selectedBillingProfiles.list\\\" disabled.bind=\\\"profile.payments.banking.sepaDirectDebitEnabled\\\" style=\\\"pointer-events: none;\\\">\\n                </td>\\n                <td>\\n                  <strong>${profile.ownerDisplayName}</strong><br>\\n                  <span if.bind=\\\"legalForms[profile.legalFormCode]\\\"><small>Forma legale: </small>${legalForms[profile.legalFormCode]}</span>\\n                  <span class=\\\"d-block\\\"><small>Etichetta: </small>${profile.label}</span>\\n                  <small if.bind=\\\"profile.default\\\" class=\\\"primary-text\\\">\\n                    ${params ? 'Profilo predefinito' : 'Profilo'}\\n                    <span>${profileContextInfo}</span>\\n                  </small>\\n                  <small if.bind=\\\"!profile.default\\\">\\n                    <a href=\\\"#\\\" click.delegate=\\\"setAsDefault(profile)\\\" class=\\\"primary-text\\\">Imposta come predefinito\\n                      <span>${profileContextInfo}</span>\\n                    </a>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span if.bind=\\\"profile.fiscalCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>CF:</small> ${profile.fiscalCode}</span>\\n                  <span if.bind=\\\"profile.vatCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>IVA:</small> ${profile.vatCode}</span>\\n                </td>\\n                <td class=\\\"iban\\\">\\n                  <div class=\\\"d-flex align-items-center\\\">\\n                    <ka-control\\n                      value.bind=\\\"profile.payments.banking.newIban\\\"\\n                      view-model.ref=\\\"profile.controls['payments.banking.iban']\\\"\\n                      schema.bind=\\\"{ control: 'text', placeholder: 'Inserire codice IBAN' }\\\" \\n                      readonly.bind=\\\"!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator\\\">\\n                    </ka-control>\\n                    <ka-button\\n                      style=\\\"background: transparent;\\\"\\n                      if.bind=\\\"!params.id && !privileges.isOperator\\\"\\n                      click.delegate=\\\"saveBillingProfileIban(profile)\\\"\\n                      disabled.bind=\\\"profile.payments.banking.oldIban\\\"\\n                      class=\\\"my-0 mx-0 check-iban-btn secondary inverted flat ${!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator ? 'readonly' : ''}\\\">\\n                      <i class=\\\"far fa-check\\\"></i>\\n                    </ka-button>\\n                  </div>\\n\\n                </td>\\n                <td class=\\\"sdd\\\">\\n                  <span class=\\\"${profile.errors ? 'activation-errors' : profile.payments.banking.sepaDirectDebitEnabled ? 'enabled' : ''}\\\">${profile.errors ? 'Attivazione non riuscita' : profile.payments.banking.sepaDirectDebitEnabled ? 'Attivato' : 'Non attivato'}</span>\\n                  <div if.bind=\\\"!profile.payments.banking.iban && api.hasRole(['MODIFY_USER_BILLING_PROFILE', 'MODIFY_ANY_USER_BILLING_PROFILE'])\\\" class=\\\"iban\\\">\\n                  </div>\\n                  <small if.bind=\\\"profile.errors\\\" innerhtml.bind=\\\"profile.errors\\\" style=\\\"max-width: 25rem\\\"></small>\\n                </td>\\n                <td class=\\\"authorization\\\">\\n                  <div>Autorizzazione stampa MAV</div>\\n                  <small \\n                    class=\\\"${profile.payments.banking.mavSelfPrintingAuthorizationStatus} d-block\\\"\\n                    ka-tooltip=\\\"value.bind: profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason  ? 'Motivo del rifiuto: '+profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason : ''\\\">\\n                    ${mavRequest.displayText(profile)}\\n                  </smalL>\\n                  <template if.bind=\\\"profile.payments.banking.iban\\\">\\n                    <small\\n                      class=\\\"create-mav-request\\\"\\n                      click.delegate=\\\"mavCreateAuthorizationRequest(profile.ownerLegacyId, profile.uuid)\\\"\\n                      if.bind=\\\"(profile.payments.banking.iban && !profile.payments.banking.mavSelfPrintingAuthorizationStatus) || (profile.payments.banking.mavSelfPrintingAuthorizationStatus === 'REFUSED')\\\">Crea una nuova richiesta\\n                    </small>\\n                    <small\\n                      class=\\\"delete-mav-request\\\"\\n                      if.bind=\\\"isMAVRequestDeletable(profile)\\\"\\n                      click.delegate=\\\"dialogDeleteMavRequest(profile)\\\">Dismetti richiesta\\n                    </small>\\n                  </template>\\n                  <small\\n                    else\\n                    class=\\\"iban-required\\\" \\n                    ka-tooltip=\\\"È necessario specificare un codice IBAN per poter creare una richiesta di autorizzazione stampa MAV\\\">\\n                    Inserire IBAN per creare una richiesta\\n                  </small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <button\\n                    click.delegate=\\\"edit(profile)\\\"\\n                    ka-tooltip=\\\"Modifica profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-edit\\\"></i>\\n                  </button>\\n                  <button\\n                    click.delegate=\\\"delete(profile)\\\"\\n                    ka-tooltip=\\\"Elimina profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- EDITOR -->\\n  <compose if.bind=\\\"editor.model\\\" view-model.bind=\\\"editor.view\\\" model.bind=\\\"editor.model\\\" containerless></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione utenti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione utenti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi utenti ed eventualmente i loro profili di fatturazione.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_condomini.csv\\\" target=\\\"_blank\\\">Scarica</a>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n            <ka-input style=\\\"margin:0;\\\" config.bind=\\\"{ label: 'Completa dati di fatturazione con i dati anagrafici dell\\\\'intestatario', control: 'check'}\\\" value.bind=\\\"autocomplete\\\"></ka-input>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n  <template if.bind=\\\"records && !loading\\\">\\n    <h2 class=\\\"table_title\\\">Elenco righe da importare\\n      <ka-button click.delegate=\\\"importa()\\\" disabled.bind=\\\"importStatus.pending\\\">Importa selezionati</ka-button>\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <div class=\\\"table_container\\\">\\n      <table ref=\\\"importTable\\\" class=\\\"ka-table-like\\\">\\n        <colgroup>\\n          <col span=\\\"12\\\" class=\\\"profile\\\">\\n          <col span=\\\"13\\\" class=\\\"billing\\\">\\n        </colgroup>\\n        <thead>\\n  \\n          <!-- Top thead -->\\n          <tr class=\\\"top\\\">\\n\\n            <!-- Profile -->\\n            <th class=\\\"profile\\\" colspan=\\\"12\\\">Dati Anagrafici\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.profile.countSelected}</span>\\n              </p> \\n              <p if.bind=\\\"importStatus.profile.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.profile.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countImported\\\">Importati: \\n                <span>${importStatus.profile.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countErrors\\\">Errori: \\n                <span>${importStatus.profile.countErrors}</span>\\n              </p>\\n            </th>\\n\\n            <!-- Billing -->\\n            <th class=\\\"billing\\\" colspan=\\\"13\\\">Dati Fatturazione\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.billing.countSelected}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.billing.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countImported\\\">Importati: \\n                <span>${importStatus.billing.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countErrors\\\">Errori: \\n                <span>${importStatus.billing.countErrors}</span>\\n              </p>\\n            </th>\\n          </tr>\\n  \\n          <!-- Bottom thead -->\\n          <tr>\\n  \\n            <!-- Columns profile -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllProfile\\\" change.delegate=\\\"toggleAllProfile(selectAllProfile)\\\" disabled.bind=\\\"importStatus.pending\\\"></th>\\n            <th>${schema.userData.profile.businessType.label}</th>\\n            <th>${schema.userData.profile.displayName.label}</th>\\n            <th>${schema.userData.profile.holderName.companyName.label}</th>\\n            <th>${schema.userData.profile.fiscalCode.label}</th>\\n            <th>${schema.userData.profile.location.streetAddress.label}</th>\\n            <th>${schema.userData.profile.location.locality.label}</th>\\n            <th>${schema.userData.profile.location.zipCode.label}</th>\\n            <th>${schema.userData.profile.location.admLvl3.label}</th>\\n            <th>${schema.userData.profile.location.admLvl2.label}</th>\\n            <th>${schema.userData.profile.location.admLvl1.label}</th>\\n            <th>${schema.userData.profile.location.countryCode.label}</th>\\n  \\n            <!-- Columns billing -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllBilling\\\" change.delegate=\\\"toggleAllBilling(selectAllBilling)\\\" disabled.bind=\\\"!selectAllProfile || importStatus.pending\\\"></th>\\n            <th>${schema.billingProfileData.type.label}</th>\\n            <th>${schema.billingProfileData.name.label}</th>\\n            <th>${schema.billingProfileData.fiscalCode.label}</th>\\n            <th>${schema.billingProfileData.location.streetAddress.label}</th>\\n            <th>${schema.billingProfileData.location.locality.label}</th>\\n            <th>${schema.billingProfileData.location.zipCode.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl3.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl2.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl1.label}</th>\\n            <th>${schema.billingProfileData.location.countryCode.label}</th>\\n            <th>${schema.billingProfileData.payments.banking.iban.label}</th>\\n            <th>Domiciliazione bancaria</th>\\n          </tr>\\n        </thead>\\n\\n        <!-- Tbody -->\\n        <tbody>\\n          <tr repeat.for=\\\"row of records\\\" class=\\\"${row.profile._status}${row.profile._status && row.billing._status ? '-':''}${row.billing._status}\\\">\\n  \\n            <!-- Columns profile -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.profile._status !== 'duplicated' || row.profile._overwrite || !row.matchedUserUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.profile._selected\\\" change.delegate=\\\"selectProfile(row)\\\" disabled.bind=\\\"row.profile._disabled\\\">\\n              <i if.bind=\\\"row.profile._status === 'duplicated' && !row.profile._overwrite && row.matchedUserUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Utente già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'profile')\\\">warning</i>\\n            </td>\\n\\n            <td class=\\\"profile ${schema.userData.profile.businessType.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.businessType']\\\" schema.bind=\\\"schema.userData.profile.businessType\\\" value.bind=\\\"row.userData.profile.businessType\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.displayName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.displayName']\\\" schema.bind=\\\"schema.userData.profile.displayName\\\" value.bind=\\\"row.userData.profile.displayName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.holderName.companyName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.holderName.companyName']\\\" schema.bind=\\\"schema.userData.profile.holderName.companyName\\\" value.bind=\\\"row.userData.profile.holderName.companyName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.fiscalCode']\\\" schema.bind=\\\"schema.userData.profile.fiscalCode\\\" value.bind=\\\"row.userData.profile.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.streetAddress']\\\" schema.bind=\\\"schema.userData.profile.location.streetAddress\\\" value.bind=\\\"row.userData.profile.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.locality']\\\" schema.bind=\\\"schema.userData.profile.location.locality\\\" value.bind=\\\"row.userData.profile.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.zipCode']\\\" schema.bind=\\\"schema.userData.profile.location.zipCode\\\" value.bind=\\\"row.userData.profile.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl3']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl3\\\" value.bind=\\\"row.userData.profile.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl2']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl2\\\" value.bind=\\\"row.userData.profile.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl1']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl1\\\" value.bind=\\\"row.userData.profile.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.countryCode']\\\" schema.bind=\\\"schema.userData.profile.location.countryCode\\\" value.bind=\\\"row.userData.profile.location.countryCode\\\"></ka-control>\\n            </td>\\n  \\n            <!-- Columns billing -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.billing._status !== 'duplicated' || row.billing._overwrite || !row.matchedBillingProfileUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.billing._selected\\\" change.delegate=\\\"selectBilling(row)\\\" disabled.bind=\\\"row.billing._disabled\\\">\\n              <i if.bind=\\\"row.billing._status === 'duplicated' && !row.billing._overwrite && row.matchedBillingProfileUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Profilo già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'billing')\\\">warning</i>\\n            </td>\\n            \\n            <td class=\\\"billing ${schema.billingProfileData.type.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['type']\\\" schema.bind=\\\"schema.billingProfileData.type\\\" value.bind=\\\"row.billingProfileData.type\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.name.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['name']\\\" schema.bind=\\\"schema.billingProfileData.name\\\" value.bind=\\\"row.billingProfileData.name\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['fiscalCode']\\\" schema.bind=\\\"schema.billingProfileData.fiscalCode\\\" value.bind=\\\"row.billingProfileData.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.streetAddress']\\\" schema.bind=\\\"schema.billingProfileData.location.streetAddress\\\" value.bind=\\\"row.billingProfileData.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.locality']\\\" schema.bind=\\\"schema.billingProfileData.location.locality\\\" value.bind=\\\"row.billingProfileData.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.zipCode']\\\" schema.bind=\\\"schema.billingProfileData.location.zipCode\\\" value.bind=\\\"row.billingProfileData.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl3']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl3\\\" value.bind=\\\"row.billingProfileData.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl2']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl2\\\" value.bind=\\\"row.billingProfileData.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl1']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl1\\\" value.bind=\\\"row.billingProfileData.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.countryCode']\\\" schema.bind=\\\"schema.billingProfileData.location.countryCode\\\" value.bind=\\\"row.billingProfileData.location.countryCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.iban.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.iban']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.iban\\\" value.bind=\\\"row.billingProfileData.payments.banking.iban\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.sepaDirectDebitEnabled.colClassName} ${row.profile._selected ? 'selected' : ''}\\\" style=\\\"padding-left:1rem\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.sepaDirectDebitEnabled']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\" label=\\\"Abilita\\\" value.bind=\\\"row.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\"></ka-control>\\n            </td>\\n\\n          </tr>\\n        </tbody>\\n      </table>\\n      <ka-button click.delegate=\\\"add()\\\">Aggiungi riga</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./impostazioni.sass\\\"></require>\\n  <template if.bind=\\\"isInitPending === false\\\">\\n    <h2>Impostazioni avanzate</h2>\\n    <template if.bind=\\\"!isOperator && advancedPreferences\\\">\\n      <p class=\\\"assistance mx-4 mb-3\\\" if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures || advancedPreferences.grantLoginWithSupportTicket\\\">\\n        Questo account è stato attivato ai ruoli di: \\n        <strong if.bind=\\\"advancedPreferences.grantLoginWithSupportTicket\\\">Assistente</strong>\\n        <strong if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures\\\">BETA tester</strong>\\n      </p>\\n    </template>\\n    <div class=\\\"row mx-4\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"grantLoginWithSupportTicket\\\"></ka-control>\\n      </div>\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.enableBetaFeatures\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.accountingClientSoftwareUuid\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>       \\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        class=\\\"my-0 me-4\\\"\\n        click.delegate=\\\"save($event)\\\" \\n        disabled.bind=\\\"!api.hasRole('MODIFY_USER_ADVANCED_PREFERENCES')\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Pagamenti</h2>\\n    <div class=\\\"row m-0 mb-4\\\">\\n      \\n      <!-- Gestione credito (left side) -->\\n      <div class=\\\"col-6 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n        <div class=\\\"row m-0\\\">\\n          <h3 class=\\\"col-12\\\">Gestione credito</h3>\\n          <div if.bind=\\\"!writeEnabled && resources.data.debtGuarantorDisplayName\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorDisplayName\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"writeEnabled\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control schema.bind=\\\"resource.schema.masterUserCreditSharing\\\" value.bind=\\\"masterUserCreditSharingCheck\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Fatturazione elettronica (right side) -->\\n      <div class=\\\"col-6 px-1 location-data\\\">\\n        <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <h3 class=\\\"col-12\\\">Fatturazione elettronica</h3>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.code\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.genericSubuserCode\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"registerBillsAsManagementMovement\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button class=\\\"my-0 me-4\\\" click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./segnalatori.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2>\\n        Segnalatori\\n        <ka-button if.bind=\\\"writeEnabled\\\" class=\\\"inverted flat\\\" click.delegate=\\\"addReseller()\\\"><i class=\\\"far fa-plus\\\" style=\\\"vertical-align: unset;\\\"></i>Associa nuovo segnalatore</ka-button>\\n        <ka-button if.bind=\\\"downloadHistoryEnabled && !noAssociations\\\" class=\\\"inverted flat secondary\\\" click.delegate=\\\"downloadHistory()\\\"><i class=\\\"far fa-arrow-to-bottom\\\" style=\\\"vertical-align: unset;\\\"></i>Download storico</ka-button>\\n      </h2>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Nome</th>\\n              <th>Cognome</th>\\n              <th>Servizi</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"reseller of tableInterface.data\\\">\\n              <td><strong>${reseller.resellerCode}</strong></td>\\n              <td>${reseller.firstname}</td>\\n              <td>${reseller.lastname}</td>\\n              <td>\\n                <div if.bind=\\\"!isLoading\\\" class=\\\"service-groups d-flex flex-wrap align-items-center\\\">\\n                  <div if.bind=\\\"writeEnabled\\\" class=\\\"add d-flex justify-content-center align-items-center m-1 ms-0 mt-0\\\">\\n                    <i class=\\\"fal fa-plus\\\"></i>\\n                    <select value.bind=\\\"reseller.group\\\" change.delegate=\\\"addServiceGroup(reseller)\\\">\\n                      <option model.bind=\\\"null\\\">Seleziona un servizio da associare:</option>\\n                      <option repeat.for=\\\"group of serviceGroups\\\" model.bind=\\\"group\\\">${group.name}</option>\\n                    </select>\\n                  </div>\\n                  <template if.bind=\\\"serviceGroups\\\">\\n                    <span repeat.for=\\\"group of reseller.serviceGroups\\\" class=\\\"group d-flex align-items-center px-3 me-1 mb-1\\\">\\n                      <span>${group.name}</span>\\n                      <a if.bind=\\\"writeEnabled\\\" href=\\\"\\\" click.delegate=\\\"deleteServiceGroup(reseller, group)\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n                    </span>\\n                  </template>\\n                </div>\\n              </td>\\n              <td if.bind=\\\"writeEnabled\\\" class=\\\"d-flex justify-content-end\\\">\\n                <ka-button click.delegate=\\\"deleteReseller(reseller)\\\" ka-tooltip=\\\"Elimina\\\" class=\\\"flat primary\\\" style=\\\"width: 3.5rem\\\"><i class=\\\"fal fa-trash-alt\\\"></i></ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <require from=\\\"../../static/app.sass\\\"></require>\\n\\n  <!-- NEW menu -->\\n  <km-layout \\n    config.bind=\\\"layoutConfiguration\\\"\\n    if.bind=\\\"api.isAuthenticated && router.currentInstruction.config.settings.authRequired && router.currentInstruction.config.settings.hasLayout\\\">\\n    <div slot=\\\"beforeNav\\\">\\n      <div\\n        class=\\\"menu-level\\\"\\n        if.bind=\\\"isOperator\\\">Menu operatore per la gestione di MultiDialogo\\n      </div>\\n    </div>\\n    <div slot=\\\"afterNav\\\" class=\\\"aside-box\\\">\\n      <ka-button \\n        class=\\\"secondary\\\"\\n        click.delegate=\\\"gotoLegacy()\\\" \\n        style=\\\"max-width: calc(100% - 2rem); width: 100%\\\">Utilizza interfaccia tradizionale \\n      </ka-button>\\n    </div>\\n  </km-layout>\\n\\n  <router-view class=\\\"${(router.currentInstruction.config.className || router.currentInstruction.config.name).split('/').join('-')}\\\"></router-view>\\n\\n  <template if.bind=\\\"serverStatusResponse && serverStatusResponse.statusCode !== 200\\\" >\\n    <div id=\\\"serverStatus\\\">${serverStatusResponse.statusCode === 503 ? serverStatusResponse.response.detail : 'Non riusciamo a contattare i server di Multidialogo, tentativo di connessione in corso...'}</div>\\n  </template>\\n  <template if.bind=\\\"isAppUpdated\\\">\\n    <div id=\\\"appUpdate\\\">\\n      <span><strong>Attenzione! </strong>Stai visualizzando una versione non aggiornata dell'applicazione.</span>\\n      <ka-button \\n        onclick=\\\"window.location.reload()\\\"\\n        class=\\\"flat secondary with-icon ms-3\\\" \\n        ka-tooltip=\\\"Ricarica la pagina e aggiorna l'applicazione\\\">\\n        <i class=\\\"far fa-sync\\\"></i>\\n        <span>Aggiorna</span>\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.senderui-dialog {\\n      padding: 5px;\\n      width: 90vw;\\n      max-width: 1024px;\\n      height: 90vh;\\n      max-height: 768px;\\n    }\\n    ux-dialog.senderui-dialog ux-dialog-body {\\n      padding: 0;\\n      width: calc(90vw - 10px);\\n      max-width: 1014px;\\n      height: calc(90vh - 10px);\\n      max-height: 758px;\\n    }\\n    ux-dialog.senderui-dialog a.close {\\n      display: block;\\n      position: absolute;\\n      top: 2rem;\\n      right: 2.6rem;\\n      border-radius: 50%;\\n      width: 2rem;\\n      height: 2rem;\\n      text-align: center;\\n      text-decoration: none;\\n      color: #ffffff;\\n      transition: all 0.3s;\\n    }\\n    ux-dialog.senderui-dialog a.close i {\\n      line-height: 2rem;\\n    }\\n    ux-dialog.senderui-dialog a.close:hover {\\n      text-shadow: 0 0 5px #00000033;\\n      transform: scale(1.1);\\n    }\\n  </style>\\n  <ux-dialog class=\\\"senderui-dialog\\\">\\n    <ux-dialog-body if.bind=\\\"model.iframe\\\">\\n      <a href=\\\"\\\" class=\\\"close\\\" click.delegate=\\\"close()\\\"><i class=\\\"material-icons\\\">highlight_off</i></a>\\n      <iframe src.bind=\\\"model.iframe\\\" name=\\\"senderui\\\"style=\\\"width: 100%; height: 100%; border: 0;\\\"></iframe>\\n    </ux-dialog-body>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Manutenzione in corso!</h1>\\n    <h2 if.bind=\\\"reason\\\">${reason}</h2>\\n    <h2 else>La piattaforma è attualmente in manutenzione e non è disponibile per l'utilizzo</h2>\\n    <p>Grazie per la vostra comprensione</p>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Qualcosa è andato storto!</h1>\\n    <h2>La pagina richiesta non esiste</h2>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n\\n  <template if.bind=\\\"!agreement.view\\\">\\n    <h2>\\n      <span if.bind=\\\"!params.id\\\">Elenco agreements</span>\\n      <span else>${params.id === 'new' ? 'Crea nuovo' : 'Modifica'} agreement</span>\\n      <ka-button \\n        if.bind=\\\"!params.id\\\" \\n        class=\\\"inverted flat with-icon\\\" \\n        click.delegate=\\\"new()\\\">\\n        <i class=\\\"far fa-file-plus\\\"></i>\\n        <span>Crea nuovo agreement</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button \\n          if.bind=\\\"!isActive\\\" \\n          click.delegate=\\\"save($event)\\\" \\n          disabled.bind=\\\"isActive\\\" \\n          class=\\\"flat inverted with-icon ms-0\\\">\\n          <i class=\\\"far fa-file-check\\\"></i> \\n          <span>Salva agreement</span>\\n        </ka-button>\\n        <ka-button \\n          click.delegate=\\\"cancel()\\\" \\n          class=\\\"flat inverted secondary with-icon\\\">\\n          <i class=\\\"far fa-undo\\\"></i>\\n          <span>Torna indietro</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"!params.id\\\">\\n      <template if.bind=\\\"agreementsSearchInterface.initialized && (agreementsTableInterface.data || agreementsTableInterface.isLoading)\\\">\\n        <md-table-toolbar table.bind=\\\"agreementsTableInterface\\\" search.bind=\\\"agreementsSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr>\\n                <th></th>\\n                <th>Titolo</th>\\n                <th>Data di inizio</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of agreementsTableInterface.data\\\" class=\\\"${record.status === 'ACTIVE' ? 'attivo' : 'inattivo'}\\\">\\n                <td class=\\\"agreement-status\\\">\\n                  <i class=\\\"fal fa-check-circle\\\" click.delegate=\\\"activation(record)\\\" ka-tooltip=\\\"value.bind: record.status === 'ACTIVE' ? 'Attivo' : 'Inattivo. Clicca per attivare'\\\"></i>\\n                </td>\\n                <td class=\\\"limitwidth\\\">${record.label}</td>\\n                <td>${record.startAt | dateFormat}</td>\\n                <td class=\\\"d-flex justify-content-end\\\">\\n                  <ka-button \\n                    click.delegate=\\\"view(record)\\\" \\n                    ka-tooltip=\\\"Visiona\\\" \\n                    class=\\\"flat inverted secondary\\\">\\n                    Visualizza\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"edit(record)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Modifica\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-edit\\\"></i>\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"activation(record, $event)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Attiva\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-file-check\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!agreementsTableInterface.data.length\\\">Non sono presenti agreements</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  \\n    <!-- Edit -->\\n    <template if.bind=\\\"params.id\\\">\\n      <md-resource view-model.ref=\\\"agreements.resource\\\" with.bind=\\\"agreements.resource\\\" schema.bind=\\\"agreements.schema\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 col-lg-8\\\">\\n            <md-control name=\\\"label\\\" buttons=\\\"clear\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"startAt\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12 my-3\\\">\\n            <md-control name=\\\"content\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n        </div>\\n      </md-resource>\\n  \\n      <!-- Clauses -->\\n      <h2 class=\\\"m-0\\\">\\n        Clausole\\n        <ka-button \\n          if.bind=\\\"params.id !== 'new' && !isActive\\\" \\n          click.delegate=\\\"addClause()\\\" \\n          class=\\\"inverted flat with-icon\\\" \\n          disable.bind=\\\"params.id ==='new'\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Aggiungi clausola</span>\\n        </ka-button>\\n      </h2>\\n      <p if.bind=\\\"params.id ==='new'\\\">Sarà possibile aggiungere clausole solo dopo il primo salvataggio del record.</p>\\n      <p if.bind=\\\"params.id !=='new' && !clauses.data.length\\\">Non sono ancora presenti clausole.</p>\\n      <template if.bind=\\\"params.id !=='new' && clauses.data.length\\\">\\n        <template repeat.for=\\\"clause of clauses.data\\\">\\n          <md-resource view-model.ref=\\\"clause.resource\\\" with.bind=\\\"clause.resource\\\" data.bind=\\\"clause.data\\\" schema.bind=\\\"clauses.schema\\\">\\n            <div class=\\\"row my-3 mx-0\\\">\\n              <div class=\\\"col py-0 px-3 flex-grow-1\\\">\\n                <md-control name=\\\"label\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n              <div class=\\\"col d-flex align-items-center py-0 px-3 flex-grow-0\\\" style=\\\"min-width: 16.5rem\\\">\\n                <ka-button if.bind=\\\"clause.data && !isActive\\\" click.delegate=\\\"deleteClause($event, clause.data.id, $index)\\\" class=\\\"flat secondary m-0\\\"><i class=\\\"fal fa-trash-alt me-3\\\" style=\\\"vertical-align: unset;\\\"></i>Elimina clausola</ka-button>\\n              </div>\\n            </div>\\n            <div class=\\\"row m-0 mt-3\\\">\\n              <div class=\\\"col-12 py-0 px-3\\\">\\n                <md-control name=\\\"content\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n            </div>\\n          </md-resource>\\n        </template>\\n      </template>\\n    </template>\\n  </template>\\n\\n  <!-- View -->\\n  <template if.bind=\\\"agreement.view\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <div>\\n      <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\n<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n  <template if.bind=\\\"!params.id\\\">\\n    <h2>Elenco alias sms</h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"aliasSearchInterface.initialized && (aliasTableInterface.data || aliasSearchInterface.isLoading)\\\">\\n      <md-table-toolbar table.bind=\\\"aliasTableInterface\\\" search.bind=\\\"aliasSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"aliasTableInterface\\\" attribute=\\\"requestedAt\\\">Data richiesta</md-table-sort></th>\\n              <th>Azienda</th>\\n              <th>Stato di attivazione</th>\\n              <th>Mittente SMS</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of aliasTableInterface.data\\\">\\n              <td>${record.requestedAt | dateFormat}</td>\\n              <td>${record.companyName}</td>\\n              <td\\n                css=\\\"${['COMPLETED', 'REGISTERED'].includes(record.status) ? 'color: #1ab91a' : ['ERRORR', 'REFUSED'].includes(record.status) ? 'color: #f91a1a' : ''}\\\">\\n                ${record.status === 'PENDING' ? 'In attesa di registrazione' : record.status === 'REGISTERED' ? 'Richiesta registrata' : record.status === 'COMPLETED' ? 'Attivo' : record.status === 'ERROR' ? 'Errore' : record.status === 'REFUSED' ? 'Richiesta rifiutata' : ''}\\n              </td>\\n              <td>${record.displayName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  click.delegate=\\\"edit(record)\\\"\\n                  ka-tooltip=\\\"Conferma invio\\\"\\n                  class=\\\"ka-table-button arrow\\\">\\n                  <i class=\\\"material-icons\\\">keyboard_arrow_rights</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!aliasTableInterface.data.length\\\">Non sono presenti alias sms</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Modifica -->\\n  <template if.bind=\\\"params.id\\\">\\n    <h2>Dettaglio alias sms</h2>\\n    <md-resource view-model.ref=\\\"resource\\\">\\n      <div class=\\\"row modify-alias\\\">\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"companyName\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"status\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"vatCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"fiscalCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"streetAddress\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"zipCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"country\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"email\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"phoneNumber\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n      </div>\\n      <div class=\\\"form-buttons d-flex flex-row-reverse\\\">\\n        <!-- <ka-button click.delegate=\\\"save()\\\">Salva</ka-button> -->\\n        <ka-button click.delegate=\\\"cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p if.bind=\\\"preview && !result\\\">Con questa archiviazione verrebbero spostate <strong>${preview.willAffect}</strong> code</p>\\n  <p if.bind=\\\"result\\\">Con questa archiviazione sono state spostate <strong>${result.affected}</strong> code</p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"archivia($event)\\\">Archivia</ka-button>\\n    <ka-button if.bind=\\\"result\\\"  click.trigger=\\\"controller.ok()\\\">OK</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    table.ka-table-like { border: 1px solid #e0e0e0; background-color: #fff; }\\n  </style>\\n  <table class=\\\"ka-table-like\\\" show.bind=\\\"archives.length\\\">\\n    <tr>\\n      <th>Percorso</th>\\n      <th>Code</th>\\n      <th></th>\\n    </tr>\\n    <template repeat.for=\\\"record of archives\\\">\\n      <tr>\\n        <td>${record.realPath}</td>\\n        <td>${record.total}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button click.delegate=\\\"archivia(record)\\\">Archivia</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </table>\\n  <p show.bind=\\\"!archives.length\\\">Non ci sono elementi da archiviare!</p>\\n\\n  <h3>Filtra elenco code</h3>\\n  <ka-flex-row>\\n    <ka-input ka-flex label=\\\"Dal mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"Al mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthTo\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearTo\\\"></ka-input>\\n    <ka-button click.delegate=\\\"load()\\\">Aggiorna</ka-button>\\n  </ka-flex-row>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./editor-wall-advice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isPendingInit !== false\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"isPendingInit === false\\\" class=\\\"content\\\" ref=\\\"templateEditorWrapper\\\">\\n        <section class=\\\"general\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <ka-control \\n                name=\\\"tag\\\" \\n                buttons=\\\"close\\\" \\n                class=\\\"pb-3\\\">${wallAdvice.tag}\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <ka-control \\n                name=\\\"public\\\" \\n                buttons=\\\"dropdown\\\">${wallAdvice.public}\\n              </ka-control>\\n            </div>\\n          </div>\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <ka-control \\n                name=\\\"title\\\" \\n                buttons=\\\"close\\\" \\n                class=\\\"pb-3\\\">${wallAdvice.title}\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col p-0\\\">\\n              <ka-control \\n                change.trigger=\\\"normalizeStartAtDateTime()\\\" \\n                name=\\\"startAt\\\" \\n                buttons=\\\"close,dropdown\\\" \\n                class=\\\"pb-3 pe-3\\\">${wallAdvice.startAt}\\n              </ka-control>\\n            </div>\\n          </div>\\n        </section>\\n        <section class=\\\"multidialogo\\\">\\n          <div class=\\\"section-header\\\">\\n            <div class=\\\"section-title\\\">\\n              <h3>Multidialogo</h3>\\n              <h4>Queste impostazioni valgono per il contesto Multidialogo gestionale</h4>\\n            </div>\\n            <ka-button\\n              if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" \\n              class=\\\"inverted secondary m-0\\\" \\n              disabled.bind=\\\"!(resource.data.title && resource.data.htmlContent)\\\"\\n              click.trigger=\\\"tools.dialogWallAdvicePreview($event, resource.data, 'Multidialogo')\\\">\\n              Anteprima\\n            </ka-button>\\n          </div>\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <ka-control \\n                name=\\\"type\\\" \\n                buttons=\\\"dropdown\\\" \\n                class=\\\"pb-3\\\">${wallAdvice.type}\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col p-0\\\">\\n                  <ka-control \\n                    change.trigger=\\\"normalizeEndAtDateTime(resource.data.endAt)\\\" \\n                    name=\\\"endAt\\\" \\n                    buttons=\\\"close,dropdown\\\" \\n                    class=\\\"pb-3 ps-2\\\">${wallAdvice.endAt}\\n                  </ka-control>\\n                </div>\\n              </div> \\n            </div>\\n          </div>\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <ka-control \\n                name=\\\"targetCodes\\\" \\n                buttons=\\\"dropdown\\\" \\n                class=\\\"pb-3\\\">${wallAdvice.targetCodes}\\n              </ka-control>\\n            </div>\\n          </div>\\n          <ka-control name=\\\"htmlContent\\\">${wallAdvice.htmlContent}</ka-control>\\n        </section>\\n        <section class=\\\"senderui\\\">\\n          <div class=\\\"section-header\\\">\\n            <div class=\\\"section-title\\\">\\n              <h3>Multinvio</h3>\\n              <h4>Queste impostazioni valgono per la componente di invio</h4>\\n            </div>\\n            <ka-button\\n              if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" \\n              class=\\\"inverted secondary m-0\\\" \\n              disabled.bind=\\\"!(resource.data.title && resource.data.summaryHtmlContent && resource.data.showInSenderUi)\\\"\\n              click.trigger=\\\"tools.dialogWallAdvicePreview($event, resource.data, 'SenderUi')\\\">\\n              Anteprima\\n            </ka-button>\\n          </div>\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col mt-3\\\">\\n              <ka-control \\n                name=\\\"showInSenderUi\\\" \\n                change.trigger=\\\"onShowInSenderUiChange()\\\"              \\n                class=\\\"pb-3\\\">${wallAdvice.showInSenderUi}\\n              </ka-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col p-0\\\">\\n                  <ka-control \\n                    change.trigger=\\\"normalizeEndAtDateTime(resource.data.showInSenderUiEndAt)\\\" \\n                    name=\\\"showInSenderUiEndAt\\\" \\n                    buttons=\\\"close,dropdown\\\" \\n                    readonly.bind=\\\"!resource.data.showInSenderUi\\\"\\n                    class=\\\"pb-3 ps-2\\\">${wallAdvice.showInSenderUiEndAt}\\n                  </ka-control>\\n                </div>\\n              </div> \\n            </div>\\n          </div>\\n          <div ref=\\\"editorSenderuiWrapper\\\">\\n            <ka-control name=\\\"summaryHtmlContent\\\">${wallAdvice.summaryHtmlContent}</ka-control>\\n          </div>\\n        </section>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <ka-button if.bind=\\\"wallAdvice && api.hasRole('MODIFY_WALL_ADVICES')\\\" click.delegate=\\\"editWallAdvice($event)\\\">Salva modifiche</ka-button>\\n    <ka-button if.bind=\\\"!wallAdvice && api.hasRole('CREATE_WALL_ADVICES')\\\" click.delegate=\\\"createWallAdvice($event)\\\">Aggiungi avviso</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice-preview.sass\\\"></require>\\n  <div class=\\\"body\\\" ref=\\\"wallAdvicePreviewBody\\\">\\n    <p if.bind=\\\"isErrorInit\\\" class=\\\"m-0 p-3\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"!isErrorInit && !isPendingInit\\\" ref=\\\"wallAdvicePreview\\\">\\n      <template if.bind=\\\"context === 'Multidialogo'\\\">\\n        <h3>${title}</h3>\\n        <div innerHtml.bind=\\\"content\\\"></div>\\n      </template>\\n      <template if.bind=\\\"context === 'SenderUi'\\\">\\n        <p class=\\\"banner-message\\\">\\n          <span class=\\\"title\\\"><i class=\\\"fas fa-bullhorn\\\"></i> ${title}</span>\\n          <span innerHtml.bind=\\\"content\\\" class=\\\"content\\\"></span>\\n        </p>\\n      </template>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi anteprima</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingGetWallAdvice !== false && !htmlTemplate\\\">Caricamento in corso......</p>\\n    <div if.bind=\\\"htmlTemplate\\\">\\n      <h3>${wallAdvice.title}</h3>\\n      <div innerHtml.bind=\\\"htmlTemplate\\\"></div>\\n    </div>\\n    <p if.bind=\\\"pendingGetWallAdvice === false && !htmlTemplate\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"params.wallAdvice\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <template if.bind=\\\"params.adviceToShow\\\">\\n      <ka-button if.bind=\\\"wallAdvice.type === 'REMINDER'\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Ricordamelo al prossimo accesso</ka-button>\\n      <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_WALL_ADVICES')\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"acknowledgedAdvice()\\\" class=\\\"me-0\\\">${wallAdvice.type === 'REMINDER' ? 'Non visualizzare più' : 'Chiudi'}</ka-button>\\n    </template>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control\\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control\\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-md-3\\\">\\n        <md-control name=\\\"public\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi attivi</span>\\n      <ka-button\\n        class=\\\"inverted flat with-icon\\\"\\n        click.delegate=\\\"openEditorWallAdvice($event)\\\"\\n        if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Aggiungi avviso</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Visibilità</th>\\n            <th>Target/Contesto</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span class=\\\"mono\\\">${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small>Creato il: <span class=\\\"mono text-color\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.createdAt|dateFormat:'HH:mm'}</span></small>\\n              <small>Data attivazione: <span class=\\\"mono text-color\\\">${record.startAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.startAt|dateFormat:'HH:mm'}</span></small>\\n              <small>Data scadenza: <span class=\\\"mono text-color\\\">${record.endAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.endAt|dateFormat:'HH:mm'}</span></small>\\n              <small if.bind=\\\"record.showInSenderUi === 'YES'\\\">Data scadenza Multinvio: <span class=\\\"mono text-color\\\">${record.showInSenderUiEndAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.showInSenderUiEndAt|dateFormat:'HH:mm'}</span></small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"new-tag ${record.public === 'YES' ? 'success' : ''}\\\">${record.public === \\\"YES\\\" ? \\\"Pubblico\\\" : \\\"Privato\\\"}</span>\\n            </td>\\n            <td class=\\\"target\\\">\\n              <small repeat.for=\\\"record of record.targetCodes\\\">${record}</small>\\n              <small if.bind=\\\"record.showInSenderUi === 'YES'\\\">MULTINVIO</small>\\n            </td>\\n            <td class=\\\"management\\\">\\n              <div>\\n                <md-split-button label=\\\"Opzioni\\\">\\n                  <button class=\\\"options\\\">Gestisci</button>\\n                  <ul class=\\\"source d-none\\\">\\n                    <li if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\">\\n                      <div md-action=\\\"{ icon: 'far fa-edit' }\\\" click.delegate=\\\"openEditorWallAdvice($event, record)\\\">Modifica </div>\\n                    </li>\\n                    <li>\\n                      <div md-action=\\\"{ icon: 'far fa-eye' }\\\" click.delegate=\\\"tools.dialogWallAdvicePreview($event, record, 'Multidialogo')\\\">Anteprima Multidialogo</div>\\n                    </li>\\n                    <li if.bind=\\\"record.showInSenderUi === 'YES'\\\">\\n                      <div md-action=\\\"{ icon: 'far fa-paper-plane' }\\\" click.delegate=\\\"tools.dialogWallAdvicePreview($event, record, 'SenderUi')\\\">Anteprima Multinvio</div>\\n                    </li>\\n                  </ul>\\n                </md-split-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi non attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control \\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control \\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi non attivi</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Target/Contesto</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span>${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small>Creato il: <span class=\\\"mono text-color\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.createdAt|dateFormat:'HH:mm'}</span></small>\\n              <small>Data attivazione: <span class=\\\"mono text-color\\\">${record.startAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.startAt|dateFormat:'HH:mm'}</span></small>\\n              <small>Data scadenza: <span class=\\\"mono text-color\\\">${record.endAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.endAt|dateFormat:'HH:mm'}</span></small>\\n              <small if.bind=\\\"record.showInSenderUi === 'YES'\\\">Data scadenza Multinvio: <span class=\\\"mono text-color\\\">${record.showInSenderUiEndAt|dateFormat:'DD/MM/YY'}</span> alle <span class=\\\"mono text-color\\\">${record.showInSenderUiEndAt|dateFormat:'HH:mm'}</span></small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td class=\\\"target\\\">\\n              <small repeat.for=\\\"record of record.targetCodes\\\">${record}</small>\\n              <small if.bind=\\\"record.showInSenderUi === 'YES'\\\">MULTINVIO</small>\\n            </td>\\n            <td class=\\\"management\\\">\\n              <div>\\n                <md-split-button label=\\\"Opzioni\\\">\\n                  <button class=\\\"options\\\">Gestisci</button>\\n                  <ul class=\\\"source d-none\\\">\\n                    <li if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\">\\n                      <div md-action=\\\"{ icon: 'far fa-edit' }\\\" click.delegate=\\\"openEditorWallAdvice($event, record)\\\">Modifica </div>\\n                    </li>\\n                    <li>\\n                      <div md-action=\\\"{ icon: 'far fa-eye' }\\\" click.delegate=\\\"tools.dialogWallAdvicePreview($event, record, 'Multidialogo')\\\">Anteprima Multidialogo</div>\\n                    </li>\\n                    <li if.bind=\\\"record.showInSenderUi === 'YES'\\\">\\n                      <div md-action=\\\"{ icon: 'far fa-eye' }\\\" click.delegate=\\\"tools.dialogWallAdvicePreview($event, record, 'SenderUi')\\\">Anteprima Multinvio</div>\\n                    </li>\\n                    <li if.bind=\\\"api.hasRole('DELETE_WALL_ADVICES')\\\">\\n                      <div md-action=\\\"{ icon: 'far fa-trash-alt' }\\\" click.delegate=\\\"dialogConfirmExpiredAdviceDeletion($event, record.id)\\\">Elimina avviso</div>\\n                    </li>\\n                  </ul>\\n                </md-split-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs>\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-blacklisted-tax-codes.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"dialog-loader m-0 p-3\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader m-0 p-3\\\">Caricamento in corso</p>\\n    <template if.bind=\\\"!isErrorInit && isPendingInit === false\\\">\\n      <h2 class=\\\"table-title\\\">Elenco</h2>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Data inserimento</th>\\n              <th>Partita IVA o codice fiscale</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td class=\\\"date\\\">${record.created | dateFormat:'DD/MM/YYYY'}</td>\\n              <td class=\\\"tax-code\\\">${record.taxCode}</td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Non sono presenti movimenti</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Elenco bounces</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"bouncesSearchInterface.initialized && (bouncesTableInterface.data || bouncesTableInterface.isLoading)\\\">\\n    <md-table-toolbar table.bind=\\\"bouncesTableInterface\\\" search.bind=\\\"bouncesSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"receivedAt\\\">Data ricezione</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th>Classe</th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"type\\\">Tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"subType\\\">Sotto tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"reason\\\">Ragione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of bouncesTableInterface.data\\\">\\n            <td>${record.receivedAt | dateFormat}</td>\\n            <td>${record.email}</td>\\n            <td>${record.class}</td>\\n            <td>${record.type}</td>\\n            <td>${record.subType}</td>\\n            <td>${record.reason}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bouncesTableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>${type.label || document.documentTypeLabel}.</strong><br>\\n      <small if.bind=\\\"document.ownerDisplayName\\\">Utente: ${document.ownerDisplayName}.<br></small>\\n      <small if.bind=\\\"!document.approvedAt && !document.refusedAt\\\">documento caricato il ${document.uploadedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.approvedAt\\\">documento approvato il ${document.approvedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.refusedAt\\\">documento rifiutato il ${document.refusedAt | dateFormat}.</small>\\n    </p>\\n    <ka-control \\n      schema.bind=\\\"schema.status\\\" \\n      value.bind=\\\"data.status\\\" \\n      buttons=\\\"clear\\\" \\n      class=\\\"${data.status === 'REFUSED' ? 'pb-3' : ''}\\\">\\n    </ka-control>\\n    <ka-control \\n      if.bind=\\\"data.status === 'REFUSED'\\\" \\n      schema.bind=\\\"schema.statusReason\\\" \\n      value.bind=\\\"data.statusReason\\\" \\n      buttons=\\\"clear\\\"\\n      class=\\\"mb-3\\\">\\n    </ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\" disabled.bind=\\\"!data.status || (data.status === 'REFUSED' && !data.statusReason)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca documenti caricati</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"_search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco documenti caricati</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th></th>\\n            <th>Tipologia documento</th>\\n            <th>Utente</th>\\n            <th>Data di caricamento</th>\\n            <th>Stato di approvazione</th>\\n            <th>Operatore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"document ${ item.refusedAt ? 'refused' : item.approvedAt ? 'approved' : '' } align-middle\\\" style=\\\"width: 0;\\\">\\n              <i class=\\\"fal ${ item.refusedAt ? 'fa-file-times' : item.approvedAt ? 'fa-file-check' : 'fa-file-alt' } align-text-bottom\\\" ka-tooltip=\\\"value.bind: item.refusedAt ? 'Rifiutato' : item.approvedAt ? 'Approvato' : 'In attesa di approvazione'\\\"></i>\\n            </td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span>${item.documentTypeLabel}</span>\\n              <small if.bind=\\\"item.placeholder\\\" class=\\\"d-block\\\">Etichetta - ${item.placeholderType} ${item.placeholder}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">${item.ownerDisplayName}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">Caricato il ${item.uploadedAt | dateFormat}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span if.bind=\\\"item.approvedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Approvato il ${item.approvedAt|dateFormat}</span>\\n              <span if.bind=\\\"item.refusedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Rifiutato il ${item.refusedAt|dateFormat}</span>\\n              <span if.bind=\\\"!item.approvedAt && !item.refusedAt\\\">In attesa di approvazione</span>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"limitwidth-30\\\">${item.statusReason}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">\\n              <span if.bind=\\\"item.approvalOperatorDisplayName || item.refusalOperatorDisplayName\\\" ka-tooltip.bind=\\\"item.approvedByUuid ? `Uuid operatore: ${item.approvedByUuid}` : item.refusedByUuid ? `Uuid operatore: ${item.refusedByUuid}` : ''\\\">${item.approvalOperatorDisplayName || item.refusalOperatorDisplayName}</span>\\n            </td>\\n            <td class=\\\"ka-tr-tools align-middle\\\">\\n              <!-- Approval -->\\n              <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(item)\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-file-certificate\\\"></i>\\n              </button>\\n              <!-- Download -->\\n              <button click.delegate=\\\"download(item)\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"strategyIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"typeIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"excludeFromRetry\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"tableInterface.data || tableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data creazione</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"deliveredAt\\\">Data elaborazione mtrax</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"type\\\">Tipologia</md-table-sort></th>\\n              <th>Motivo</th>\\n              <th>Modalità</th>\\n              <th>Retry</th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"attempts\\\">Tentativi</md-table-sort></th>\\n              <th>Ultimo tentativo</th>\\n              <th>Non consegnato</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td>\\n                ${record.createdAt|dateFormat}\\n                <span><br>ID: ${record.id}</span>\\n              </td>\\n              <td>${record.deliveredAt|dateFormat}</td>\\n              <td>${record.type}</td>\\n              <td>${record.payload.data.attributes.reason}</td>\\n              <td>${record.strategy}</td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.excludeFromRetry\\\"\\n                  value.bind=\\\"record.excludeFromRetry\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"setExcludeFromRetry(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td>${record.attemptsCount}</td>\\n              <td>\\n                <strong>Data:</strong> ${record.lastFailedAttemptAt|daysFormat}\\n                <span if.bind=\\\"record.lastFailedAttemptReason\\\"><br>Motivo errore: ${record.lastFailedAttemptReason}</span>\\n              </td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.notDelivered\\\"x\\n                  change.delegate=\\\"setNotDelivered(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"deleteRecord(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">No data</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche-dettaglio.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"meta\\\">\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Codice</strong> <span class=\\\"code\\\">${notification.code}</span></span>\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Chiave</strong> <span class=\\\"key\\\">${notification.uniqueKey}</span></span>\\n      <span if.bind=\\\"notification.doNotSendBefore\\\" style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.doNotSendBefore | dateFormat}</span>\\n      <span else style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.sendBefore | dateFormat}</span>\\n    </p>\\n    <h2>Report per canale</h2>\\n    <ka-tabs if.bind=\\\"notification.channels\\\">\\n      <!-- Email -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('email')\\\" label=\\\"Canale Email\\\">\\n        <div class=\\\"row\\\" repeat.for=\\\"notificationEmail of notification.emails\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notificationEmail.recipientEmailAddress}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDispatchedAt && !notificationEmail.emailDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchedAt\\\">Inviata il ${notificationEmail.emailDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchErrorAt\\\">Errore il ${notificationEmail.emailDispatchErrorAt | dateFormat}<br><small>${notificationEmail.emailDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notificationEmail.emailDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDeliveredAt && !notificationEmail.emailBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notificationEmail.emailDeliveredAt\\\">Consegnata il ${notificationEmail.emailDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailBouncedAt\\\">Errore il ${notificationEmail.emailBouncedAt | dateFormat}<br><small>${notificationEmail.emailBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Oggetto</h3>\\n        <p>${notification.emailSubject}</p>\\n        <iframe id=\\\"emailFrame\\\" src=\\\"about:blank\\\"></iframe>\\n      </ka-tab>\\n      <!-- Sms -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('sms')\\\" label=\\\"Canale SMS\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notification.recipientMobileNumber}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.smsDispatchedAt && !notification.smsDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.smsDispatchedAt\\\">Inviata il ${notification.smsDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsDispatchErrorAt\\\">Errore il ${notification.smsDispatchErrorAt | dateFormat}<br><small>${notification.smsDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.smsDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notification.smsDeliveredAt && !notification.smsBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notification.smsDeliveredAt\\\">Consegnata il ${notification.smsDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsBouncedAt\\\">Errore il ${notification.smsBouncedAt | dateFormat}<br><small>${notification.smsBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin: 0;\\\">Messaggio</h3>\\n        <p>${notification.smsBody}</p>\\n      </ka-tab>\\n\\n      <!-- Ui -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('ui')\\\" label=\\\"Canale Notifica UI\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${userDisplayName}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">Inviata il ${notification.uiDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.uiDispatchErrorAt\\\">Errore il ${notification.uiDispatchErrorAt | dateFormat}<br><small>${notification.uiDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.uiDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p>Consegnata il ${notification.uiDispatchedAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Messaggio</h3>\\n        <p><strong>${notification.uiSubject}</strong></p>\\n        <div class=\\\"unformat\\\" innerhtml.bind=\\\"notification.uiHtmlBody\\\"></div>\\n      </ka-tab>\\n    </ka-tabs>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca notifice</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-input name=\\\"code\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleEmail\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusEmail\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleEmail\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleSms\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusSms\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleSms\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleUiNotice\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusUI\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleUiNotice\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE -->\\n  <template if.bind=\\\"tableInterface.data\\\" class=\\\"notifications\\\">\\n    <h2>Elenco notifiche <span if.bind=\\\"selectedUser\\\">di ${selectedUser.profile.displayName}</span></h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like notifications\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Canale</th>\\n            <th>Programmata per</th>\\n            <th>Programmata entro</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <!-- Code -->\\n            <td><span class=\\\"code\\\" click.delegate=\\\"tools.copyText(item.code)\\\" ka-tooltip=\\\"Copia codice\\\">${item.code}</span></td>\\n            <!-- Created at -->\\n            <td>${item.createdAt | dateFormat}</td>\\n            <!-- Canale -->\\n            <td class=\\\"channels\\\">\\n              <div>\\n                <i class=\\\"fal fa-at ${item.scheduleEmail === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica email\\\"></i>\\n                <i class=\\\"fal fa-sms ${item.scheduleSms === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica SMS\\\"></i>\\n                <i class=\\\"fal fa-bell-exclamation ${item.scheduleUiNotice === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica UI\\\"></i>\\n              </div>\\n            </td>\\n            <!-- doNotSendBefore -->\\n            <td>\\n              <span if.bind=\\\"item.doNotSendBefore\\\">${item.doNotSendBefore | dateFormat}</span>\\n              <span else>Appena possibile</span>\\n            </td>\\n            <!-- sendBefore -->\\n            <td>${item.sendBefore | dateFormat}</td>\\n            <!-- Sending -->\\n            <td>\\n              <ul class=\\\"send\\\">\\n                <!-- Email -->\\n                <li if.bind=\\\"item.scheduleEmail === 'YES'\\\" class=\\\"email\\\">\\n                  <div if.bind=\\\"item.recipientEmailAddress\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email</span>\\n                    <ul class=\\\"timeline email-sms ${!item.emailDispatchedAt && !item.emailDispatchErrorAt ? 'pending' : item.emailDispatchedAt && !item.emailDeliveredAt && !item.emailBouncedAt ? 'transit' : item.emailDispatchErrorAt ? 'error' : item.emailBouncedAt ? 'bounced' : item.emailDeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress2\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 2</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email2DispatchedAt && !item.email2DispatchErrorAt ? 'pending' : item.email2DispatchedAt && !item.email2DeliveredAt && !item.email2BouncedAt ? 'transit' : item.email2DispatchErrorAt ? 'error' : item.email2BouncedAt ? 'bounced' : item.email2DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress3\\\" class=\\\"emailAdress\\\" ka-tooltip=\\\"${item.recipientEmailAddress}\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 3</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email3DispatchedAt && !item.email3DispatchErrorAt ? 'pending' : item.email3DispatchedAt && !item.email3DeliveredAt && !item.email3BouncedAt ? 'transit' : item.email3DispatchErrorAt ? 'error' : item.email3BouncedAt ? 'bounced' : item.email3DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                </li>\\n\\n                <!-- Sms -->\\n                <li if.bind=\\\"item.scheduleSms === 'YES'\\\" class=\\\"sms\\\">\\n                  <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientMobileNumber\\\">SMS</span>\\n                  <ul class=\\\"timeline email-sms ${!item.smsDispatchedAt && !item.smsDispatchErrorAt ? 'pending' : item.smsDispatchedAt && !item.smsDeliveredAt && !item.smsBouncedAt ? 'transit' : item.smsDispatchErrorAt ? 'error' : item.smsBouncedAt ? 'bounced' : item.smsDeliveredAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'sms', item);\\\"></li>\\n                  </ul>\\n                </li>\\n\\n                <!-- Ui -->\\n                <li if.bind=\\\"item.scheduleUiNotice === 'YES'\\\" class=\\\"ui\\\">\\n                  <span class=\\\"send-channel\\\">Notifica UI</span>\\n                  <ul class=\\\"timeline ui ${!item.uiDispatchedAt && !item.uiDispatchErrorAt ? 'pending' : item.uiDispatchErrorAt ? 'error' : item.uiDispatchedAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'ui', item);\\\"></li>\\n                  </ul>\\n                </li>\\n              </ul>\\n            </td>\\n            <!-- Button -->\\n            <td class=\\\"d-flex justify-content-sm-end my-2 my-sm-0\\\"><ka-button class=\\\"flat\\\" click.delegate=\\\"detail(item)\\\">Dettaglio</ka-button></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body py-4\\\">\\n    <p class=\\\"mt-0\\\">Seleziona l'utente a cui assegnare l'offerta oppure inserisci l'indirizzo email per assegnare l'offerta ad un nuovo utente</p>\\n    <div class=\\\"row px-3\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.email\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.user\\\" name=\\\"email\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte-editor.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-3 pt-md-0\\\">\\n        <ka-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-2 pt-md-0\\\">\\n        <ka-control name=\\\"public\\\"></ka-control>\\n      </div>\\n\\n      <div if.bind=\\\"params\\\" class=\\\"col-12 order-1 mt-2\\\">\\n        <h2 style=\\\"margin: 0 -2rem\\\">Dati modificabili</h2>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"description\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 col-md-4\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6 order-1 ' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"targetUserType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"contextBusinessType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineType\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"deadlineTypeChange()\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"targetUserType\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"startAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"startAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"endAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"endAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <md-control name=\\\"deadlineType\\\" change.call=\\\"deadlineTypeChange()\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div  if.bind=\\\"data.deadlineType\\\" class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"deadlineAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"deadlineAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"public\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n\\n      <div class=\\\"col-12 col-xl d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco offerte \\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_PROMOTION_OFFERS')\\\"\\n        class=\\\"inverted flat\\\" \\n        click.delegate=\\\"createOffer()\\\">\\n        <i class=\\\"far fa-plus me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Crea nuova offerta\\n      </ka-button>\\n      </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Codice promozione</th>\\n            <th>Titolo/Descrizione</th>\\n            <th>Data creazione</th>\\n            <th>Periodo di validità</th>\\n            <th>Applicabile a</th>\\n            <th>Scadenza</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td>\\n              <span if.bind=\\\"offer.public === 'NO'\\\" class=\\\"text-primary\\\">Offerta privata<br></span>\\n              <span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.code}</span>\\n            </td>\\n            <td><span if.bind=\\\"offer.promotionCode\\\" class=\\\"${offer.promotionCode ? 'promo-code' : ''}\\\">${offer.promotionCode ? offer.promotionCode : 'Nessuna promozione'}</span></td>\\n            <td style=\\\"max-width: 250px\\\">\\n              ${offer.title}\\n              <small class=\\\"limitwidth-20\\\" ka-tooltip.bind=\\\"offer.description\\\">${offer.description}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\">${offer.createdAt|dateFormat}</span>\\n              <small>${offer.authorDisplayName}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Dal:</small> ${offer.startAt|dateFormat}</span>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Al:</small> ${offer.endAt|dateFormat}</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"offer.targetUserType\\\">${offer.targetUserType === 'PARENT' ? 'Utenti' : 'Sottoutenti'}</span><br>\\n              <small if.bind=\\\"offer.contextBusinessType\\\">${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Amministratore' : 'Altro'}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap\\\">${offer.deadlineAt|dateFormat}</span>\\n              <small if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per iscrizione utente</small>\\n              <small if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per sottoscrizione servizio</small>\\n            </td>\\n            <td class=\\\"text-end\\\">\\n              <template if.bind=\\\"offer.endAt > currentDate\\\">\\n                <ka-button click.delegate=\\\"editOffer($event, offer)\\\" class=\\\"flat\\\">Modifica</ka-button>\\n                <span if.bind=\\\"offer.startAt < currentDate\\\">\\n                  <br><ka-button click.delegate=\\\"assignOffer($event, offer)\\\" class=\\\"flat inverted secondary mt-2\\\">Assegna</ka-button>\\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte prenotate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td>${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"redeemedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"redeemedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"userId\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"userUuid\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte riscattate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Data riscatto</th>\\n            <th>ID/UUID utente</th>\\n            <th>Nome</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td class=\\\"text-nowrap\\\">${offer.redeemedAt|dateFormat}</td>\\n            <td>\\n              <span>${offer.userId}</span><br>\\n              <small>${offer.userUuid}</small>\\n            </td>\\n            <td class=\\\"limitwidth-20\\\">${offer.userDisplayName}</td>\\n            <td class=\\\"limitwidth-20\\\">${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tools, tab }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-detail.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract !== false\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"htmlTemplate\\\" class=\\\"content\\\" innerhtml.bind=\\\"htmlTemplate\\\"></p>\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract === false\\\">Non è possibile visualizzare il contratto</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-rescission.sass\\\"></require>\\n  <div class=\\\"body p-3\\\"> \\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>Chiude definitivamente una sottoscrizione ad un contratto cashback.</strong>\\n    </p>\\n    <ka-control name=\\\"userUuid\\\" class=\\\"mb-3\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"changeUserUuid()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"contractType\\\" buttons=\\\"dropdown\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-2 mb-2\\\"><strong>Attenzione!</strong> Il recesso avverrà su entrambe le tipologie di contratto indipendentemente dalla tipologia selezionata. La tipologia di contratto selezionata sarà ad esclusivo uso interno.</small>\\n    <span class=\\\"contract-versions\\\" if.bind=\\\"userId\\\" repeat.for=\\\"version of latestVersions\\\">\\n      <small class=\\\"flat-service\\\" if.bind=\\\"version['FLAT-SERVICE']\\\">${version['FLAT-SERVICE']}</small>\\n      <small class=\\\"multinvio-volumes\\\" if.bind=\\\"version['MULTINVIO-VOLUMES']\\\">${version['MULTINVIO-VOLUMES']}</small>\\n    </span>\\n    <ka-control class=\\\"mt-3 mb-3\\\" name=\\\"defaultMessage\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeDefaultMessage()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"reason\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-1\\\"><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <p class=\\\"mx-0\\\">\\n      Il recesso di un contratto è un'operazione straordinaria e non va\\n      utilizzata in maniera inadeguata. L'utente verrà bloccato su quel\\n      contratto e non potrà attivarne altri. Il nominativo dell'esecutore sarà\\n      registrato e conservato per eventuali verifiche.\\n    </p>\\n    <ka-control class=\\\"mb-3\\\" name=\\\"isConfirmed\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n      <ka-button \\n        class=\\\"ms-0\\\" \\n        disabled.bind=\\\"!resource.data.userUuid || userId === undefined || !resource.data.reason || !resource.data.isConfirmed\\\" \\n        click.delegate=\\\"rescindContract($event)\\\">Recedi contratto\\n      </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./create-contract.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <p class=\\\"m-0 p-0 mb-3\\\">Stai creando una nuova versione del <strong>contratto cashback per ${params.type === 'MULTINVIO-VOLUMES' ? 'spedizioni MultInvio' : 'sottoscrizioni servizi'}.</strong></p>\\n    <ka-control name=\\\"htmlTemplate\\\" class=\\\"pb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"pendingCreateCashbackContracts || !resource.data.htmlTemplate\\\"\\n      click.delegate=\\\"createCashbackContracts($event)\\\">Crea contratto\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per spedizioni MultInvio</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per sottoscrizioni servizi</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca sottoscrizioni</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco sottoscrizioni</span>\\n      <ka-button class=\\\"inverted with-icon ms-0\\\"\\n        disabled.bind=\\\"!api.hasRole('CREATE_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE_RESCISSION')\\\"\\n        if.bind=\\\"true\\\"\\n        ka-tooltip=\\\"Gestisci recesso contratti cashback\\\"\\n        click.delegate=\\\"dialogCashbackContractRescission()\\\">\\n        <i class=\\\"far fa-file-times\\\"></i>\\n        <span>Recedi contratti</span>\\n      </ka-button>\\n    </h2>\\n\\n\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Utente</th>\\n            <th>Versione</th>\\n            <th>Data sottoscrizione</th>\\n            <th>Tipologia</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>${record.userDisplayName}<br>\\n              <small>\\n                <span\\n                  class=\\\"copy-text with-icon\\\"\\n                  click.delegate=\\\"tools.copyText(record.userUuid, 'UUID')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.userUuid\\\">\\n                  UUID\\n                </span>\\n              </small>\\n            </td>\\n            <td>${record.contractVersion}</td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <span style=\\\"white-space: nowrap\\\">${record.contractType === 'FLAT-SERVICE' ? 'Servizi' : 'MultInvio'}</span><br>\\n              <small if.bind=\\\"record.cashbackPercentage\\\">Cashback: ${record.cashbackPercentage}%</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                class=\\\"flat inverted secondary m-0\\\">Visualizza\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti sottoscrizioni</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-archive.sass\\\"></require>\\n  <div class=\\\"subscriptions row p-0 mx-2\\\">\\n    <div if.bind=\\\"tableInterfaceServiceContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per attivazione servizi</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceServiceContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n\\n    <div if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per spedizioni MultInvio</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceMultinvioContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-subscriptions.sass\\\"></require>\\n\\n  <div class=\\\"contracts row p-0 mx-2 me-4 me-md-2\\\">\\n    <div class=\\\"contract col-12 col-md p-0 mt-3 mx-2\\\">\\n      <h3>Cashback per attivazioni servizi in abbonamento</h3>\\n      <p class=\\\"my-0 mb-1\\\">La sottoscrizione del contratto abilita all'attivazione di servizi in abbonamento che prevedono cashback.</p>\\n\\n      <p if.bind=\\\"flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${flatServiceContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingFlatServiceContract && !flatServiceContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"flatServiceContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${flatServiceContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"flatServiceContract && !flatServiceContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingFlatServiceContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\" innerhtml.bind=\\\"flatServiceContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"!flatServiceContract.acceptedAt && flatServiceContract.acceptanceDeniedUntilDate\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${flatServiceContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\">\\n        <template if.bind=\\\"!flatServiceContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"flatServiceContract.acceptedAt\\\" value.bind=\\\"clauses[flatServiceContract.type].data.clause1\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"flatServiceContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[flatServiceContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"flatServiceContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${flatServiceContract.version}</strong> del contratto creata il <strong>${flatServiceContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, flatServiceContract.type)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(flatServiceContract)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, flatServiceContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !flatServiceContract || flatServiceContract.acceptedAt || pendingSubscriptionFlatServiceContract || !clauses[flatServiceContract.type].data.clause1 || !clauses[flatServiceContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n\\n    <div class=\\\"contract col-12 col-md p-0 mt-md-3 mx-2\\\">\\n      <h3>Cashback per spedizioni MultInvio</h3>\\n      <p class=\\\"my-0 mb-1\\\">Sottoscrivendo questo contratto otterrai il rispettivo cashback su ogni spedizione MultiPosta, Multicerta e Multisms.</p>\\n\\n      <p if.bind=\\\"multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${multinvioContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingMultinvioContract && !multinvioContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"multinvioContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${multinvioContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"multinvioContract && !multinvioContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingMultinvioContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\" innerhtml.bind=\\\"multinvioContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"multinvioContract.acceptanceDeniedUntilDate && !multinvioContract.acceptedAt\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${multinvioContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\">\\n        <template if.bind=\\\"!multinvioContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"multinvioContract.acceptedAt\\\" value.bind=\\\"clauses[multinvioContract.type].data.clause1\\\"\\n            ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n            schema.bind=\\\"clauses[multinvioContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"multinvioContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[multinvioContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"              \\n              schema.bind=\\\"clauses[multinvioContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"multinvioContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${multinvioContract.version}</strong> del contratto creata il <strong>${multinvioContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, multinvioContract.type)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(multinvioContract)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, multinvioContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !multinvioContract || multinvioContract.acceptedAt || pendingSubscriptionMultinvioContract || !clauses[multinvioContract.type].data.clause1 || !clauses[multinvioContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credit-transfer.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\" class=\\\"pb-2\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.amount\\\"\\n      click.delegate=\\\"saveTransferCreditMovements($event)\\\">Trasferisci\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./edit-request.sass\\\"></require>\\n  <p class=\\\"m-0 p-4\\\" class=\\\"body p-4\\\">Sei sicuro di voler ${status === 'REFUSED' ? 'rifiutare' : 'confermare'} questa richiesta?</p>\\n  <div if.bind=\\\"status === 'REFUSED'\\\" class=\\\"body px-4 pb-4\\\">\\n    <ka-control name=\\\"statusReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"status === 'REFUSED' && !resource.data.statusReason\\\"\\n      click.delegate=\\\"saveEditRequest($event)\\\">${status === 'REFUSED' ? 'Rifiuta' : 'Conferma'}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./insert-movement.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"direction\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"reason\\\" class=\\\"pb-3\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.user\\\"\\n      click.delegate=\\\"saveInsertCreditMovement($event)\\\">salva\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./withdrawal-request.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <div class=\\\"instructions mb-4\\\">\\n      <strong>Attenzione! Attendere la nostra accettazione prima della trasmissione all'Agenzia delle Entrate.</strong>\\n      <p class=\\\"m-0 my-3\\\">Per richiedere il pagamento di tutte o parte delle autoricariche maturate è necessario compilare i campi sottostanti e cliccare sul pulsante Richiedi. Non deve essere applicata nè ritenuta d'acconto, nè cassa previdenziale ed indicare come descrizione esclusivamente: CORRISPETTIVO CASHBACK.</p>\\n      <p class=\\\"m-0 mb-4 download\\\" click.delegate=\\\"downloadStaticResource('documento-fiscale-cashback.pdf')\\\">Scarica il nostro Documento fiscale cashback.</p>\\n      <strong>Indicare solo l'imponibile + IVA e intestare a:</strong>\\n      <p class=\\\"m-0 mt-3\\\">Multidialogo s.r.l. a socio unico. Via Emilia Ovest 129/2, 43126 Parma (PR). P.Iva 02149430346. Codice intermediario (SDI) : USAL8PV.</p>\\n    </div>\\n    <div class=\\\"form d-flex pb-2\\\">\\n      <ka-control name=\\\"amount\\\" class=\\\"pe-2\\\"></ka-control>\\n      <ka-control name=\\\"temporaryInvoiceFileUploadUuid\\\" class=\\\"ps-2\\\" buttons=\\\"clear\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.temporaryInvoiceFileUploadUuid\\\"\\n      click.delegate=\\\"saveWithdrawalRequest($event)\\\">Richiedi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./movements.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca movimenti cashback</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-md-3 col-12\\\">\\n        <md-control\\n          name=\\\"sourceUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"dropdown,clear\\\"\\n          if.bind=\\\"privileges.isOperator\\\">\\n        </md-control>\\n      </div>\\n      <div else class=\\\"col-12 col-md-6\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-8 p-0 pe-2\\\">\\n            <md-control\\n              name=\\\"sourceUuids\\\"\\n              client.bind=\\\"api\\\"\\n              buttons=\\\"clear,dropdown\\\"\\n              class=\\\"no-add no-open dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-4 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceUser\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-5' : 'col-md-6'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-4 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"direction\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"changeDirection()\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-8 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceType\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-4' : 'col-md-6 col-xl-4'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"createdAtGte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"createdAtLte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"d-flex flex-nowrap\\\">\\n      <span class=\\\"me-auto text-nowrap\\\">Elenco movimenti cashback</span>\\n      <ka-button\\n        class=\\\"inverted with-icon\\\"\\n        if.bind=\\\"privileges.isOperator\\\"\\n        click.delegate=\\\"dialogInsertMovement()\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button\\n          class=\\\"inverted with-icon me-0\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-CREDIT')\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_CREDIT_TRANSFERS')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi trasferire il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Trasferisci il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-exchange\\\"></i>\\n          <span>Trasferisci</span>\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_WITHDRAWAL_REQUESTS')\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-WITHDRAWAL')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi prelevare il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Preleva il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-arrow-from-left\\\"></i>\\n          <span>Preleva</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n    <p \\n      class=\\\"grace-period-warning\\\" \\n      if.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n      <strong>Attenzione!</strong> Sottoscrivi i nuovi contratti cashback se non vuoi rischiare di perdere il cashback maturato.\\n      <a click.delegate=\\\"router.navigateToRoute('cashback/contracts')\\\">Procedi</a>\\n    </p>\\n    <h2 if.bind=\\\"metaResponse\\\">\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale entrate:</strong> ${metaResponse.totalInAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale uscite:</strong> ${metaResponse.totalOutAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Saldo:</strong> ${metaResponse.totalDiffAmount} €</span>\\n      <span \\n        class=\\\"ms-auto text-nowrap ${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'balance' : ''}\\\" \\n        ka-tooltip=\\\"value.bind: isTransactionDisabledAfterDate(transactionDisabledDate) ? inhibitionCashbackMessage : '' \\\">\\n        <strong class=\\\"text-primary\\\">Saldo fatturabile: </strong>${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'Non disponibile' : `${metaResponse.billableAmount}` + ' €'}</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Origine</th>\\n            <th>Tipologia</th>\\n            <th>Importo</th>\\n            <th>Causale</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.sourceUserDisplayName}</span><br>\\n              <small if.bind=\\\"record.sourceQueueMultiSendCode\\\">Spedizione: ${record.sourceQueueMultiSendCode}</small>\\n              <small if.bind=\\\"record.sourceFlatServiceSubscriptionOrderId\\\">Ordine: ${record.sourceFlatServiceSubscriptionOrderId}</small>\\n            </td>\\n            <td>\\n              <span>${sourceTypeSchema[record.direction].text}</span><br>\\n              <small>${sourceTypeSchema[record.direction].values[record.sourceType]}</small>\\n            </td>\\n            <td>\\n              <span>${record.amount} €</span>\\n            </td> \\n            <td>\\n              <small>${record.reason}</small>\\n            </td>     \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                if.bind=\\\"record.sourceFlatServiceSubscriptionUuid || record.sourceQueueUuid\\\"\\n                click.delegate=\\\"movementDetail(record)\\\"\\n                class=\\\"flat inverted primary m-0\\\">\\n                Dettaglio\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.withdrawalRequestInvoiceDownloadable === 'YES' \\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.sourceUserId, record.withdrawalRequestUuid)\\\"\\n                class=\\\"flat secondary inverted m-0\\\"\\n                style=\\\"width: 7.68rem !important; max-width: none\\\">\\n                Fattura\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti cashback</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST') && searchInterface.initialized\\\">\\n    <h2>Ricerca richieste di prelievo</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xl-3\\\">\\n        <md-control \\n          name=\\\"user\\\" \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco richieste di prelievo</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">Utente</th>\\n            <th>Importo</th>\\n            <th>Stato</th>\\n            <th>Note</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${record.createdAt|dateFormat:'DD/MM/YYYY'}</small></td>\\n            <td if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">${record.userDisplayName}</td>\\n            <td>${record.amount} €</td>\\n            <td>\\n              ${status[record.status]}<br>\\n              <small>${record.statusReason}</small>\\n            </td>\\n            <td><small class=\\\"text-color\\\">${record.notes}</small></td>  \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"inverted flat secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteRequest($event, record)\\\"\\n                ka-tooltip=\\\"Elimina richiesta\\\"\\n                if.bind=\\\"!privileges.isOperator && api.hasRole('DELETE_USER_CASHBACK_WITHDRAWAL_REQUESTS') && record.status === 'PENDING'\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat secondary m-0\\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.userId, record.id)\\\"\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.invoiceFileUploadUuid\\\">\\n                Fattura\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Conferma richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'CONFIRMED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-check\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Rifiuta richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'REFUSED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-times\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti richieste di prelievo</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./order-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!order\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"order\\\" class=\\\"content\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Account</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <div class=\\\"mono\\\">${order.createdAt|dateFormat:'DD/MM/YY'}</div>\\n              <small>Ore ${order.createdAt|dateFormat:'HH:MM'}</small>\\n            </td>\\n            <td class=\\\"order-number\\\">\\n              <span \\n                ka-tooltip=\\\"Copia numero ordine\\\" \\n                class=\\\"copy-text with-icon mono\\\"\\n                click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">${order.id}</span>\\n            </td>\\n            <td>${order.userDisplayName}</td>\\n          </tr>\\n        </tbody>\\n      </table>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th>Prezzo parziale</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"item of order.orderDetails\\\">\\n            <tr>\\n              <td><small class=\\\"text-color\\\">${item.description}</small></td>\\n              <td>\\n                <div class=\\\"mono currency\\\">${item.detailGrossAmount}</div>\\n                <small>Aliquota IVA: <span class=\\\"mono\\\">${item.vatAmount}</span></small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n      </table>\\n      <h3>Dettagli sul pagamento</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Pagamento</th>\\n            <th>Imponibile</th>\\n            <th>IVA</th>\\n            <th>Ritenuta</th>\\n            <th>Totale</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <span class=\\\"new-tag ${orderStatuses[order.status].class}\\\">${orderStatuses[order.status].text}</span>\\n              <small if.bind=\\\"order.paymentMethod\\\" class=\\\"d-block mt-2\\\">${paymentMethods.get(order.paymentMethod)}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.taxableAmount}</span>\\n            </td>\\n            <td>\\n              <div class=\\\"mono currency\\\">${order.vatAmount}</div>\\n              <small>Aliquota IVA: <span class=\\\"mono\\\">${order.percentageVatAmount}</span></small>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.withholdingTaxAmount}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.grossAmount}</span>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n      <template if.bind=\\\"order.billingProfileDetails\\\">\\n        <h3>Dati di fatturazione</h3>\\n        <table class=\\\"ka-table-like billing-profile\\\">\\n          <thead>\\n            <tr>\\n              <th>Intestatario fattura</th>\\n              <th>Recapiti</th>\\n              <th>Codici</th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr>\\n              <td>\\n                <div>${order._billingProfileDetails.owner}</div>\\n                <small if.bind=\\\"order.billingProfileDetails.legalForm\\\">${order.billingProfileDetails.legalForm}</small>\\n              </td>\\n              <td>\\n                <div if.bind=\\\"order._billingProfileDetails.address\\\">${order._billingProfileDetails.address}</div>\\n                <div if.bind=\\\"order.billingProfileDetails.email\\\">\\n                  <small>Email: ${order.billingProfileDetails.email}</small>\\n                </div>\\n                <div if.bind=\\\"order.billingProfileDetails.cell\\\">\\n                  <small>Tel: ${order.billingProfileDetails.cell}</small>\\n                </div>\\n              </td>\\n              <td>\\n                <div repeat.for=\\\"item of order._billingProfileDetails.codes\\\" style=\\\"white-space: nowrap;\\\">\\n                  <small>${item.text}</small>\\n                  <span class=\\\"mono\\\">${item.code}</span>\\n                </div>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n        <table class=\\\"ka-table-like billing-profile\\\">\\n          <thead>\\n            <tr>\\n              <th>Codice fiscale</th>\\n              <th>IBAN</th>\\n              <th>P.IVA</th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr>\\n              <td>\\n                <span\\n                  class=\\\"mono copy-text with-icon\\\"\\n                  ka-tooltip=\\\"Copia codice fiscale\\\"\\n                  if.bind=\\\"order.billingProfileDetails.fiscalCode\\\" \\n                  click.delegate=\\\"copyText(order.billingProfileDetails.fiscalCode, 'Codice fiscale')\\\">${order.billingProfileDetails.fiscalCode}</span>\\n              </td>\\n              <td>\\n                <span\\n                  ka-tooltip=\\\"Copia codice iban\\\" \\n                  class=\\\"mono copy-text with-icon\\\"\\n                  if.bind=\\\"order.billingProfileDetails.iban\\\" \\n                  click.delegate=\\\"copyText(order.billingProfileDetails.iban, 'IBAN')\\\">${order.billingProfileDetails.iban}</span>\\n              </td>\\n              <td>\\n                <span \\n                  ka-tooltip=\\\"Copia partita IVA\\\" \\n                  class=\\\"mono copy-text with-icon\\\"\\n                  if.bind=\\\"order.billingProfileDetails.vatCode\\\"\\n                  click.delegate=\\\"copyText(order.billingProfileDetails.vatCode, 'P.IVA')\\\">${order.billingProfileDetails.vatCode}</span>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n      </template>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"inverted with-icon\\\" \\n      ka-tooltip=\\\"Scarica fattura\\\"\\n      click.delegate=\\\"downloadOrderInvoice(order)\\\" \\n      disabled.bind=\\\"!order.invoiceNumber\\\">\\n      <i class=\\\"far fa-file-download\\\"></i>\\n      <span>Scarica fattura</span>\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./payment-instructions.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div>\\n      <p>${order.status === 'A' ? 'Grazie per aver confermato l\\\\'acquisto.' : 'Puoi saldare l\\\\'insoluto solo tramite bonifico bancario'}<br>Per completare la procedura è necessario effettuare il versamento di ${instruction.totalGrossAmount}&euro; sul C/C intestato a: </p>\\n    </div>\\n    <ul>\\n      <li><strong>${instruction.payeeDisplayName}</strong></li>\\n      <li><strong>IBAN: </strong>${instruction.payeeIbanCode}</li>\\n      <li><strong>CAUSALE: </strong>${instruction.reason}</li>\\n      <li><strong>IMPORTO: </strong>${instruction.totalGrossAmount}&euro;</li>\\n      <li if.bind=\\\"order.status === 'I'\\\"><strong>ORDINI INSOLUTI: </strong>${instruction.unsolvedOrders}</li>\\n    </ul>\\n    <div class=\\\"tips\\\">\\n      <p if.bind=\\\"order.status === 'A'\\\">Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.</p>\\n      <p if.bind=\\\"instruction.customerCareEmail && order.status === 'A'\\\">Per accelerare i tempi di ricarica, inviare al seguente indirizzo email <strong><a href=\\\"mailto:${instruction.customerCareEmail}\\\">${instruction.customerCareEmail}</a></strong> la distinta di pagamento.</p>\\n      <p if.bind=\\\"order.status === 'I'\\\">La tua fattura sarà saldata ed il tuo deposito cauzionale sarà riaccreditato non appena riceveremo il bonifico. Dal momento in cui effettuerete il bonifico potranno trascorrere alcuni giorni prima che la fattura risulti saldata.<br>\\n        <strong class=\\\"important\\\"> prestare la massima attenzione alla causale del bonifico riportando esattamente quella indicata in questa comunicazione.</strong>\\n      </p>\\n    </div>\\n    <p if.bind=\\\"!instruction\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" class=\\\"me-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settle-invoice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit !== false\\\" class=\\\"dialog-loader m-0\\\"><span>Caricamento in corso</span></p>\\n    <template if.bind=\\\"pendingInit === false\\\">\\n      <p if.bind=\\\"error.load.found || error.confirm.found\\\" class=\\\"m-0 banner-message error\\\"><span>${error.load.msg || error.confirm.msg}</span></p>\\n      <div if.bind=\\\"settle.html\\\" innerhtml.bind=\\\"settle.html\\\"></div>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      class=\\\"inverted secondary\\\"\\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invoices-list.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2>Ricerca fatture</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"doctype\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"date_from\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"date_to\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"number\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"payment_status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"source\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"supplier_id\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"name\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"customer_code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"invoices-list\\\">\\n      <h2 class=\\\"table-title\\\">\\n        <span>Elenco fatture</span>\\n        <div class=\\\"download-container\\\">\\n          <ka-button \\n            class=\\\"flat inverted with-icon me-0\\\" \\n            disabled.bind=\\\"tableInterface.data.length === 0\\\"\\n            click.delegate=\\\"mfFileDownload.exportFiles({ query: parseDataQuery(), path: 'reports/zip' }, $event)\\\">\\n            <i class=\\\"fal fa-receipt\\\"></i>\\n            <span>Scarica distinte</span>\\n          </ka-button>\\n          <ka-button \\n            class=\\\"flat inverted with-icon secondary\\\" \\n            disabled.bind=\\\"tableInterface.data.length === 0\\\"\\n            click.delegate=\\\"mfFileDownload.exportFiles({ query: parseDataQuery(), path: 'zip' }, $event)\\\">\\n            <i class=\\\"fal fa-file-download\\\"></i>\\n            <span>Scarica fatture</span>\\n          </ka-button>\\n        </div>\\n      </h2>\\n      <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th>Tipo</th>\\n                <th>Fornitore</th>\\n                <th>Data</th>\\n                <th>Numero</th>\\n                <th>Condominio</th>\\n                <th>Codici importazione</th>\\n                <th>Utenze</th>\\n                <th>Stato pagamento</th>\\n                <th>Totale</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <template repeat.for=\\\"record of tableInterface.data\\\">\\n                <tr>\\n                  <td>\\n                    ${record.doctype_label}<br>\\n                    <small>ID ${record.invoice_id}</small>\\n                  </td>\\n                  <td>\\n                    ${record.supplier.name}<br>\\n                    <small if.bind=\\\"record.supplier.vat_code\\\">IVA ${record.supplier.vat_code}</small>\\n                    <small else>CF ${record.supplier.fiscal_code}</small>\\n                  </td>\\n                  <td>${record.document_date|dateFormat:'DD/MM/YYYY'}</td>\\n                  <td>${record.number}</td>\\n                  <td>\\n                    <strong>${record.name}</strong><br>\\n                    <small>${record.fiscal_code}</small>\\n                  </td>\\n                  <td>\\n                    <div repeat.for=\\\"codice of record.codici_importazione\\\">${codice}</div>\\n                  </td>\\n                  <td>\\n                    <div repeat.for=\\\"utenza of record.commodity\\\">${utenza}</div>\\n                  </td>\\n                  <td>\\n                    <span class=\\\"tag mt-2 ${record.payment_status_class}\\\"> ${record.payment_status_label}</span>\\n                    <small if.bind=\\\"record.settle\\\" class=\\\"d-block instruction mt-2\\\" click.delegate=\\\"dialogSettleInvoice(record)\\\">Salda con bonifico</small>\\n                  </td>\\n                  <td>${record.total_amount}€</td>\\n                  <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                    <ka-button class=\\\"flat inverted m-0 ms-1\\\" show.bind=\\\"record.report\\\"\\n                      click.delegate=\\\"mfFileDownload.fileDownload({ documentType: 'report', fileId: record.document_id, fileName: record.report_filename }, $event)\\\"\\n                      ka-tooltip=\\\"Scarica distinta\\\">\\n                      <i class=\\\"fal fa-receipt p-0\\\"></i>\\n                    </ka-button>\\n                    <ka-button class=\\\"flat secondary inverted m-0 ms-1\\\" show.bind=\\\"record.invoice_filename\\\"\\n                      click.delegate=\\\"mfFileDownload.fileDownload({ documentType: 'document', fileId: record.document_id, fileName: record.invoice_filename }, $event)\\\"\\n                      ka-tooltip=\\\"Scarica fattura\\\">\\n                      <i class=\\\"fal fa-file-download\\\"></i>\\n                    </ka-button>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./orders.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca ordini</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '2' : '1'}\\\">\\n      <md-control \\n        name=\\\"context\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"isOperator && !data.owner\\\"\\n        change.call=\\\"contextChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '1' : '2'}\\\">\\n      <md-control \\n        name=\\\"owner\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"!isOperator && data.context !== 'SUBUSERS'\\\"\\n        client.bind=\\\"api\\\"\\n        change.call=\\\"ownerChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"orderNumber\\\" \\n        buttons=\\\"clear\\\"\\n        md-tooltip=\\\"Inserire i numeri d'ordine separati da virgola es: 563,972\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentStatus\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentMethod\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-4 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control \\n          name=\\\"createdAtGte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100 order-3\\\">\\n        <md-control \\n          name=\\\"createdAtLte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex justify-content-between\\\">\\n    <span>Elenco ordini</span>\\n    <span class=\\\"ms-auto text-nowrap\\\" style=\\\"margin-right: 2rem;\\\" if.bind=\\\"totalGrossAmount\\\">\\n      <strong>Totale + iva: </strong>\\n      <span style=\\\"color: black;\\\">${totalGrossAmount}&euro;</span>\\n    </span>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Account</th>\\n            <th>Intestatario fattura</th>\\n            <th>Pagamento</th>\\n            <th>Totale da pagare</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"order of tableInterface.data\\\">\\n            <tr>\\n              <td>${order.createdAt|dateFormat}</td>\\n              <td>\\n                <div class=\\\"order-number\\\" click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">\\n                  <span ka-tooltip=\\\"Copia numero ordine\\\">${order.id}</span>\\n                </div>\\n              </td>\\n              <td>${order.userDisplayName}</td>\\n              <td><span if.bind=\\\"order.billingProfileDetails\\\">${parseBillingProfileOwner(order.billingProfileDetails)}</span></td>\\n              <td>\\n                ${paymentMethods.get(order.paymentMethod)}\\n                <!-- <small class=\\\"invoice\\\" if.bind=\\\"order.invoiceNumber\\\">\\n                  <span class=\\\"text-color\\\">Fattura: </span>\\n                  <span>${order.invoiceNumber}</span>\\n                </small> -->\\n              </td>\\n              <td>${order.grossAmount}€<br>\\n                <span class=\\\"tag mt-2 ${orderStatuses[order.status].class} with-icon\\\"> ${orderStatuses[order.status].text}</span>\\n                <small if.bind=\\\"(order.status === 'A' && order.paymentCoors) || (order.status === 'I' && order.paymentCoors)\\\" class=\\\"d-block instruction mt-2\\\" click.delegate=\\\"dialogPaymentInstructions(order)\\\">Salda con bonifico</small>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button \\n                  class=\\\"flat inverted m-0\\\"\\n                  click.delegate=\\\"dialogOrderDetail(order)\\\"\\n                  ka-tooltip=\\\"Apri dettaglio ordine\\\">Dettaglio\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun ordine presente</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./pre-checkouts.sass\\\"></require>\\n\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <md-control\\n          name=\\\"owner\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <md-control\\n          name=\\\"shortConfirmationCode\\\"\\n          buttons=\\\"clear\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <h2>Elenco</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Utente</th>\\n            <th>Tipologia</th>\\n            <th>Caratteristiche</th>\\n            <th>Pagamento</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td class=\\\"created-at\\\">\\n              ${record.createdAt | dateFormat:'DD/MM/YYYY'}\\n              <div>Alle ore: ${record.createdAt | dateFormat:'HH:mm'}</div>\\n            </td>\\n            <td>${record.owner.displayName}</td>\\n            <td>\\n              <span class=\\\"new-tag ${types[record.preCheckoutType].class}\\\">${types[record.preCheckoutType].label || record.preCheckoutType}</span>\\n            </td>\\n            <td>\\n              <template if.bind=\\\"record.preCheckoutType === 'queues'\\\">\\n                <small class=\\\"limitwidth\\\">Etichetta:\\n                  <span\\n                    class=\\\"text-color copy-text with-icon d-inline-flex align-items-baseline\\\"\\n                    ka-tooltip=\\\"Copia etichetta spedizione\\\"\\n                    click.delegate=\\\"mdt.general.copyText(record.topic, 'Testo dell’etichetta', toast)\\\"><span class=\\\"limitwidth-20\\\">${record.topic}</span></span>\\n                </small>\\n                <small>Codice spedizione:\\n                  <span\\n                    class=\\\"text-color copy-text with-icon\\\"\\n                    ka-tooltip=\\\"Copia codice spedizione\\\"\\n                    click.delegate=\\\"mdt.general.copyText(record.queueSendCode, 'Codice spedizione', toast)\\\">${record.queueSendCode}</span>\\n                </small>\\n                <small>UUID:\\n                  <span\\n                    class=\\\"text-color copy-text with-icon\\\"\\n                    ka-tooltip=\\\"Copia UUID\\\"\\n                    click.delegate=\\\"mdt.general.copyText(record.uuid, 'UUID', toast)\\\">${record.uuid}</span>\\n                </small>\\n              </template>\\n              <template if.bind=\\\"record.preCheckoutType === 'fidelity-cards-activations'\\\">\\n                <small>Piano: <span class=\\\"text-color\\\">${record.fidelityCardCode}</span></small>\\n                <small>Rinnovo: <span class=\\\"text-color\\\">${record.fidelityCardAutoRenewEnabled ? 'automatico' : 'a scadenza'}</span></small>\\n              </template>\\n              <small>Codice conferma breve:\\n                <span\\n                  class=\\\"text-color copy-text with-icon\\\"\\n                  ka-tooltip=\\\"Copia codice conferma breve\\\"\\n                  click.delegate=\\\"mdt.general.copyText(record.shortConfirmationCode, 'Codice di conferma breve', toast)\\\">${record.shortConfirmationCode}</span>\\n              </small>\\n            </td>\\n            <td class=\\\"amount\\\">\\n              <span if.bind=\\\"record.totalGrossAmount\\\" class=\\\"currency\\\">${record.totalGrossAmount}</span>\\n            </td>\\n            <td class=\\\"management\\\">\\n              <div>\\n                <md-split-button label=\\\"Opzioni\\\">\\n                  <button class=\\\"options\\\">Gestisci</button>\\n                  <ul class=\\\"source d-none\\\">\\n                    <li if.bind=\\\"userCanConfirm && types[record.preCheckoutType]\\\">\\n                      <div\\n                        md-action=\\\"{ icon: 'far fa-check-circle' }\\\"\\n                        click.delegate=\\\"dialogConfirmPayment(record, $event)\\\">Conferma pagamento</div>\\n                    </li>\\n                    <li if.bind=\\\"record.preCheckoutType === 'queues'\\\">\\n                      <div\\n                        md-action=\\\"{ icon: 'far fa-user-friends' }\\\"\\n                        click.delegate=\\\"navigateToQueueDetail(record)\\\">Dettaglio spedizione</div>\\n                    </li>\\n                  </ul>\\n                </md-split-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Non sono presenti pagamenti in attesa</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./aside.sass\\\"></require>\\n  <template repeat.for=\\\"section of sections\\\">\\n    <template if.bind=\\\"section.code === 'multicoin'\\\">\\n      <section class=\\\"aside-section aside-section-multicoin\\\">\\n        <template repeat.for=\\\"card of section.cards\\\">\\n          <compose containerless view-model=\\\"views/dashboard/aside/card\\\" model.one-time=\\\"{ card }\\\"></compose>\\n        </template>\\n      </section>\\n    </template>\\n    <template else>\\n      <section class=\\\"aside-section aside-section-carousel aside-section-${section.code} ${section.empty ? 'is-empty' : ''}\\\">\\n        <header class=\\\"aside-section-head\\\">\\n          <h3 class=\\\"aside-section-title\\\">${section.title}</h3>\\n          <div class=\\\"aside-section-nav\\\" if.bind=\\\"!section.empty\\\">\\n            <button \\n              type=\\\"button\\\" \\n              aria-label=\\\"Precedente\\\"\\n              class=\\\"aside-section-prev\\\" \\n              disabled.bind=\\\"section.index === 0\\\"\\n              click.delegate=\\\"carouselMove(section, -1)\\\"></button>\\n            <button \\n              type=\\\"button\\\" \\n              aria-label=\\\"Successivo\\\"\\n              class=\\\"aside-section-next\\\"\\n              click.delegate=\\\"carouselMove(section, 1)\\\"\\n              disabled.bind=\\\"section.index >= section.cards.length - carouselVisibleCards\\\"></button>\\n          </div>\\n        </header>\\n        <div class=\\\"aside-carousel\\\">\\n          <div class=\\\"aside-carousel-track\\\" style=\\\"--index: ${section.index}\\\">\\n            <template repeat.for=\\\"card of section.cards\\\">\\n              <compose containerless view-model=\\\"views/dashboard/aside/card\\\" model.one-time=\\\"{ card }\\\"></compose>\\n            </template>\\n          </div>\\n        </div>\\n      </section>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./card.sass\\\"></require>\\n  <article class=\\\"aside-card ${card.variant} ${card.placeholder ? 'is-placeholder' : ''} ${card.empty ? 'is-empty' : ''}\\\" if.bind=\\\"card\\\">\\n    <header class=\\\"aside-card-head ${card.placeholder ? 'skeleton' : ''}\\\">\\n      <i if.bind=\\\"!card.placeholder\\\" class=\\\"aside-card-icon\\\" aria-hidden=\\\"true\\\"></i>\\n      <span class=\\\"aside-card-badge ${card.variant !== 'multicoin' ? 'is-outlined' : ''}\\\">${card.badge}</span>\\n      <span class=\\\"aside-card-meta\\\" if.bind=\\\"card.meta\\\">${card.meta}</span>\\n    </header>\\n    <div class=\\\"aside-card-titles\\\">\\n      <h4 class=\\\"aside-card-title ${card.placeholder ? 'skeleton' : ''}\\\" title.bind=\\\"card.title\\\">${card.title}</h4>\\n      <h5 class=\\\"aside-card-subtitle\\\" if.bind=\\\"card.subtitle\\\" title.bind=\\\"card.subtitle\\\">${card.subtitle}</h5>\\n    </div>\\n    <div class=\\\"aside-card-body ${card.placeholder ? 'skeleton' : ''}\\\">\\n      <p>${card.body}</p>\\n    </div>\\n    <a class=\\\"aside-card-button\\\" if.bind=\\\"card.href\\\" href.bind=\\\"card.href\\\" target.bind=\\\"card.target\\\" rel=\\\"noopener\\\">${card.button}</a>\\n    <span class=\\\"aside-card-button ${card.placeholder ? 'skeleton' : ''} ${card.empty ? 'is-empty' : ''}\\\" else>${card.button}</span>\\n  </article>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./card.sass\\\"></require>\\n  <div class=\\\"dashboard-card ${card.flipped ? 'is-flipped' : ''}\\\">\\n    <div class=\\\"card-flipper\\\">\\n      <template repeat.for=\\\"face of card.faces\\\">\\n        <div class=\\\"card-face ${$first ? 'card-front' : 'card-rear'} ${face.code.toLowerCase()}\\\">\\n          <div class=\\\"card-header\\\">\\n            <div class=\\\"card-title-wrapper\\\">\\n              <div class=\\\"card-icon\\\">\\n                <img src.bind=\\\"face.icon\\\" alt=\\\"${face.code.toLowerCase()}\\\">\\n              </div>\\n              <div class=\\\"card-title\\\">\\n                <h3>${face.heading} <span class=\\\"highlighted\\\">${face.accent}</span></h3>\\n                <h4>${face.subtitle}</h4>\\n              </div>\\n            </div>\\n            <!-- one-way + toggleFlip: è card.js a decidere il flip (una sola card girata alla volta) -->\\n            <md-switch-slider \\n              checked.one-way=\\\"card.flipped\\\"\\n              disabled.bind=\\\"dashboardViewModel.isLayoutSaving\\\"\\n              change.trigger=\\\"toggleFlip()\\\"\\n              icon-on=\\\"fas fa-chevron-right\\\"\\n              icon-off=\\\"fas fa-chevron-left\\\"\\n              ka-tooltip=\\\"Seleziona un'altra card\\\">\\n            </md-switch-slider>\\n          </div>\\n          <div class=\\\"card-content\\\">\\n            <compose containerless view-model=\\\"${face.body}\\\" model.bind=\\\"{ dashboardViewModel, face, cardViewModel }\\\"></compose>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      disabled.bind=\\\"true\\\"\\n      value.bind=\\\"context\\\"\\n      options.bind=\\\"contexts\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      disabled.bind=\\\"true\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      disabled.bind=\\\"true\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"config\\\"\\n      data.bind=\\\"partials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"config\\\"\\n      data.bind=\\\"partials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"config\\\"\\n      data.bind=\\\"partials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <md-select\\n      value.bind=\\\"period\\\"\\n      options.bind=\\\"periods\\\">\\n    </md-select>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settings.sass\\\"></require>\\n  <ul class=\\\"card-settings-list ${dashboardViewModel.isLayoutSaving ? 'is-locked' : ''}\\\">\\n    <li\\n      click.delegate=\\\"selectCard(item, $event)\\\"\\n      repeat.for=\\\"item of setSelectableItems(cardViewModel.card.flipped)\\\"\\n      class=\\\"${item.code.toLowerCase()} ${item.code === selectedItem.code ? 'selected' : ''}\\\">\\n      <span>${item.title}</span>\\n      <span if.bind=\\\"$first\\\" md-action=\\\"{ icon: 'far fa-check' }\\\"></span>\\n      <span else md-action=\\\"{ icon: 'far fa-plus' }\\\"></span>\\n    </li>\\n  </ul>\\n  <p>Seleziona una delle seguenti card per cambiare le impostazioni di visualizzazione permanentemente. Potrai reimpostare le impostazioni di default cliccando su <strong>Layout predefinito</strong> in alto a sinistra.</p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"card-content-row-up\\\">\\n    <h4><md-count-up value.bind=\\\"totalSubusers\\\" pending.bind=\\\"pendingInit\\\"></md-count-up> ${displaySubuser} totali</h4>\\n    <md-cards\\n      config.bind=\\\"cardsConfig\\\"\\n      data.bind=\\\"cardsPartials\\\"\\n      pending.bind=\\\"pendingInit\\\">\\n    </md-cards>\\n  </div>\\n  <div class=\\\"card-content-row-down\\\">\\n    <md-chart-legend\\n      config.bind=\\\"legendConfig\\\"\\n      data.bind=\\\"legendPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:800\\\">\\n    </md-chart-legend>\\n    <md-bar-chart\\n      config.bind=\\\"barChartConfig\\\"\\n      data.bind=\\\"barChartPartials\\\"\\n      pending.bind=\\\"pendingInit & debounce:1000\\\">\\n    </md-bar-chart>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dashboard.sass\\\"></require>\\n  <h2 if.bind=\\\"!api.hasRole('LIST_DASHBOARD')\\\">Benvenuto in MultiDialogo</h2>\\n  <template else>\\n    <md-loader pending.bind=\\\"isDashboardInitPending !== false\\\"></md-loader>\\n    <div class=\\\"dashboard-wrapper ${isDashboardInitPending !== false ? 'is-pending' : ''}\\\">\\n      <template if.bind=\\\"isDashboardInitPending === false\\\">\\n        <section class=\\\"actions\\\">\\n          <button \\n            class=\\\"actions-reset\\\"\\n            click.delegate=\\\"resetCard($event)\\\"\\n            md-action=\\\"{ icon: 'far fa-undo' }\\\"\\n            ka-tooltip=\\\"Ripristina le 4 card predefinite\\\">Layout predefinito\\n          </button>\\n          <md-cta-button\\n            classes=\\\"primary\\\" \\n            text=\\\"Crea spedizione\\\"\\n            ka-tooltip=\\\"Crea una nuova spedizone multinvio\\\"\\n            icons=\\\"['fa-shipping-fast','fa-arrow-to-right']\\\"\\n            click.delegate=\\\"mdt.general.openSenderui(api, dialogService)\\\">\\n          </md-cta-button>\\n          <a \\n            class=\\\"actions-drafts\\\" \\n            href=\\\"/spedizioni/drafts\\\"\\n            ka-tooltip=\\\"Vai alla sezione Bozze\\\">Hai<b>${setDraftsTotal() | compactNumber}</b>Bozze</a>\\n        </section>\\n        <section class=\\\"dashboard-aside\\\">\\n          <compose containerless view-model=\\\"views/dashboard/aside/aside\\\" model.one-time=\\\"{ dashboardViewModel }\\\"></compose>\\n        </section>\\n        <section class=\\\"cards-wrapper\\\">\\n          <template repeat.for=\\\"card of cards\\\">\\n            <compose containerless view-model=\\\"views/dashboard/cards/card\\\" model.one-time=\\\"{ dashboardViewModel, card }\\\"></compose>\\n          </template>\\n        </section>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./activation-history.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized && isOperator\\\">\\n    <h2>Ricerca attivazioni</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control name=\\\"activatedAtGte\\\" buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control name=\\\"activatedAtLte\\\" buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"priceListCode\\\" buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"confirmationShortCode\\\" buttons=\\\"clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <div if.bind=\\\"isOperator\\\" class=\\\"activations-table\\\">\\n    <h2 class=\\\"table-title\\\">Elenco attivazioni</h2>\\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Data di attivazione</th>\\n              <th if.bind=\\\"isOperator\\\">Utente</th>\\n              <th>Tipologia</th>\\n              <th>Stato</th>\\n              <th>Prezzo</th>\\n              <th>Caratteristiche</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"card of tableInterface.data\\\">\\n              <td class=\\\"activatedAt\\\">\\n                <span class=\\\"mono\\\">${card.activatedAt | dateFormat:'DD/MM/YYYY'}</span> \\n                <div>\\n                  Alle ore <span class=\\\"mono\\\">${card.activatedAt | dateFormat:'HH:mm'}</span>\\n                </div>\\n              </td>\\n              <td if.bind=\\\"isOperator\\\" class=\\\"user\\\">${card.userDisplayName}</td>\\n              <td class=\\\"type ${card.title}\\\">${card.title}</td>\\n              <td class=\\\"status\\\">\\n                <span class=\\\"new-tag ${fidelityCardsModel.statuses[card.status].class}\\\">${fidelityCardsModel.statuses[card.status].label}</span>\\n              </td>\\n              <td class=\\\"price\\\">${card.price+' €'}</td>\\n              <td class=\\\"properties\\\">\\n                <span class=\\\"d-block\\\"><strong>Rinnovo:</strong> ${card.autoRenewEnabled === 'YES' ? 'automatico' : 'a scadenza'}</span>\\n                <span class=\\\"d-block\\\" if.bind=\\\"card.confirmationShortCode\\\"><strong>Codice di conferma breve:</strong> ${card.confirmationShortCode}</span>\\n              </td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  disabled.bind=\\\"card.status !== 'WAITING-FOR-COST-CONFIRMATION'\\\"\\n                  click.delegate=\\\"openDialogConfirmPayment(card, $event)\\\">Conferma pagamento</ka-button>\\n                <ka-button if.bind=\\\"!isOperator\\\" class=\\\"flat inverted secondary icon ms-2 m-0\\\">\\n                  <i class=\\\"fas fa-file-download\\\"></i>\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Non sono presenti attivazioni</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./activation.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <div class=\\\"cards-wrapper\\\">\\n    <div class=\\\"information-band\\\">\\n      <div class=\\\"title me-3\\\">\\n        <h2>Attivazione</h2>\\n        <p>Per ricevere assistenza sull’attivazione della Fidelity Card scrivi a <a href=\\\"mailto:fidelity@multidialogo.it\\\">fidelity@multidialogo.it</a></p>\\n      </div>\\n      <div class=\\\"messages\\\">\\n        <p if.bind=\\\"userPromotions.length\\\" class=\\\"banner-message alert m-0\\\">\\n          <span>\\n            <template repeat.for=\\\"promotion of userPromotions\\\">${$index === 0 ? 'A' : 'a'}ttiva la\\n              <strong class=\\\"card-title\\\">Fidelity Card ${promotion.card.title}</strong>\\n              con la tua <strong class=\\\"promotion-title\\\">promo ${promotion.promotionDescription}</strong>${userPromotions.length > 1 && ($index+1) !== userPromotions.length ? ' o' : ''}\\n            </template>\\n          </span>\\n        </p>\\n      </div>\\n    </div>\\n    <div class=\\\"cards-${fidelityCards.length > 3 ? '2' : fidelityCards.length}\\\">\\n      <template repeat.for=\\\"card of fidelityCards\\\">\\n        <compose containerless view-model=\\\"${templateCard}\\\" model.bind=\\\"{ parent: $parent, card }\\\"></compose>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-activation.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"[undefined,true].includes(isPendingInit)\\\" class=\\\"dialog-loader\\\" style=\\\"margin: 2rem\\\">\\n      <span>Caricamento in corso</span>\\n    </p>\\n    <p if.bind=\\\"isPendingInit === false && !disclosure\\\" class=\\\"banner-message error\\\" style=\\\"margin: 2rem\\\">\\n      <span>Errore in fase di caricamento</span>\\n    </p>\\n    <div if.bind=\\\"isPendingInit === false && disclosure\\\" ref=\\\"cardDisclosureWrapper\\\">\\n      <p class=\\\"banner-message alert m-4 mb-0\\\">\\n        <span><strong>Leggi con attenzione l'informativa</strong> e clicca su <strong>Accetta</strong> per attivare la <strong>Fidelity Card ${card.title}</strong></span>\\n      </p>\\n      <div class=\\\"disclosure\\\" innerhtml.bind=\\\"disclosure.contentHtml\\\"></div>\\n      <div class=\\\"acknowledgement\\\">\\n        <h4>Dichiarazione obbligatoria di presa visione</h4>\\n        <ka-control name=\\\"acknowledgement\\\" change.trigger=\\\"changeAcknowledgement()\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <md-table-progressbar if.bind=\\\"isAcknowledgementPending\\\"></md-table-progressbar>\\n    <ka-button \\n      class=\\\"flat inverted secondary me-0\\\"\\n      click.delegate=\\\"controller.cancel()\\\"\\n      disabled.bind=\\\"isPendingActivation === true\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      click.delegate=\\\"handleCardActivation($event)\\\"\\n      disabled.bind=\\\"!disclosure || !isActivable || isAcknowledgementPending\\\">Accetta ${isPaymentRequired  ? 'e vai al pagamento' : ''}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-payment.sass\\\"></require>\\n  <div class=\\\"body ${card.status}\\\" ref=\\\"cardPaymentBody\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"m-0 p-0\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader m-0 p-0\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"!isErrorInit && isPendingInit === false\\\" ref=\\\"cardPaymentWrapper\\\">\\n      <div class=\\\"row\\\">\\n        <div class=\\\"col-4\\\">\\n          <ka-control name=\\\"fidelityCardTitle\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-4\\\">\\n          <ka-control name=\\\"fidelityCardPrice\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-4\\\">\\n          <ka-control name=\\\"paymentMethod\\\" buttons=\\\"dropdown\\\"></ka-control>\\n        </div>\\n      </div>\\n      <p if.bind=\\\"!isCostConfirmation\\\" class=\\\"banner-message alert mt-4\\\">\\n        <span if.bind=\\\"!parent.userCurrentFidelityCard\\\"><strong>Attenzione!</strong> La tua ${card.title} sarà attiva solo alla ricezione del bonifico. Da quel momento inizierai a maturare i punti</span>\\n        <span else><strong>Attenzione!</strong> La tua ${card.title} sarà attiva solo alla ricezione del bonifico. Fino ad allora resta valida la tua card attuale e continui ad accumulare punti senza interruzioni: i punti già maturati vengono mantenuti.</span>\\n      </p>\\n      <div if.bind=\\\"prececkout\\\" ref=\\\"cardPaymentPrececkoutWrapper\\\">\\n        <div class=\\\"row\\\">\\n          <h6>Dati beneficiario</h6>\\n          <div class=\\\"col\\\">\\n            <ka-control name=\\\"payeeDisplayName\\\" buttons=\\\"copy\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <ka-control name=\\\"payeeIbanCode\\\" buttons=\\\"copy\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12 mt-3\\\">\\n            <ka-control name=\\\"remittanceInformation\\\" buttons=\\\"copy\\\"></ka-control>\\n          </div>\\n        </div>\\n        <p if.bind=\\\"prececkout.paymentCoors.paymentInformation\\\" class=\\\"banner-message mt-4\\\">\\n          <span \\n            if.bind=\\\"prececkout.paymentCoors.paymentInformation\\\" \\n            innerhtml.bind=\\\"prececkout.paymentCoors.paymentInformation\\\"></span>\\n        </p>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"flat inverted secondary\\\"\\n      click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"flat ms-0\\\"\\n      if.bind=\\\"!prececkout\\\"\\n      disabled.bind=\\\"!isPendingInit === false\\\"\\n      click.delegate=\\\"confirm($event)\\\">Conferma ordine</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-renewal-management.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h3 class=\\\"p-0 m-0\\\">${card.autoRenewEnabled === 'YES' ? 'Disattivazione' : 'Attivazione'} del rinnovo automatico.</h3>\\n    <template if.bind=\\\"card.autoRenewEnabled === 'YES'\\\">\\n      <p>La tua Fidelity Card resterà attiva fino al <strong>${card.expireAt|dateFormat:'DD/MM/YY'}.</strong></p>\\n      <p>Disattivando il rinnovo automatico della tua Fidelity Card sarà disattivato anche il rinnovo automatico di ogni servizio in abbonamento attivo che dia la possibilità di maturare punti Multicoin.</p>\\n      <p>Potrai verificare le scadenze dei tuoi servizi attivi dalla sezione <a href=\\\"/servizi/abbonamenti?ka-tab-main=attivi\\\">servizi attivi</a>.</p>\\n      <p>Puoi riattivare il rinnovo automatico in qualsiasi momento prima della scadenza.</p>\\n    </template>\\n    <template else>\\n      <p>\\n        Perfetto! Attivando il rinnovo automatico continuerai a collezionare i tuoi punti Multicoin.\\n      </p>\\n    </template>\\n    <p>Sei sicuro di voler <strong>${card.autoRenewEnabled === 'YES' ? 'disattivare' : 'attivare'}</strong> il rinnovo automatico della <strong>Fidelity Card ${card.title}?</strong></p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      click.delegate=\\\"controller.cancel()\\\"\\n      class=\\\"secondary flat inverted me-0\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      class=\\\"flat\\\"\\n      click.delegate=\\\"confirm($event)\\\"\\n      disabled.bind=\\\"!resource.data.features && !api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW')\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-cards-comparison.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"cards-wrapper\\\">\\n      <template repeat.for=\\\"card of cards\\\">\\n        <div class=\\\"card-wrapper ${card.status === 'ACTIVE' ? 'current' : 'target'}\\\">\\n          <div class=\\\"card-title-wrapper\\\">\\n            <h3>\\n              <span\\n                class=\\\"new-tag rounded\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\" \\n                ka-tooltip=\\\"value.bind:card.statusDescription\\\">Attivata</span>\\n              <span\\n                if.bind=\\\"!card.status\\\" \\n                class=\\\"new-tag success rounded\\\"\\n                ka-tooltip=\\\"value.bind:'Vuoi attivare la Fidelity Card '+card.title\\\">Da attivare</span>\\n              <span class=\\\"title\\\">Fidelity Card <span>${card.title}</span></span>\\n            </h3>\\n            <i if.bind=\\\"card.status === 'ACTIVE'\\\" class=\\\"fas fa-arrow-right\\\"></i>\\n          </div>\\n          <div class=\\\"card ${!card.status ? 'highlighted' : ''}\\\">\\n            <div class=\\\"card-benefits\\\">\\n              <ul class=\\\"marketing-hints\\\">\\n                <template repeat.for=\\\"item of card.marketingHints\\\">\\n                  <li class=\\\"${item.type}\\\" innerhtml.bind=\\\"item.html\\\"></li>\\n                </template>\\n              </ul>\\n            </div>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n    <p class=\\\"banner-message mt-4\\\">Continua per visualizzare l'informativa della <strong>Fidelity Card ${cards[1].title}</strong>${cards[1].price > 0 ? ', procedere al pagamento e ' : ' e procedere '}all'attivazione. Al termine del processo di attivazione la tua attuale <strong>Fidelity Card ${cards[0].title}</strong> sarà disattivata.</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary flat inverted me-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"flat\\\" click.delegate=\\\"continue($event)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./card.sass\\\"></require>\\n  <require from=\\\"../activation.sass\\\"></require>\\n\\n  <div class=\\\"card ${card.code} ${card.premium === 'YES' ? 'highlighted' : ''}\\\">\\n    <div class=\\\"card-header\\\">\\n      <div class=\\\"card-title-wrapper\\\">\\n        <div class=\\\"card-title\\\">\\n          <h3>fidelity card <span>${card.title}</span></h3>\\n          <h4>${card.subtitle}</h4>\\n        </div>\\n      </div>\\n      <div \\n        if.bind=\\\"card.statusLabel\\\" \\n        class=\\\"new-tag ${ card.statusClass }\\\" \\n        ka-tooltip=\\\"value.bind: card.statusDescription\\\">${card.statusLabel}\\n      </div>\\n    </div>\\n    \\n    <div class=\\\"card-body\\\">\\n      <p class=\\\"card-description-html\\\" innerHtml.bind=\\\"card.descriptionHtml\\\"></p>\\n      <div class=\\\"card-content\\\">\\n        <compose containerless view-model=\\\"${ templateFidelityCard }\\\" model.bind=\\\"{ card }\\\"></compose>\\n        <div class=\\\"card-section\\\">\\n          <div class=\\\"card-benefits\\\">\\n            <ul class=\\\"marketing-hints\\\">\\n              <template repeat.for=\\\"item of card.marketingHints\\\">\\n                <li if.bind=\\\"item.type !== 'con'\\\" class=\\\"${item.type}\\\" innerhtml.bind=\\\"item.html\\\"></li>\\n              </template>\\n              <li class=\\\"find-out\\\" click.delegate=\\\"toggleFindOutAccordion()\\\">\\n                <div class=\\\"accordion\\\">Scopri di più</div>\\n                <div class=\\\"wrapper\\\">\\n                  <div class=\\\"descriptions\\\">\\n                    <template repeat.for=\\\"item of card.marketingHints\\\">\\n                      <p if.bind=\\\"item.description && item.type === 'pro'\\\" innerhtml.bind=\\\"item.description\\\"></p>\\n                    </template>\\n                  </div>\\n                </div>\\n              </li>\\n            </ul>\\n          </div>\\n          <div class=\\\"card-actions\\\">\\n            <p class=\\\"activation-info me-3\\\">\\n              <span\\n                class=\\\"new-tag card-activable-${card.activable}\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"!card.statusLabel\\\">${card.activable === 'YES' ? 'Attivabile' : 'Non attivabile'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD' && !card.preCheckoutUuid\\\">Rinnovabile fino al ${card.gracePeriodEndAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD' && card.preCheckoutUuid\\\">Da pagare entro il ${card.gracePeriodEndAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                ka-tooltip=\\\"La Fidelity Card scadrà il ${card.expireAt|dateFormat:'DD/MM/YY'}\\\">Scade il ${card.expireAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag self-renewal ${card.autoRenewEnabled === 'YES' ? 'success' : 'error'}\\\"\\n                if.bind=\\\"card.status === 'ACTIVE' && card.autoRenewEnabled\\\"\\n                ka-tooltip=\\\"value.bind: setSelfRenewTooltip(card)\\\">Rinnovo\\n              </span>\\n            </p>\\n            <div class=\\\"buttons\\\">\\n              <ka-button\\n                class=\\\"secondary m-0\\\"\\n                click.delegate=\\\"dialogCardPayment($event)\\\"\\n                if.bind=\\\"card.status === 'WAITING-FOR-COST-CONFIRMATION' || (card.status === 'GRACE-PERIOD' && card.preCheckoutUuid)\\\"\\n                ka-tooltip=\\\"Visualizza i dati necessari per completare il pagamento\\\">Dati di pagamento\\n              </ka-button>\\n              <ka-button\\n                class=\\\"secondary m-0\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                click.delegate=\\\"dialogCardManagement($event)\\\"\\n                disabled.bind=\\\"isCardRenewDisabled\\\">Gestisci rinnovo\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                click.delegate=\\\"handleCardActivation($event)\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                if.bind=\\\"isCardActivationVisible\\\"\\n                disabled.bind=\\\"isCardActivationDisabled\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD' && !card.preCheckoutUuid\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                disabled.bind=\\\"isAutoRenewalSettingsDisabled\\\"\\n                click.delegate=\\\"fidelityCardRenew($event)\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button \\n                class=\\\"flat inverted secondary icon m-0 ms-2\\\"\\n                click.delegate=\\\"disclosureDownload($event)\\\"\\n                ka-tooltip=\\\"value.bind: 'Scarica l\\\\'informativa della Fidelity Card '+card.title\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card.sass\\\"></require>\\n\\n  <div class=\\\"fidelity-card ${card.code}\\\">\\n    <div if.bind=\\\"card.premium === 'YES'\\\" class=\\\"ribbon\\\">Premium</div>\\n    <div class=\\\"fidelity-card-header\\\">\\n      <h5>${card.title}</h5>\\n      <p>${card.subtitle}</p>\\n    </div>\\n    <div class=\\\"fidelity-card-footer\\\">\\n      <div class=\\\"fidelity-card-price\\\">\\n        <h6>Prezzo</h6>\\n        <p>\\n          <span class=\\\"price\\\">${card.price}€/</span>${card.price === 0 ? 'Gratis' : 'Anno'}\\n          <span if.bind=\\\"card.referencePrice !== card.price\\\" class=\\\"reference-price\\\">Invece di <span class=\\\"price\\\">${card.referencePrice}€</span></span>\\n        </p>\\n      </div>\\n      <svg version=\\\"1.1\\\" viewBox=\\\"0 0 369.01 352.19\\\">\\n        <circle cx=\\\"145.95\\\" cy=\\\"146.85\\\" r=\\\"45.65\\\"/>\\n        <path d=\\\"M145.95,289.33C67.39,289.33,3.47,225.42,3.47,146.85S67.39,4.36,145.95,4.36s142.48,63.92,142.48,142.48-63.92,142.48-142.48,142.48ZM145.95,53.36c-51.55,0-93.48,41.94-93.48,93.48s41.94,93.48,93.48,93.48,93.48-41.94,93.48-93.48-41.94-93.48-93.48-93.48Z\\\"/>\\n        <g>\\n          <path d=\\\"M146.14,146.64l73.86,202.93,138.81-165.44-212.66-37.49ZM270.93,216.13l-34.69,41.34-18.46-50.72,53.15,9.37Z\\\"/>\\n        </g> \\n      </svg>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help-services-agreement.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"service\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button disabled.bind=\\\"!resource.data.service\\\" class=\\\"inverted flat ms-0\\\" click.delegate=\\\"openServiceAgreement()\\\">Condizioni servizio\\n      ${resource.data.service}</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help.sass\\\"></require>\\n  <div class=\\\"row\\\">\\n    <!-- Agreements -->    \\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-handshake\\\"></i>\\n        <p>\\n          <strong> Quali sono le condizioni dei nostri servizi?</strong><br>\\n          Visualizza termini e condizioni contrattuali.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"dialogHelpServicesAgreement()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n     <!-- DPA -->    \\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-id-card\\\"></i>\\n       <p>\\n          <strong>Come utilizziamo i dati?</strong><br>\\n          Visualizza Data Processing Agreement (DPA).\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.dpa)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Privacy policy -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-shield\\\"></i>\\n        <p>\\n          <strong>Quali sono le nostre politiche sulla privacy?</strong><br>\\n          Visualizza la nostra informativa privacy.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.privacy)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Service level agreement -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-check\\\"></i>\\n        <p>\\n          <strong>Quali sono le specifiche di qualità dei servizi?</strong><br>\\n          Visualizza Service Level Agreement (SLA).\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.sla)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Knowledge -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-books\\\"></i>\\n        <p>\\n          <strong>Hai un problema che non sai come risolvere?</strong><br>\\n          Consulta il nostro portale online di assistenza e risolvi rapidamente.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.knowledge)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-book\\\"></i>\\n            <span>Portale di assistenza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help mail -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-mailbox\\\"></i>\\n        <p>\\n          <strong>Vuoi fare una segnalazione alla nostra assistenza?</strong><br>\\n          Contattaci via email: <span>assistenza@multidialogo.it</span>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.mailTo)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-envelope\\\"></i>\\n            <span>Contattaci</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Copyright -->    \\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-copyright\\\"></i>\\n        <p>\\n          <strong>Quali sono le norme sui nostri contenuti, copyright e responsabilità?</strong><br>\\n          Visualizza condizioni d'uso, copyright e disclaimer.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.copyright)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help code -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-3\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-headset\\\"></i>\\n        <p>\\n          <strong>Vuoi richiedere un codice assistenza?</strong><br>\\n          <template if.bind=\\\"!supportTickets.data\\\">\\n            <span>Genera un codice per ricevere supporto.</span>\\n          </template>\\n          <template if.bind=\\\"supportTickets.data\\\">\\n            <span class=\\\"code\\\">Codice assistenza:<strong class=\\\"primary-text\\\"> ${supportTickets.data.id}</strong> scade ${supportTickets.data.expireAt | dateFormat:'DD/MM/YY HH:mm'}.<br>\\n              <small>Comunica questo codice all'assistente entro la scadenza per ricevere supporto.</small>\\n            </span>\\n          </template>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button\\n            click.delegate=\\\"supportTickets.request()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"fal fa-receipt\\\"></i>\\n            <span>Genera codice assistenza</span>\\n          </ka-button>\\n          <p>\\n            <small class=\\\"software\\\">\\n              <a href=\\\"https://anydesk.com/it/downloads\\\" target=\\\"_blank\\\">Scarica software per collegamento remoto</a>\\n            </small>\\n          </p>\\n        </div>\\n      </div>\\n    </div>  \\n  </div>\\n  <!-- About us -->\\n  <div class=\\\"col-12\\\">\\n    <div class=\\\"d-flex flex-row justify-content-center mx-auto\\\">\\n      <p>\\n        <strong>MultiDialogo Srl</strong>\\n        <small class=\\\"address ms-2\\\" ka-tooltip=\\\"Visualizza la nostra posizione su Google Maps\\\">\\n          <a href=\\\"http://www.google.it/maps/place/Multidialogo/@44.8112768,10.278883,17z/data=!3m1!4b1!4m5!3m4!1s0x47806b28eb1d5161:0xc53f0f09bd064a4e!8m2!3d44.8112768!4d10.2810717\\\" target=\\\"_blank\\\">\\n            <span>Indirizzo: via Emilia Ovest, 129/2. 43126 Parma</span>\\n          </a>\\n        </small>\\n        <small class=\\\"iva ms-1\\\">\\n          P.IVA: 02149430346\\n        </small> \\n        <small class=\\\"telephone ms-1\\\">\\n          Tel: +39 0521247791\\n        </small>\\n        <small class=\\\"email ms-1\\\">\\n          Email: assistenza@multidialogo.it\\n        </small>\\n      </p>\\n    </div>\\n  </div> \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../_agreement/agreement.sass\\\"></require>\\n\\n  <p if.bind=\\\"!agreement.view\\\">Grazie per aver accettato le nostre condizioni di servizo.</p>\\n  <ka-button if.bind=\\\"redirect\\\" href=\\\"${redirect}\\\">Procedi</ka-button>\\n\\n  <!-- Agreement -->\\n  <div if.bind=\\\"agreement.view\\\" style=\\\"height: 100%; overflow-y: auto\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"!agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 class=\\\"m-0 mb-3\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: params && params.id === 'last' ? true : false }\\\" value.bind=\\\"clause.accepted\\\" change.trigger=\\\"areAllClausesAccepted()\\\" class=\\\"p-0 m-0\\\"></ka-control>\\n        <p innerhtml.bind=\\\"clause.content\\\"></p>     \\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-center mt-2\\\">\\n      <ka-button click.delegate=\\\"accept($event)\\\" disabled.bind=\\\"!allClausesAccepted\\\">Accetta</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./add-pec.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"content\\\">\\n      <p if.bind=\\\"displayName\\\">PEC dell'utente: <strong>${displayName}</strong></p>\\n      <md-resource \\n        view-model.ref=\\\"resource\\\" \\n        with.bind=\\\"resource\\\" \\n        schema.bind=\\\"schema\\\" \\n        data.bind=\\\"data\\\">\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"address\\\"></md-input>\\n          <md-input ka-flex name=\\\"label\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"username\\\"></md-input>\\n          <md-input ka-flex name=\\\"password\\\" required.bind=\\\"true\\\" autocomplete=\\\"new-password\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"smtpServer\\\"></md-input>\\n          <md-input ka-flex name=\\\"smtpPort\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <md-input ka-flex class=\\\"compact m-0\\\" name=\\\"default\\\"></md-input>\\n        </ka-flex-row>\\n      </md-resource>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button class=\\\"primary\\\" click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-nav-element data.bind=\\\"navConfig\\\"></md-nav-element>\\n  <compose containerless view-model=\\\"${views[view || 'settings'].vm}\\\" model.bind=\\\"{ params, tools }\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settings.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit === true\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 style=\\\"border-top: 0\\\">\\n      <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">Preferenze Email/Pec</p>\\n      <div if.bind=\\\"multinvioDigitalSelfUsages\\\" class=\\\"multinvio-digital-self-usages ${isMultinvioDigitalSelfUsagesEnded ? 'finished' : ''}\\\">\\n        <p ka-tooltip=\\\"Il tuo abbonamento gratuito Spedizioni Digitali limita gli invii di Email e PEC per lo Studio\\\">\\n          <span class=\\\"title\\\">Invii per lo studio<span> Esauriti</span>:</span>\\n          <span class=\\\"content\\\"><span class=\\\"me-2\\\">utilizzati</span>${multinvioDigitalSelfUsages.usage}<span class=\\\"mx-2\\\">su</span>${multinvioDigitalSelfUsages.limit}<span class=\\\"ms-2\\\">disponibili.</span></span>\\n        </p>\\n      </div>\\n    </h2>\\n    <md-prefsel value.bind=\\\"prefsel\\\" view-model.ref=\\\"prefSelector\\\" readonly.bind=\\\"pec.isSelected\\\" legacy.bind=\\\"false\\\"></md-prefsel>\\n    \\n    <div class=\\\"view-wrapper\\\" if.bind=\\\"prefsel\\\" style=\\\"overflow: auto; height: calc(100% - 18rem)\\\">    \\n      <md-resource \\n        show.bind=\\\"preferences.dataLoaded\\\"\\n        view-model.ref=\\\"preferences.resource\\\" \\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\" \\n        schema.bind=\\\"preferences.schema\\\" \\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"preferences\\\">\\n          <div class=\\\"email\\\" ka-flex>\\n            <ka-flex-row>\\n              <h3 ka-flex>Posta elettronica</h3>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"displayName\\\" md-tooltip=\\\"Il nome che viene visualizzato dal destinatario come mittente email\\\" readonly.bind=\\\"pec.isSelected\\\"></md-input>\\n              <md-input ka-flex name=\\\"displayAddress\\\" readonly.bind=\\\"pec.isSelected\\\"></md-input>\\n            </ka-flex-row>\\n            <h3 class=\\\"info-tooltip mt-3 mb-0\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.notCertified\\\" readonly.bind=\\\"pec.isSelected\\\"></md-input>\\n            </ka-flex-row>\\n            <h3 class=\\\"mt-3 mb-0 d-inline-flex align-items-center info-tooltip\\\" static-tooltip=\\\"value.bind:staticTooltipReadConfirmation\\\">Conferma di lettura<span class=\\\"discover-more\\\">Scopri di più</span></h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"readConfirmationRequested\\\" readonly.bind=\\\"pec.isSelected\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div class=\\\"pec\\\" ka-flex>\\n            <ka-flex-row>\\n              <h3 ka-flex>Posta elettronica certificata</h3>\\n              <ka-button \\n                class=\\\"flat secondary with-icon inverted\\\"\\n                click.delegate=\\\"pec.dialogAddPec($event)\\\"\\n                disabled.bind=\\\"pec.isSelected\\\">\\n                <i class=\\\"far fa-plus\\\"></i>\\n                <span>Aggiungi PEC</span>\\n              </ka-button>\\n            </ka-flex-row>\\n            <div class=\\\"pec-addresses\\\">\\n              <template repeat.for=\\\"item of preferences.data.certifiedAddresses\\\">\\n                <div if.bind=\\\"!preferences.hasInheritedPEC\\\" class=\\\"pec-address\\\" id=\\\"${item.uuid}\\\">\\n                  <div class=\\\"legend\\\">\\n                    <span>Casella PEC<small if.bind=\\\"item.default === 'YES'\\\" class=\\\"text-primary\\\">predefinita</small></span>\\n                  </div>\\n\\n                  <md-resource \\n                    view-model.ref=\\\"pecResources\\\" \\n                    with.bind=\\\"pecResources\\\" \\n                    endpoint.bind=\\\"pec.endpoint\\\"\\n                    schema.bind=\\\"pec.schema\\\" \\n                    data.bind=\\\"pec.selected === item.uuid ? pec.data : item\\\">\\n\\n                    <ka-flex-row>\\n                      <md-input ka-flex class=\\\"${pec.selected !== item.uuid ? 'disabled' : ''}\\\" name=\\\"label\\\" readonly.bind=\\\"pec.selected !== item.uuid\\\"></md-input>\\n                      <div class=\\\"actions\\\">\\n                        <ka-button \\n                          class=\\\"primary\\\" ka-tooltip=\\\"Modifica\\\"\\n                          click.delegate=\\\"pec.edit(item)\\\"\\n                          disabled.bind=\\\"pec.isSelected\\\">\\n                          Modifica\\n                        </ka-button>\\n                        <ka-button \\n                          class=\\\"secondary\\\" \\n                          ka-tooltip=\\\"Elimina\\\"\\n                          click.delegate=\\\"pec.delete(item)\\\"\\n                          disabled.bind=\\\"pec.isSelected\\\">\\n                          <i class=\\\"fas fa-trash-alt\\\"></i>\\n                        </ka-button>\\n                      </div>\\n                    </ka-flex-row>\\n\\n                    <div class=\\\"pec-form\\\">\\n                      <ka-flex-col>\\n                        <md-input name=\\\"address\\\"></md-input>\\n                      </ka-flex-col>\\n                      <ka-flex-row>\\n                        <md-input ka-flex name=\\\"username\\\"></md-input>\\n                        <md-input ka-flex name=\\\"password\\\" autocomplete=\\\"new-password\\\" placeholder=\\\"********\\\"></md-input>\\n                      </ka-flex-row>\\n                      <ka-flex-row>\\n                        <md-input ka-flex name=\\\"smtpServer\\\"></md-input>\\n                        <md-input ka-flex name=\\\"smtpPort\\\"></md-input>\\n                      </ka-flex-row>\\n                      <ka-flex-row>\\n                        <md-input ka-flex class=\\\"compact\\\" name=\\\"default\\\"></md-input>\\n                        <div class=\\\"actions\\\">\\n                          <ka-button class=\\\"flat inverted secondary\\\" click.delegate=\\\"pec.cancel()\\\">Annulla</ka-button>\\n                          <ka-button click.delegate=\\\"pec.save($event)\\\">Salva casella</ka-button>\\n                        </div>\\n                      </ka-flex-row>\\n                    </div>\\n                  </md-resource>\\n                </div>\\n              </template>\\n            </div>\\n            <h3 class=\\\"info-tooltip mt-3 mb-0\\\"\\n              ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">\\n              Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.certified\\\" readonly.bind=\\\"pec.isSelected\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n        </ka-flex-row>\\n        <div class=\\\"footer\\\">\\n          <ka-button click.delegate=\\\"preferences.save($event)\\\" disabled.bind=\\\"pec.isSelected\\\" class=\\\"me-0\\\">Salva impostazioni</ka-button>\\n        </div>\\n      </md-resource>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"cover\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati mittente Fax</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"name\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <ka-flex-row>\\n              <md-input ka-flex=\\\"30\\\" name=\\\"prefix\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"number\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n\\n\\n\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    .redbox { border: 1px solid #ed5a2366; padding: 1rem; background: #ed5a2322; }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    ka-input.compact { margin: 0; }\\n    ka-flex-col > p { margin-left: 0; margin-right: 0; }\\n    ka-flex-row.list + ka-flex-row.list { border-top: 1px solid #e0e0e0; padding-top: 1rem; }\\n    ka-flex-row > ka-input + ka-button + ka-button, ka-flex-row > ka-input + ka-button + ka-button + ka-button { margin-top: 1.5rem; margin-left: 0; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"pagamenti\\\" label=\\\"Pagamenti\\\">\\n      <h2>Pagamenti</h2>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n      <ka-flex-row class=\\\"no-padding\\\">\\n\\n        <div ka-flex>\\n          <h3>Gestione credito</h3>\\n          <ka-flex-col>\\n            <md-input name=\\\"debtGuarantorDisplayName\\\" show.bind=\\\"!preferences.writeEnabled && preferences.data.debtGuarantorDisplayName\\\" readonly=\\\"true\\\"></md-input>\\n            <md-input class=\\\"no-add\\\" name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api.client\\\" if.bind=\\\"preferences.writeEnabled\\\"></md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableCreditPartialUsage\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"L'eventuale credito residuo presente ${mdt.parsers.contextualize(api.user, 'sull\\\\'account')} per il quale si sta spedendo, sarà conteggiato per calcolare il corretto importo da pagare. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableToPayQueueDutiesForSubuserAtCheckout\\\"\\n              label=\\\"Utilizzare il credito del mio ${mdt.parsers.contextualize(api.user, 'account')} per il pagamento delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"Potrai decidere di utilizzare totalmente o parzialmente il credito servizio o affrancatura ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, per pagare una spedizione che appartiene ad un tuo ${mdt.parsers.contextualize(api.user, 'utente')}. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              name=\\\"masterUserCreditSharing\\\"\\n              label=\\\"Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              value.bind=\\\"preferences.checks.masterUserCreditSharing\\\"\\n              md-tooltip=\\\"Tutte le spedizioni appartenenti ai propri ${mdt.parsers.contextualize(api.user, 'utenti')} verranno pagate automaticamente, con il credito ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, solo se sufficiente a coprire la spesa. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n          </ka-flex-col>\\n          <h3>Fatturazione elettronica</h3>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"sdi.code\\\" label=\\\"Codice univoco SdI per il mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"></md-input>\\n            <md-input ka-flex name=\\\"sdi.genericSubuserCode\\\" label=\\\"Codice univoco SdI per i miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"></md-input>\\n            <md-input class=\\\"compact\\\" name=\\\"registerBillsAsManagementMovement\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-button click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n        </div>\\n\\n        <div ka-flex class=\\\"col-border-left\\\">\\n\\n          <h3>Pagamenti con carta di credito</h3>\\n          <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n            <p class=\\\"greenbox\\\">Pagamento con carta di credito abilitato.</p>\\n            <p></p>\\n          </div>\\n          <div else>\\n            <p class=\\\"redbox\\\">Pagamento con carta di credito non abilitato.</p>\\n          </div>\\n          <div if.bind=\\\"!mobileNumbers.optedIn.length\\\">\\n            <p>Per richiedere l'abilitazione dei pagamenti con carta di credito, devi avere almeno un numero di cellulare abilitato per confermarne il personale ed esclusivo utilizzo nei nostri sistemi: <a href=\\\"impostazioni/generali?ka-tab-t=cellulari\\\">registra cellulare qui!</a></p>\\n          </div>\\n\\n        </div>\\n      </ka-flex-row>\\n    </ka-tab>\\n    <ka-tab id=\\\"cellulari\\\" label=\\\"Cellulari certificati\\\" if.bind=\\\"!isSubuser\\\">\\n      <h2>Numeri di cellulare certificati</h2>\\n      \\n      <md-resource\\n        style=\\\"display: block; max-width: 700px\\\"\\n        view-model.ref=\\\"mobileNumbers.resource\\\"\\n        with.bind=\\\"mobileNumbers.resource\\\"\\n        endpoint.bind=\\\"mobileNumbers.endpoint\\\"\\n        schema.bind=\\\"mobileNumbers.schema\\\"\\n        data.bind=\\\"mobileNumbers.data\\\">\\n\\n        <div if.bind=\\\"!mobileNumbers.optedIn.length && !mobileNumbers.optedOut.length\\\">\\n          <p>Per richiedere l'abilitazione inserisci il numero di cellulare. Riceverai un SMS contenente un codice alfanumerico di sicurezza da inserire nell'apposito campo per confermare l'abilitazione.</p>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedOut.length\\\">\\n          <p>I seguenti numeri di telefono sono in attesa di verifica tramite codice ricevuto via SMS:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedOut\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-input ka-flex config.bind=\\\"{control: 'text', label: 'Codice ricevuto tramite SMS'}\\\" value.bind=\\\"record.confirmationCode\\\"></ka-input>\\n            <ka-button click.delegate=\\\"mobileNumbers.confirm($event, record)\\\">Verifica</ka-button>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.resend($event, record)\\\">Rinvia codice SMS</ka-button>\\n            <ka-button click.delegate=\\\"mobileNumbers.delete($event, record)\\\">Elimina</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n          <p>I seguenti numeri di telefono risultano verificati:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedIn\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.revoke($event, record)\\\">Revoca abilitazione</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <p>Inserisci un nuovo numero di cellulare:</p>\\n        <ka-flex-row>\\n          <md-input style=\\\"width: 50px\\\" class=\\\"no-clear\\\" name=\\\"internationalPrefix\\\"></md-input>\\n          <md-input ka-flex name=\\\"number\\\"></md-input>\\n          <ka-button click.delegate=\\\"mobileNumbers.request($event)\\\">Richiedo abilitazione</ka-button>\\n        </ka-flex-row>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .card {\\n      position: relative;\\n      display: inline-block;\\n      width: 20%;\\n      height: auto;\\n    }\\n    .card:before {\\n      content: \\\" \\\";\\n      position: absolute;\\n      left: 50%;\\n      top: 50%;\\n      bottom: 5px;\\n      width: 1px;\\n      background-color: #c0c0c0;\\n    }\\n\\n    .card i {\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      border-radius: 50%;\\n      width: 10vw;\\n      height: 10vw;\\n      font-size: 5vw;\\n      line-height: 10vw;\\n      text-align: center;\\n      color: #fff;\\n      background-color: #e9e9e9;\\n      transform: translate(-50%, -50%);\\n      text-shadow: 0 0 3vw #c0c0c0, 0 0 1px #000;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transition: all 0.3s;\\n    }\\n    .card h3 {\\n      position: absolute;\\n      bottom: 0;\\n      left: 50%;\\n      margin: 0;\\n      border-radius: 10px;\\n      padding: 10px;\\n      font-size: 14px;\\n      font-weight: bold;\\n      text-align: center;\\n      text-transform: uppercase;\\n      background-color: #fff;\\n      white-space: nowrap;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transform: translateX(-50%);\\n    }\\n    .card a {\\n      position: relative;\\n      display: block;\\n      padding-top: 100%;\\n      width: 100%;\\n      z-index: 2;\\n    }\\n\\n    .card:hover i {\\n      color: #ed5a23;\\n      background-color: #fff;\\n      text-shadow: none;\\n      transform: translate(-50%, -50%) scale(1.1);\\n    }\\n  </style>\\n  <div repeat.for=\\\"module of modules\\\" class=\\\"card\\\">\\n    <i class=\\\"${module.icon || 'fal fa-shield-check'}\\\"></i>\\n    <h3>${module.label}</h3>\\n    <a href=\\\"${module.href}\\\"></a>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"envelope.packagePresentation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"preferences.checks.recipientList\\\" label=\\\"Aggiungi foglio elenco destinatari\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"Verrà aggiunto all’interno del pacco il foglio per far firmare l’avvenuta consegna ai destinatari\\\"></ka-input>\\n              <md-input show.bind=\\\"preferences.checks.recipientList\\\" name=\\\"envelope.recipientList.subject\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati destinatario</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"firstname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"lastname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"companyName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"addressee\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-col>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-nav-element data.bind=\\\"navConfig\\\"></md-nav-element>\\n  <compose containerless view-model=\\\"${views[view || 'settings'].vm}\\\" model.bind=\\\"{ params, tools }\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settings.sass\\\"></require>\\n  <h2>Preferenze</h2>\\n  <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n  <md-resource\\n    view-model.ref=\\\"preferences.resource\\\"\\n    with.bind=\\\"preferences.resource\\\"\\n    endpoint.bind=\\\"preferences.endpoint\\\"\\n    schema.bind=\\\"preferences.schema\\\"\\n    data.bind=\\\"preferences.data\\\">\\n    <ka-flex-col>\\n      <md-input name=\\\"multicertaInvitation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n    </ka-flex-col>\\n    <p>Imposta l’affrancatura di default del canale alternativo in base al tipo di Multicerta inviata:</p>\\n    <ka-flex-row class=\\\"no-padding\\\">\\n      <div ka-flex>\\n        <h3>MultiCerta Legal&reg;</h3>\\n        <ka-flex-col>\\n          <md-input name=\\\"postage.legalType\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n          <md-input name=\\\"deadline.legalDuration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n          <md-input name=\\\"deadline.legalAcknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-col>\\n      </div>\\n      <div ka-flex class=\\\"col-border-left\\\">\\n        <h3>MultiCerta Classic&reg;</h3>\\n        <ka-flex-col>\\n          <md-input name=\\\"postage.type\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n          <md-input name=\\\"deadline.duration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n          <md-input name=\\\"deadline.acknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-col>\\n      </div>\\n    </ka-flex-row>\\n    <h3 ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia <i class=\\\"fas fa-question-circle\\\"></i></h3>\\n    <ka-flex-row>\\n      <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n    </ka-flex-row>\\n    <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n  </style>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Notifiche email -->\\n    <ka-tab id=\\\"email\\\" label=\\\"Notifiche email\\\">\\n      <h2> Notifiche via Email </h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"uiPreferences.isOverride\\\" toggle-override.bind=\\\"uiPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"uiPreferences.resource\\\"\\n        endpoint.bind=\\\"uiPreferences.endpoint\\\"\\n        schema.bind=\\\"uiPreferences.schema\\\"\\n        data.bind=\\\"uiPreferences.data\\\">\\n      </md-resource>\\n      <div with.bind=\\\"uiPreferences.resource\\\">\\n        <ka-flex-col style=\\\"max-width: 600px;\\\">\\n          <md-control readonly.bind=\\\"!uiPreferences.isOverride\\\" name=\\\"email\\\"></md-control>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"uiPreferences.isOverride\\\" click.delegate=\\\"uiPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </div>\\n    </ka-tab>\\n\\n    <!-- Notifiche avvisi -->\\n    <ka-tab id=\\\"avvisi\\\" label=\\\"Notifiche avvisi\\\">\\n      <h2>Notifiche avvisi</h2>\\n      <md-resource\\n        view-model.ref=\\\"emailPreferences.resource\\\"\\n        with.bind=\\\"emailPreferences.resource\\\"\\n        endpoint.bind=\\\"emailPreferences.endpoint\\\"\\n        schema.bind=\\\"emailPreferences.schema\\\"\\n        data.bind=\\\"emailPreferences.data\\\">\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.checks.dailyDigest\\\" description=\\\"Ricevi avviso giornaliero delle spedizioni bloccate a causa di insufficienza credito\\\"></ka-input>\\n        </ka-flex-col>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"credit.enabled\\\" description=\\\"Ricevi avviso giornaliero su credito residuo (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.credit.enabled\\\">\\n          <ka-flex-row style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input ka-flex name=\\\"credit.serviceThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n            <md-input ka-flex name=\\\"credit.postageThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-row>\\n        </template>\\n        <!--\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.data.space.enabled\\\" description=\\\"Ricevi avviso su spazio MultiInvio residuo\\\"></ka-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.space.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px\\\">\\n            <ka-input config.bind=\\\"{control: 'number'}\\\" value.bind=\\\"emailPreferences.data.space.threshold\\\" label=\\\"Soglia minima %\\\" description=\\\"Percentuale spazio residuo al di sotto del quale attivare l'avviso\\\"></ka-input>\\n            <ka-input config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"emailPreferences.data.space.notificationEmail\\\" label=\\\"Email per notifica\\\"></ka-input>\\n          </ka-flex-col>\\n        </template>\\n        -->\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"directDebit.sdd.enabled\\\" description=\\\"Ricevi avviso giornaliero sul credito residuo del deposito cauzionale (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.directDebit.sdd.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input name=\\\"directDebit.sdd.threshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-col>\\n        </template>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"bouncedEmailsDigest.enabled\\\" description=\\\"Ricevi riassunto delle email non consegnate\\\"></md-input>\\n        </ka-flex-col>\\n\\n        <ka-button click.delegate=\\\"emailPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Notifiche app -->\\n    <ka-tab id=\\\"app\\\" label=\\\"Notifiche App\\\">\\n      <h2>Notifiche Push per App Multidialogo</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"pushPreferences.isOverride\\\" toggle-override.bind=\\\"pushPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"pushPreferences.resource\\\"\\n        with.bind=\\\"pushPreferences.resource\\\"\\n        endpoint.bind=\\\"pushPreferences.endpoint\\\"\\n        schema.bind=\\\"pushPreferences.schema\\\"\\n        data.bind=\\\"pushPreferences.data\\\">\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.blocked\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code bloccate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.refused\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code rifiutate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.delivered\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code consegnate\\\"></md-input>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"pushPreferences.isOverride\\\" click.delegate=\\\"pushPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Privacy acceptance clauses -->\\n    <ka-tab id=\\\"comm\\\" label=\\\"Notifiche Commerciali\\\">\\n      <template if.bind=\\\"privacyConsent.data\\\">\\n        <h2>Notifiche per comunicazioni commerciali</h2>\\n        <fieldset class=\\\"d-flex flex-column justify-content-between px-3 mb-4\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n  \\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_no\\\">\\n              <label for=\\\"firstPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_yes\\\">\\n              <label for=\\\"firstPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n  \\n        <fieldset class=\\\"d-flex flex-column justify-content-between mb-4 px-3\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_no\\\">\\n              <label for=\\\"thirdPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_yes\\\">\\n              <label for=\\\"thirdPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n\\n        <ka-button\\n          if.bind=\\\"api.hasRole('MODIFY_USER_PREFERENCES_SENDER_NOTIFICATIONS')\\\"\\n          click.delegate=\\\"privacyConsent.save($event)\\\"\\n          class=\\\"mt-0\\\">Salva modifiche\\n        </ka-button>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./posta-dialog-confirm.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <md-prefsel view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(prefSelector.data)\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Preferenze -->\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Promemoria e notifica</h3>\\n            <ka-flex-col>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.expectReceipt\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"La scansione sarà a disposizione nel dettaglio delle spedizioni postali, nella sezione “destinatari” accanto al codice invio\\\"></md-input>\\n              <span style=\\\"color: #ED5A23; font-size: 1.1rem; margin: 1rem 0;\\\">\\n                <span>Avvertenze: La cartolina digitale non potrà essere messa a disposizione in caso di smarrimento della stessa o in caso di ritorno al mittente per compiuta giacenza. In questi casi la copia della cartolina sarà fornita, su richiesta, direttamente da Poste Italiane.</span>\\n                <span class=\\\"d-block mb-4\\\">Si precisa che, per le Raccomandate estere, le tempistiche potrebbero protrarsi fino a 45 gg per la ricezione delle cartoline di ritorno oppure potrebbero verificarsi situazioni fuori dal nostro controllo che ne impediscano la consegna.</span>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.topicOnReturnReceipt\\\" md-tooltip=\\\"Il promemoria indicato in fase di invio spedizione verrà riportato su tutte le cartoline di ritorno\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3>Vettore preferenziale</h3>\\n            <ka-flex-row>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta prioritaria\\\" value.bind=\\\"preferences.data.vectors.prioritaria\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta raccomandata\\\" value.bind=\\\"preferences.data.vectors.raccomandata\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n            </ka-flex-row>\\n            <p show.bind=\\\"preferences.isOverride\\\" if.bind=\\\"false\\\" style=\\\"margin-top: -1rem;font-size: 1.2rem;color:#606060;\\\">E' possibile selezionare il vettore Nexive solo dopo averlo <a href=\\\"/impostazioni/posta?ka-tab-t=nexive\\\">abilitato qui.</a></p>\\n            <h3>Stampa e affrancatura</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.sheetFormat\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.weight\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.frontBack\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.colorMode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.staple\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"postage.code\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <h3 class=\\\"d-inline-block tooltip\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex style=\\\"box-shadow: -1px 0 0 0 #e0e0e0\\\">\\n            <h3>Dati mittente</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"displayName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"countryCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Bollettini -->\\n    <ka-tab id=\\\"bollettini\\\" label=\\\"Bollettini\\\">\\n      <h2>Gestione autorizzazioni stampa in proprio bollettini postali</h2>\\n      <md-prefsel show.bind=\\\"!postalOrders.prefsel\\\" view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n      <div show.bind=\\\"!postalOrders.isToggle\\\">\\n        <p>L'autorizzazione consentirà di inviare autonomamente dal gestionale i bollettini 451 e 896. La richiesta di approvazione potrà protrarsi fino a 2 settimane di attesa, i tempi che servono a Poste Italiane per omologare la richiesta.</p>\\n        <template if.bind=\\\"postalOrders.tableInterface\\\">\\n            <table class=\\\"ka-table-like\\\">\\n              <thead if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr>\\n                  <th>Data inserimento</th>\\n                  <th>Intestatario conto corrente</th>\\n                  <th>Numero conto corrente</th>\\n                  <th>Stato</th>\\n                  <th></th>\\n                </tr>\\n              </thead>\\n              <tbody if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr repeat.for=\\\"item of postalOrders.tableInterface.data\\\">\\n                  <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                  <td>${item.postalAccountHolder}</td>\\n                  <td>${item.postalAccount}</td>\\n                  <td>${item.statusCode | comboFormat:postalOrders.schema.statusCode}</td>\\n                  <td class=\\\"ka-tr-tools\\\">\\n                    <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'PENDING_REVISION' || item.statusCode === 'REFUSED'\\\" click.delegate=\\\"postalOrders.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  </td>\\n                </tr>\\n              </tbody>\\n            </table>\\n        </template>\\n        <ka-button click.delegate=\\\"postalOrders.toggle()\\\">Richiedi nuova autorizzazione</ka-button>\\n      </div>\\n      \\n      <div if.bind=\\\"postalOrders.isToggle && !postalOrders.prefsel\\\" >\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.confirm()\\\">Conferma</ka-button>\\n      </div>\\n      <md-resource\\n        show.bind=\\\"postalOrders.isToggle && postalOrders.prefsel\\\"\\n        view-model.ref=\\\"postalOrders.resource\\\"\\n        with.bind=\\\"postalOrders.resource\\\"\\n        endpoint.bind=\\\"postalOrders.endpoint\\\"\\n        schema.bind=\\\"postalOrders.schema\\\"\\n        data.bind=\\\"postalOrders.data\\\">\\n        <h3>Richiedi nuova autorizzazione</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"postalAccountHolder\\\"></md-input>\\n          <md-input ka-flex name=\\\"postalAccount\\\" placeholder=\\\"Inserire le 12 cifre del numero di conto corrente\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Loghi -->\\n    <ka-tab id=\\\"loghi\\\" label=\\\"Loghi busta\\\">\\n      <h2>Gestione loghi per stampa su busta</h2>\\n      <div show.bind=\\\"!watermarks.isToggle\\\">\\n        <template if.bind=\\\"watermarks.tableInterface\\\">\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr>\\n                <th>Data inserimento</th>\\n                <th>Titolo</th>\\n                <th>Stato</th>\\n                <th>Colori</th>\\n                <th>Predefinito</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr \\n                repeat.for=\\\"item of watermarks.tableInterface.data\\\"\\n                css=\\\"${envelopeLogoUuid === item.uuid ? 'background: rgba(25, 165, 242, 0.05)' : '' }\\\">\\n                <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                <td>${item.label}</td>\\n                <td>\\n                  ${item.statusCode | comboFormat:watermarks.schema.statusCode}\\n                  <small if.bind=\\\"item.statusCode === 'PENDING'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'PENDING_APPROVAL')\\\">Invia per approvazione</a></small>\\n                  <small if.bind=\\\"item.statusCode === 'PENDING_CONFIRMATION'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'APPROVED')\\\">Conferma</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'REFUSED')\\\">Rifiuta</a></small>\\n                </td>\\n                <td>${item.colorMode}</td>\\n                <td if.bind=\\\"item.default\\\">Predefinito</td>\\n                <td if.bind=\\\"!item.default\\\"><span if.bind=\\\"item.statusCode === 'APPROVED'\\\"><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setDefault(item)\\\">Imposta predefinito</a></span></td>\\n                <td>\\n                  <!--<img if.bind=\\\"item.previews && item.previews[0]\\\" src=\\\"${watermarks.previews[item.uuid]}\\\" style=\\\"float: left; width: auto; height: 80px;\\\" alt=\\\"Anteprima\\\">-->\\n                </td>\\n                <td>\\n                  <small repeat.for=\\\"preview of item.previews\\\"><a href=\\\"${watermarks.uriBuild(preview.webPath)}\\\" click.delegate=\\\"watermarks.getImage(preview.webPath)\\\" target=\\\"_blank\\\" class=\\\"primary-text\\\">Anteprima ${preview.width}x${preview.height}</a><br></small>\\n                </td>\\n                <td class=\\\"ka-tr-tools\\\">\\n                  <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'REFUSED' || item.statusCode === 'APPROVED'\\\" click.delegate=\\\"watermarks.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"watermarks.download(item)\\\" ka-tooltip=\\\"Scarica file\\\"><i class=\\\"material-icons\\\">save_alt</i></button>\\n                </td>\\n              </tr>\\n            </tbody>\\n          </table>\\n        </template>\\n        <ka-button click.delegate=\\\"watermarks.toggle()\\\">Carica nuovo logo</ka-button>\\n      </div>\\n\\n      <md-resource\\n        show.bind=\\\"watermarks.isToggle\\\"\\n        view-model.ref=\\\"watermarks.resource\\\"\\n        with.bind=\\\"watermarks.resource\\\"\\n        endpoint.bind=\\\"watermarks.endpoint\\\"\\n        schema.bind=\\\"watermarks.schema\\\"\\n        data.bind=\\\"watermarks.data\\\">\\n        <h3>Carica nuovo logo</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"label\\\" md-tooltip=\\\"Dai un nome al tuo logo\\\"></md-input>\\n          <md-input ka-flex class=\\\"no-buttons\\\" placeholder=\\\"Seleziona file\\\" name=\\\"fileData\\\" description=\\\"*.jpg o *.png in alta risoluzione (300dpi)\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <ka-flex-col>\\n            <md-input name=\\\"text\\\" md-tooltip=\\\"Se nel logo non sono già presenti tutte le informazioni, puoi aggiungerle qui (indirizzo, email, telefono ecc.)\\\" description=\\\"Eventuale testo con i recapiti del mittente, da aggiungere al logo\\\"></md-input>\\n          </ka-flex-col>\\n          <ka-flex-col>\\n            <md-input name=\\\"colorMode\\\"></md-input>\\n          </ka-flex-col>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"watermarks.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"watermarks.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Copertina -->\\n    <ka-tab if.bind=\\\"api.hasRole(['LIST_USER_PREFERENCES_SENDER_LETTER_COVERS','LIST_ANY_USER_PREFERENCES_SENDER_LETTER_COVER'])\\\" id=\\\"copertine\\\" label=\\\"Copertine\\\">\\n      <compose containerless view-model=\\\"${vmCover}\\\" model.bind=\\\"{ context: 'settings' }\\\"></compose>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./add-keyword.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div ref=\\\"addKeywordWrapper\\\">\\n      <ka-control name=\\\"keyword\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setMessage()\\\"></ka-control>\\n      <div class=\\\"banner-message alert mt-3 mb-0\\\">\\n        <span>${message}</span>\\n      </div>\\n      <ka-control class=\\\"mt-3\\\" name=\\\"placeholder\\\" if.bind=\\\"resource.data.keyword === 'data'\\\" buttons=\\\"clear\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button class=\\\"ms-0\\\" click.delegate=\\\"save($event)\\\">Aggiungi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./signature-editor.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"content\\\">\\n      <div class=\\\"row\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <ka-control name=\\\"label\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <ka-control name=\\\"default\\\"></ka-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 position-relative\\\">\\n        <p class=\\\"banner-message my-3\\\">\\n          <span>Per i canali <strong>Email e/o Pec</strong> è possibile inserire una firma composta da: <strong>1 immmagine</strong> non più grande di <strong>150 kB</strong> e/o testo a piacere.</span>\\n        </p>\\n        <div if.bind=\\\"imageSize\\\" class=\\\"new-tag image-size ${imageSize > imageLimitKb ? 'error' : 'success'}\\\"><span>${imageSize}</span> di <span>${imageLimitKb}</span> kB</div>\\n        <ka-control name=\\\"html\\\" blur.trigger=\\\"syncTextFromHtml()\\\" ref=\\\"htmlEditorRef\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 mt-3\\\">\\n        <div class=\\\"d-flex align-items-center my-3\\\">\\n          <p class=\\\"banner-message flex-grow-1\\\">\\n            <span>Per il canale <strong>Multicerta</strong> inserisci una firma testuale. Puoi copiare il testo dal modello Email/Pec.</span>\\n          </p>\\n          <ka-button class=\\\"secondary m-0 ms-3\\\" click.delegate=\\\"syncTextFromHtml(true)\\\">Copia da modello Email/Pec</ka-button>\\n        </div>\\n        <ka-control name=\\\"text\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button if.bind=\\\"signature\\\" disabled.bind=\\\"imageSize > imageLimitKb\\\" class=\\\"primary\\\" click.delegate=\\\"edit($event)\\\">Salva</ka-button>\\n    <ka-button else disabled.bind=\\\"imageSize > imageLimitKb\\\"  class=\\\"primary\\\" click.delegate=\\\"create($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./signature-preview.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div ref=\\\"signaturePreviewWrapper\\\">\\n      <div class=\\\"col-12\\\">\\n        <p class=\\\"banner-message mb-3\\\">\\n          <span>Anteprima che rappresenta la versione della firma applicabile ai tuoi messaggi con canale <strong>Email e/o Pec.</strong></span>\\n        </p>\\n        <ka-control name=\\\"html\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 mt-3\\\">\\n        <p class=\\\"banner-message my-3\\\">\\n          <span>Anteprima che rappresenta la versione della firma applicabile ai tuoi messaggi con canale <strong>Multicerta.</strong></span>\\n        </p>\\n        <ka-control name=\\\"text\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./template-editor.sass\\\"></require>\\n  <!-- <p if.bind=\\\"isErrorInit === true\\\" class=\\\"m-0 p-3\\\">Errore in fase di caricamento</p> -->\\n  <!-- <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader m-0 p-3\\\"><span>Caricamento in corso</span></p> -->\\n  <!-- <div if.bind=\\\"!isErrorInit && isPendingInit === false\\\" ref=\\\"templateEditorWrapper\\\"> -->\\n  <div ref=\\\"templateEditorWrapper\\\">\\n    <div class=\\\"body\\\">\\n      <div class=\\\"row\\\">\\n        <ka-control class=\\\"col-12\\\" name=\\\"label\\\"></ka-control>\\n      </div>\\n      <div class=\\\"row mt-3\\\">\\n        <ka-control class=\\\"col-12\\\" name=\\\"subject\\\"></ka-control>\\n      </div>\\n      <div class=\\\"row mt-3\\\">\\n        <ka-control class=\\\"col-12\\\" name=\\\"htmlBody\\\"></ka-control>\\n      </div>\\n      <div class=\\\"row mt-3\\\">\\n        <div class=\\\"col-12 keywords\\\">\\n          <div class=\\\"keywords-list\\\">\\n            <div class=\\\"keyword-chip add\\\" click.delegate=\\\"addKeyword()\\\">\\n              <i class=\\\"far fa-plus\\\"></i>Aggiungi parola chiave\\n            </div>\\n            <div \\n              repeat.for=\\\"keyword of keywords\\\" \\n              ka-tooltip.bind=\\\"keyword.autoResolved === 'YES' ? 'il valore sarà definito automaticamente in fase di invio' : ' il valore verrà richiesto in fase di invio'\\\"\\n              class=\\\"keyword-chip ${keyword.autoResolved === 'YES' ? 'system' : 'custom'}\\\">\\n              <span click.delegate=\\\"insertKeyword(keyword)\\\">${keyword.placeholder}</span>\\n              <i class=\\\"far fa-times delete\\\" click.delegate=\\\"removeKeyword(keyword)\\\"></i>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button if.bind=\\\"template\\\" class=\\\"ms-0\\\" click.delegate=\\\"edit($event)\\\">Salva</ka-button>\\n    <ka-button else class=\\\"ms-0\\\" click.delegate=\\\"create($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./template-preview.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div ref=\\\"templatePreviewWrapper\\\">\\n      <div class=\\\"row\\\">\\n        <ka-control class=\\\"col-12\\\" name=\\\"subject\\\"></ka-control>\\n      </div>\\n      <div class=\\\"row mt-3\\\">\\n        <ka-control class=\\\"col-12\\\" name=\\\"htmlBody\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./shared-view.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit === true\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 style=\\\"border-top: 0\\\">Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xl-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-xl-4\\\">\\n        <md-control name=\\\"label\\\" submit.call=\\\"$parent.search()\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <h2>\\n      <span>Elenco firme</span>\\n      <ka-button \\n        if.bind=\\\"userCanEdit\\\"\\n        class=\\\"flat inverted with-icon\\\"\\n        click.delegate=\\\"dialogSignatureEditor($event)\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea firma</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"\\n      pagination-limits=\\\"25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data creazione</th>\\n            <th>Nome firma</th>\\n            <th>Impostazioni</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && userCanRead\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>  \\n              <td class=\\\"created-at\\\">\\n                <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                <div>Alle ore:\\n                  <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                </div>\\n              </td>\\n              <td>\\n                <p class=\\\"m-0 p-0\\\">${record.label}</p>\\n              </td>\\n              <td class=\\\"default-signature\\\">\\n                <span\\n                  class=\\\"new-tag success\\\" \\n                  style=\\\"cursor: default\\\"\\n                  if.bind=\\\"record.default === 'YES'\\\">Predefinita</span>\\n                <span \\n                  else \\n                  class=\\\"new-tag clickable\\\" \\n                  ka-tooltip=\\\"Assegna come predefinita\\\" \\n                  click.delegate=\\\"setSignatureAsDefault($event, record)\\\">Non predefinita</span>\\n              </td>\\n              <td class=\\\"management\\\">\\n                <div>\\n                  <md-split-button label=\\\"Opzioni\\\">\\n                    <button class=\\\"options\\\">Gestisci</button>\\n                    <ul class=\\\"source d-none\\\">\\n                      <li>\\n                        <div md-action=\\\"{ icon: 'far fa-edit' }\\\" if.bind=\\\"userCanEdit\\\" click.delegate=\\\"dialogSignatureEditor($event, record)\\\">Modifica firma</div>\\n                      </li>\\n                      <li>\\n                        <div md-action=\\\"{ icon: 'far fa-eye' }\\\" click.delegate=\\\"dialogPreviewSignature($event, record)\\\">Anteprima firma</div>\\n                      </li>\\n                      <li if.bind=\\\"record.default === 'NO'\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-star' }\\\" if.bind=\\\"userCanEdit\\\" click.delegate=\\\"setSignatureAsDefault($event, record)\\\">Assegna come predefinita</div>\\n                      </li>\\n                      <li>\\n                        <div md-action=\\\"{ icon: 'far fa-trash-alt' }\\\" if.bind=\\\"userCanDelete\\\" click.delegate=\\\"dialogDeleteSignature($event, record)\\\">Elimina firma</div>\\n                      </li>\\n                    </ul>\\n                  </md-split-button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Nessuna firma trovata</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./shared-view.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit === true\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 style=\\\"border-top: 0\\\">Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xl-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-xl-4\\\">\\n        <md-control name=\\\"label\\\" submit.call=\\\"search()\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <h2>\\n      <span>Elenco modelli</span>\\n      <ka-button class=\\\"flat with-icon inverted\\\" if.bind=\\\"userCanCreate\\\" click.delegate=\\\"dialogTemplateEditor($event)\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea modello</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data creazione</th>\\n            <th>Nome modello</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td class=\\\"created-at\\\">\\n                <span class=\\\"data\\\">${record.createdAt | dateFormat:'DD/MM/YY'}</span>\\n                <div>Alle ore:\\n                  <span class=\\\"data\\\">${record.createdAt | dateFormat:'HH:mm'}</span>\\n                </div>\\n              </td>\\n              <td>\\n                <p class=\\\"m-0 p-0\\\">${record.label}</p>\\n              </td>\\n              <td class=\\\"management\\\">\\n                <div>\\n                  <md-split-button label=\\\"Opzioni\\\">\\n                    <button class=\\\"options\\\">Gestisci</button>\\n                    <ul class=\\\"source d-none\\\">\\n                      <li if.bind=\\\"userCanEdit\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-edit' }\\\" click.delegate=\\\"dialogTemplateEditor($event, record)\\\">Modifica modello</div>\\n                      </li>\\n                      <li>\\n                        <div md-action=\\\"{ icon: 'far fa-eye' }\\\" click.delegate=\\\"dialogTemplatePreview($event, record)\\\">Anteprima modello</div>\\n                      </li>\\n                      <li if.bind=\\\"userCanDelete\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-trash-alt' }\\\" click.delegate=\\\"dialogDeleteTemplate($event, record)\\\">Elimina modello</div>\\n                      </li>\\n                    </ul>\\n                  </md-split-button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Nessun modello trovato</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./sms-alias-request.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <p if.bind=\\\"ownerName\\\" class=\\\"owner\\\">Impostazioni di: <strong>${ownerName}</strong></p>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 pb-3\\\">\\n        <ka-control name=\\\"displayName\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 pb-3\\\">\\n        <ka-control name=\\\"companyName\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md-6 pb-3\\\">\\n        <ka-control name=\\\"vatCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 pb-3\\\">\\n        <ka-control name=\\\"fiscalCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md pb-3\\\">\\n        <ka-control name=\\\"streetAddress\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md pb-3\\\">\\n        <ka-control name=\\\"zipCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md pb-3\\\">\\n        <ka-control name=\\\"admLvl3\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md pb-3\\\">\\n        <ka-control name=\\\"admLvl2\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md pb-3\\\">\\n        <ka-control name=\\\"country\\\" client.bind=\\\"api\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control\\n          name=\\\"email\\\"\\n          buttons=\\\"clear\\\"\\n          md-tooltip=\\\"Una volta che l'AGICOM avrà effettuato la registrazione, sarete avvisati tramite e-mail e sarà necessario impostare l'ALIAS come mittente del messaggio.\\\">\\n        </ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control name=\\\"pec\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control name=\\\"phoneNumber\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 pt-3\\\">\\n        <ka-control name=\\\"default\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"banner-message alert mt-4\\\">\\n      <span>La richiesta di un Alias SMS (il mittente alfanumerico che sostituisce il numero di telefono) è regolata dall'AGCOM con la <strong>delibera n. 12/23/CIR</strong>, che ne disciplina l'uso per garantire la sicurezza e la tracciabilità delle comunicazioni. Il richiedente deve avere titolo all'uso del nome indicato (ragione sociale, marchio o denominazione) e fornire dati veritieri e verificabili: l'alias viene iscritto nel Registro degli Alias istituito dall'AGCOM e le richieste non conformi alla normativa vengono rifiutate.</span>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button class=\\\"ms-0\\\" click.delegate=\\\"send($event)\\\">Richiedi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../shared-views/shared-view.sass\\\"></require>\\n  <require from=\\\"./sms.sass\\\"></require>\\n  <md-nav-element data.bind=\\\"navConfig\\\"></md-nav-element>\\n  <compose containerless view-model=\\\"${views[view].vm}\\\" model.bind=\\\"{ parent }\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-loader pending.bind=\\\"isPendingInit !== false\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <md-prefsel \\n      legacy.bind=\\\"false\\\" \\n      value.bind=\\\"prefsel\\\"\\n      view-model.ref=\\\"prefSelector\\\">\\n    </md-prefsel>\\n    <template if.bind=\\\"prefsel\\\">\\n      <h2>\\n        <span class=\\\"list-title\\\">\\n          <span>Elenco alias</span>\\n          <small>L'Alias del mittente serve per mostrare il nome del mittente del messaggio senza che venga visualizzato il numero di telefono.</small>\\n        </span>\\n        <ka-button class=\\\"flat secondary with-icon inverted\\\" click.delegate=\\\"dialogSmsAliasRequest($event)\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Richiedi nuovo</span>\\n        </ka-button>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"requestedAt\\\">Data richiesta</md-table-sort></th>\\n              <th>Azienda</th>\\n              <th>Stato attivazione</th>\\n              <th>Mittente SMS</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td class=\\\"created-at\\\">\\n                <span class=\\\"data\\\">${record.requestedAt | dateFormat:'DD/MM/YYYY'}</span>\\n                <div>Alle ore:\\n                  <span class=\\\"data\\\">${record.requestedAt | dateFormat:'HH:mm'}</span>\\n                </div>\\n              </td>\\n              <td>${record.companyName}</td>\\n              <td>\\n                <span class=\\\"new-tag ${statuses[record.status].class} ${record.status === 'ERROR' ? 'mb-3' : ''}\\\">${statuses[record.status].label || record.status}</span>\\n                <span if.bind=\\\"record.default === 'YES'\\\" class=\\\"new-tag\\\">Predefinito</span>\\n                <small if.bind=\\\"record.status === 'ERROR'\\\" class=\\\"d-block\\\">Contattare l'assistenza</small>\\n              </td>\\n              <td>${record.displayName}</td>\\n              <td class=\\\"management\\\">\\n                <div>\\n                  <md-split-button label=\\\"Opzioni\\\">\\n                    <button class=\\\"options\\\">Gestisci</button>\\n                    <ul class=\\\"source d-none\\\">\\n                      <li if.bind=\\\"record.status === 'COMPLETED' && record.default !== 'YES' && tableInterface.total > 1\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-star' }\\\" click.delegate=\\\"setDefaultAlias(record, $event)\\\">Imposta come predefinito</div>\\n                      </li>\\n                    </ul>\\n                  </md-split-button>\\n                </div>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"tableInterface.data && !tableInterface.data.length\\\">\\n            <tr>\\n              <td colspan=\\\"5\\\">\\n                <span>Nessun alias trovato</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-loader pending.bind=\\\"isPendingInit !== false\\\"></md-loader>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./email-read-confirmation.sass\\\"></require>\\n  <md-loader if.bind=\\\"isLoading\\\" pending.bind=\\\"true\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <main class=\\\"${isMobile ? 'mobile' : 'desktop'}\\\">\\n      <div if.bind=\\\"isErrorInit === true\\\" class=\\\"error-init\\\">\\n        <div class=\\\"icon-wrapper ERROR\\\">\\n          <svg class=\\\"error\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n            <title>alert-circle</title>\\n            <g fill=\\\"none\\\" stroke=\\\"#ffffff\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\">\\n              <path stroke-dasharray=\\\"60\\\"\\n                d=\\\"M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z\\\">\\n                <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"2.4s\\\" repeatCount=\\\"indefinite\\\"\\n                  keyTimes=\\\"0;0.25;0.75;1\\\" values=\\\"60;0;0;60\\\"/>\\n              </path>\\n              <path stroke-dasharray=\\\"8\\\" stroke-dashoffset=\\\"8\\\" d=\\\"M12 7v6\\\">\\n                <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"2.4s\\\" repeatCount=\\\"indefinite\\\"\\n                  keyTimes=\\\"0;0.29;0.38;0.75;1\\\" values=\\\"8;8;0;0;8\\\"/>\\n              </path>\\n              <path stroke-dasharray=\\\"4\\\" stroke-dashoffset=\\\"4\\\" d=\\\"M12 17v0.01\\\">\\n                <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"2.4s\\\" repeatCount=\\\"indefinite\\\"\\n                  keyTimes=\\\"0;0.29;0.38;0.75;1\\\" values=\\\"4;4;0;0;4\\\"/>\\n              </path>\\n            </g>\\n          </svg>\\n        </div>\\n        <p>${errorMessage}</p>\\n      </div>\\n      <template else>\\n        <div class=\\\"icon-wrapper ${emailReadReceipts.status}\\\">\\n          <svg class=\\\"pending\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n            <title>email-check-filled</title>\\n            <defs>\\n              <mask id=\\\"SVGjEaXydqt\\\">\\n                <path fill=\\\"#ffffff\\\" fill-opacity=\\\"0\\\" d=\\\"M12 11l-8 -5h16l-8 5Z\\\">\\n                  <animate attributeName=\\\"fill-opacity\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                    keyTimes=\\\"0;0.18;0.26;1\\\" values=\\\"0;0;1;1\\\"/>\\n                </path>\\n                <g fill=\\\"none\\\" stroke=\\\"#fff\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\">\\n                  <path stroke-dasharray=\\\"66\\\" d=\\\"M4 5h16c0.55 0 1 0.45 1 1v12c0 0.55 -0.45 1 -1 1h-16c-0.55 0 -1 -0.45 -1 -1v-12c0 -0.55 0.45 -1 1 -1Z\\\">\\n                    <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                      keyTimes=\\\"0;0.12;1\\\" values=\\\"66;0;0\\\"/>\\n                  </path>\\n                  <path stroke-dasharray=\\\"24\\\" stroke-dashoffset=\\\"24\\\" d=\\\"M3 6.5l9 5.5l9 -5.5\\\">\\n                    <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                      keyTimes=\\\"0;0.12;0.18;1\\\" values=\\\"24;24;0;0\\\"/>\\n                  </path>\\n                </g>\\n                <path d=\\\"M19 13c3.31 0 6 2.69 6 6c0 3.31 -2.69 6 -6 6c-3.31 0 -6 -2.69 -6 -6c0 -3.31 2.69 -6 6 -6Z\\\" opacity=\\\"0\\\">\\n                  <animate attributeName=\\\"opacity\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                    keyTimes=\\\"0;0.28;0.28;1\\\" values=\\\"0;0;1;1\\\"/>\\n                </path>\\n              </mask>\\n            </defs>\\n            <path fill=\\\"#ffffff\\\" d=\\\"M0 0h24v24H0z\\\" mask=\\\"url(#SVGjEaXydqt)\\\"/>\\n            <path fill=\\\"none\\\" stroke=\\\"#ffffff\\\" stroke-dasharray=\\\"10\\\" stroke-dashoffset=\\\"10\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M16 19l1.75 1.75l3.75 -3.75\\\">\\n              <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                keyTimes=\\\"0;0.28;0.32;1\\\" values=\\\"10;10;0;0\\\"/>\\n            </path>\\n          </svg>\\n          <svg class=\\\"confirmed\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"1em\\\" height=\\\"1em\\\" viewBox=\\\"0 0 24 24\\\">\\n            <title>circle-twotone-to-confirm-circle-transition</title>\\n            <g fill=\\\"none\\\" stroke=\\\"#ffffff\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\">\\n              <path d=\\\"M3 12c0 -4.97 4.03 -9 9 -9c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9Z\\\">\\n                <animate attributeName=\\\"fill-opacity\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                  keyTimes=\\\"0;0.04;1\\\" values=\\\"0.3;1;1\\\"/>\\n              </path>\\n              <path stroke-dasharray=\\\"14\\\" stroke-dashoffset=\\\"14\\\" d=\\\"M8 12l3 3l5 -5\\\">\\n                <animate attributeName=\\\"stroke-dashoffset\\\" dur=\\\"5s\\\" repeatCount=\\\"indefinite\\\"\\n                  keyTimes=\\\"0;0.04;0.08;1\\\" values=\\\"14;14;0;0\\\"/>\\n              </path>\\n            </g>\\n          </svg>\\n        </div>\\n        <h1>${emailReadReceipts.status === 'PENDING' ? 'Confermi di aver letto la comunicazione?' : 'Hai confermato questa comunicazione'}</h1>\\n        <h3 if.bind=\\\"emailReadReceipts.status === 'PENDING'\\\">Oggetto email: ${emailReadReceipts.messageSubject}</h3>\\n        <h3 else>Confermata il ${emailReadReceipts.confirmedAt | dateFormat}</h3>\\n        <ka-button \\n          class=\\\"primary\\\" \\n          click.delegate=\\\"confirm($event)\\\" \\n          disabled.bind=\\\"emailReadReceipts.status !== 'PENDING'\\\"\\n          ka-tooltip=\\\"value.bind: emailReadReceipts.status === 'PENDING' ? 'Clicca per confermare' : 'Hai già confermato'\\\">\\n          <span>Conferma la lettura</span>\\n        </ka-button>\\n        <div class=\\\"multicerta\\\">\\n          <i class=\\\"logo\\\"></i>\\n          <div class=\\\"wrapper\\\">\\n            <div class=\\\"content\\\">\\n              <p>Vuoi risparmiare tempo? Con MultiCerta ricevi le comunicazioni del tuo amministratore con conferma di lettura integrata, senza dover effettuare alcun click.</p>\\n              <div class=\\\"buttons\\\" if.bind=\\\"isMobile\\\">\\n                <button click.delegate=\\\"goToMobileApp('android')\\\">\\n                  <div class=\\\"inner\\\">\\n                    <span>Scarica Multicerta da</span>\\n                    <div class=\\\"logo\\\">\\n                      <svg viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n                        <mask id=\\\"mask0_87_8320\\\" style=\\\"mask-type:alpha\\\" maskUnits=\\\"userSpaceOnUse\\\" x=\\\"7\\\" y=\\\"3\\\" width=\\\"24\\\" height=\\\"26\\\">\\n                          <path\\n                            d=\\\"M30.0484 14.4004C31.3172 15.0986 31.3172 16.9014 30.0484 17.5996L9.75627 28.7659C8.52052 29.4459 7 28.5634 7 27.1663L7 4.83374C7 3.43657 8.52052 2.55415 9.75627 3.23415L30.0484 14.4004Z\\\"\\n                            fill=\\\"#C4C4C4\\\" />\\n                        </mask>\\n                        <g mask=\\\"url(#mask0_87_8320)\\\">\\n                          <path\\n                            d=\\\"M7.63473 28.5466L20.2923 15.8179L7.84319 3.29883C7.34653 3.61721 7 4.1669 7 4.8339V27.1664C7 27.7355 7.25223 28.2191 7.63473 28.5466Z\\\"\\n                            fill=\\\"url(#paint0_linear_87_8320)\\\" />\\n                          <path\\n                            d=\\\"M30.048 14.4003C31.3169 15.0985 31.3169 16.9012 30.048 17.5994L24.9287 20.4165L20.292 15.8175L24.6923 11.4531L30.048 14.4003Z\\\"\\n                            fill=\\\"url(#paint1_linear_87_8320)\\\" />\\n                          <path\\n                            d=\\\"M24.9292 20.4168L20.2924 15.8179L7.63477 28.5466C8.19139 29.0232 9.02389 29.1691 9.75635 28.766L24.9292 20.4168Z\\\"\\n                            fill=\\\"url(#paint2_linear_87_8320)\\\" />\\n                          <path\\n                            d=\\\"M7.84277 3.29865L20.2919 15.8177L24.6922 11.4533L9.75583 3.23415C9.11003 2.87878 8.38646 2.95013 7.84277 3.29865Z\\\"\\n                            fill=\\\"url(#paint3_linear_87_8320)\\\" />\\n                        </g>\\n                        <defs>\\n                          <linearGradient id=\\\"paint0_linear_87_8320\\\" x1=\\\"15.6769\\\" y1=\\\"10.874\\\" x2=\\\"7.07106\\\" y2=\\\"19.5506\\\"\\n                            gradientUnits=\\\"userSpaceOnUse\\\">\\n                            <stop stop-color=\\\"#00C3FF\\\" />\\n                            <stop offset=\\\"1\\\" stop-color=\\\"#1BE2FA\\\" />\\n                          </linearGradient>\\n                          <linearGradient id=\\\"paint1_linear_87_8320\\\" x1=\\\"20.292\\\" y1=\\\"15.8176\\\" x2=\\\"31.7381\\\" y2=\\\"15.8176\\\"\\n                            gradientUnits=\\\"userSpaceOnUse\\\">\\n                            <stop stop-color=\\\"#FFCE00\\\" />\\n                            <stop offset=\\\"1\\\" stop-color=\\\"#FFEA00\\\" />\\n                          </linearGradient>\\n                          <linearGradient id=\\\"paint2_linear_87_8320\\\" x1=\\\"7.36932\\\" y1=\\\"30.1004\\\" x2=\\\"22.595\\\" y2=\\\"17.8937\\\"\\n                            gradientUnits=\\\"userSpaceOnUse\\\">\\n                            <stop stop-color=\\\"#DE2453\\\" />\\n                            <stop offset=\\\"1\\\" stop-color=\\\"#FE3944\\\" />\\n                          </linearGradient>\\n                          <linearGradient id=\\\"paint3_linear_87_8320\\\" x1=\\\"8.10725\\\" y1=\\\"1.90137\\\" x2=\\\"22.5971\\\" y2=\\\"13.7365\\\"\\n                            gradientUnits=\\\"userSpaceOnUse\\\">\\n                            <stop stop-color=\\\"#11D574\\\" />\\n                            <stop offset=\\\"1\\\" stop-color=\\\"#01F176\\\" />\\n                          </linearGradient>\\n                        </defs>\\n                      </svg>\\n                      <span>Google Play</span>\\n                    </div>\\n                  </div>      \\n                </button>\\n                <button click.delegate=\\\"goToMobileApp('ios')\\\">\\n                  <div class=\\\"inner\\\">\\n                    <span>Scarica Multicerta da</span>\\n                    <div class=\\\"logo\\\">\\n                      <svg fill=\\\"#000\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n                        <path d=\\\"M18.71 19.5C17.88 20.74 17 21.95 15.66 21.97C14.32 22 13.89 21.18 12.37 21.18C10.84 21.18 10.37 21.95 9.09997 22C7.78997 22.05 6.79997 20.68 5.95997 19.47C4.24997 17 2.93997 12.45 4.69997 9.39C5.56997 7.87 7.12997 6.91 8.81997 6.88C10.1 6.86 11.32 7.75 12.11 7.75C12.89 7.75 14.37 6.68 15.92 6.84C16.57 6.87 18.39 7.1 19.56 8.82C19.47 8.88 17.39 10.1 17.41 12.63C17.44 15.65 20.06 16.66 20.09 16.67C20.06 16.74 19.67 18.11 18.71 19.5ZM13 3.5C13.73 2.67 14.94 2.04 15.94 2C16.07 3.17 15.6 4.35 14.9 5.19C14.21 6.04 13.07 6.7 11.95 6.61C11.8 5.46 12.36 4.26 13 3.5Z\\\"/>\\n                      </svg>\\n                      <span>App Store</span>\\n                    </div>\\n                  </div>\\n                </button>\\n              </div>\\n              <a href=\\\"https://www.multicerta.it/per-il-condomino.html\\\" target=\\\"_blank\\\" class=\\\"discover-more\\\">Scopri di più</a>\\n            </div>\\n            <div class=\\\"desktop-download\\\" if.bind=\\\"!isMobile\\\">\\n              <h5 class=\\\"m-0\\\">Inquadra il QR Code per scaricare l'app</h5>\\n              <i class=\\\"qrcode\\\" style=\\\"background-image: url(${qrCodeSrc})\\\"></i>\\n            </div>\\n          </div>          \\n        </div>\\n      </template>\\n    </main>\\n    <footer if.bind=\\\"isErrorInit !== true\\\">\\n      <p class=\\\"m-0\\\">Software per l'amministrazione condominiale</p>\\n      <p class=\\\"m-0\\\">© copyright ${currentYear} <a href=\\\"https://www.multidialogo.it/multidialogo\\\" target=\\\"_blank\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></p>\\n      <!-- <p class=\\\"disclaimer\\\">\\n        La pagina informa il destinatario sul trattamento dei dati raccolti con la conferma, tramite un'informativa\\n        coerente con il GDPR. La conferma non ha alcun valore di prova legale.\\n      </p> -->\\n    </footer>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./offerta.sass\\\"></require>\\n  <div class=\\\"d-flex justify-content-center align-items-center h-100 ${offerExpired ? 'expired' : ''}\\\" style=\\\"position: relative; z-index: 10\\\">\\n    <div if.bind=\\\"!offerExpired\\\" class=\\\"offer-box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content -->\\n      <div class=\\\"row m-0\\\">\\n        <!-- Offer content - left side -->\\n        <div class=\\\"col-12 col-md-6 left-side\\\">\\n          <h1 class=\\\"m-0 mb-4\\\">${offer.title}</h1>\\n          <div class=\\\"ribbon ps-4 mb-5 text-nowrap\\\">Offerta di MultiDialogo</div>\\n          <p class=\\\"m-0 mb-4\\\">${offer.description}</p>\\n          <h3 class=\\\"mx-0 px-0\\\">\\n            <i class=\\\"far fa-stopwatch me-2\\\"></i>Offerta valida fino al ${offer.endAt|dateFormat: 'DD/MM/YYYY'}!\\n          </h3>\\n          <small if.bind=\\\"offer.deadlineType\\\" class=\\\"d-block\\\">\\n            <template if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\">\\n              <span if.bind=\\\"!api.isAuthenticated\\\">\\n                Attiva l'offerta e sottoscrivi i servizi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n              <span if.bind=\\\"api.isAuthenticated\\\">\\n                Servizi sottoscrivibili entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n            <template if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\">\\n              <span if.bind=\\\"offer.targetUserType === 'USER'\\\">\\n                Per attivare questa offerta è necessario registrarsi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}\\n              </span>\\n              <span if.bind=\\\"offer.targetUserType === 'SUBUSER'\\\">\\n                Estendibile a tutti i ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'} attivati entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n          </small>\\n        </div>\\n\\n        <!-- Offer content - right side -->\\n        <div class=\\\"col-12 col-md-6 p-0 right-side\\\">\\n          <h2 class=\\\"m-0 p-0 p-4 white-bg\\\">Servizi disponibili alla sottoscrizione</h2>\\n          <div class=\\\"wrapper-services\\\">\\n            <template repeat.for=\\\"flat of offer.flatServices\\\">\\n              <div class=\\\"flat-service\\\">\\n                <h3 class=\\\"m-0 mb-4 p-0\\\">${flat.attributes.title}</h3>\\n                <div class=\\\"m-0 mb-4 p-0 description\\\" innerhtml.bind=\\\"flat.attributes.description\\\"></div>\\n                <div class=\\\"row m-0\\\">\\n                  <div class=\\\"col-auto p-0 pe-4 activability\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Validità</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">\\n                      Dal ${flat.attributes.startAt|dateFormat:'DD/MM/YYYY'}\\n                    </p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 duration\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Durata</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.duration} giorni</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 price\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Prezzo</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.price > 0 ? flat.attributes.price+' + IVA €' : 'Gratis'}</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 billing\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Fatturazione</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${$index % 2 === 0 ? 'Al Condominio' : 'Allo Studio'}</p>\\n                  </div>\\n                </div>\\n              </div>\\n            </template>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Offer footer -->\\n      <div class=\\\"offer-footer\\\">\\n        <!-- User has an account and already activated this offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED'\\\" class=\\\"m-0 authenticated-activated\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Buone notizie! La tua offerta è già stata riscattata* il ${authUserRedeemDate}.\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <div if.bind=\\\"offerStatus !== 'AUTH-USER-ACTIVATED' && offerStatus !== 'SUBUSER-WITHOUT-PERMISSIONS' && offerStatus !== 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"form row m-0\\\">\\n          <template if.bind=\\\"!api.isAuthenticated\\\">\\n            <div class=\\\"col-12 p-0 mb-4\\\">\\n              <p class=\\\"m-0 alert\\\">\\n                <strong class=\\\"mb-2\\\">Se possiedi già un account MultiDialogo <a class=\\\"to-login\\\" href=\\\"login?reroute=${reroute}\\\">clicca qui<i class=\\\"far fa-hand-point-left ms-2\\\"></i></a></strong>\\n                <small>Se invece non sei ancora registrato inserisci la tua email e attiva l'offerta!</small>\\n              </p>\\n            </div>\\n            <div class=\\\"col-12 col-sm-6 p-0\\\"><ka-control name=\\\"email\\\"></ka-control></div> \\n          </template>\\n          <div class=\\\"col-12 col-md-${api.isAuthenticated ? '12' : '6'} p-0 d-flex justify-content-end align-items-end\\\">\\n            <!-- Not yet available offer -->\\n            <ka-button if.bind=\\\"currentDate < offer.startAt\\\" class=\\\"m-0 activation-button\\\">Offerta attivabile dal ${offer.startAt|dateFormat}</ka-button>\\n            <!-- Already available offer -->\\n            <ka-button if.bind=\\\"currentDate >= offer.startAt\\\" class=\\\"m-0 activation-button activable\\\" click.trigger=\\\"activateOffer()\\\">Attiva l'offerta!</ka-button>\\n          </div>\\n        </div>\\n        <!-- user authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta riscattata* correttamente il ${currentDate|dateFormat:'DD/MM/YYYY'}!\\n          <span style=\\\"display:block;margin-left:3rem\\\">Conferma l'attivazione del servizio nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <!-- user not authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'GUEST-USER-ACTIVATED'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta prenotata* correttamente! Per attivarla è necessario registrarsi a MultiDialogo entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n          <span style=\\\"display:block;margin-left:3rem\\\"><a href=\\\"/registrazione\\\" target=\\\"_blank\\\" style=\\\"color:inherit\\\"><strong>Registrati qui</strong></a> e conferma l'attivazione nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- email saved in local storage -->\\n        <p if.bind=\\\"offerStatus === 'EMAIL-ALREADY-STORED'\\\" class=\\\"m-0 email-already-stored\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Buone notizie! La tua offerta è già stata prenotata* utilizzando l'indirizzo email ${localStorageOffer.email}.\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- user has not the required permissions -->\\n        <p if.bind=\\\"offerStatus === 'SUBUSER-WITHOUT-PERMISSIONS'\\\" class=\\\"m-0 authenticated-no-permissions\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Autenticarsi con account principale per attivare l'offerta. Azione non permessa ai ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'}.\\n        </p>\\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"offerExpired\\\" class=\\\"offer-box\\\">\\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <div class=\\\"p-3\\\">\\n        <h2 class=\\\"pt-3\\\">L'offerta Promo '${params.code}' è scaduta!</h2>\\n        <p>Scrivi ad <a href=\\\"mailto:\\\">assistenza@multidialogo.it</a> per richiedere informazioni sulle offerte disponibili.</p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./registrazione.sass\\\"></require>\\n\\n  <div\\n    if.bind=\\\"!pendingAttached\\\"\\n    class=\\\"wrapper\\\">\\n    <div class=\\\"box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"header p-4\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a if.bind=\\\"!params.prospectUuid\\\" href=\\\"login\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content form -->\\n      <div class=\\\"row m-0 p-4\\\">\\n        <h2 class=\\\"col-12 m-0 p-0 pb-4\\\">Crea il tuo account MultiDialogo!</h2>\\n\\n        <!-- First step -->\\n        <section class=\\\"step-section col-12 d-flex p-0 pb-4 mb-3\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0\\\">\\n                  <ka-control \\n                    name=\\\"profile.email\\\"\\n                    change.trigger=\\\"changeEmail()\\\">\\n                  </ka-control>  \\n                </div>        \\n              </div>\\n            </div>\\n          \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n                  <ka-control \\n                    name=\\\"password\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n                  <ka-control \\n                    name=\\\"passwordConfirm\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>      \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Second step -->\\n        <section class=\\\"step-section col-12 p-0 d-flex\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0 mb-3 d-flex align-items-end\\\">\\n                  <ka-control\\n                    readonly.bind=\\\"!editableUsername\\\"\\n                    name=\\\"profile.username\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                  <ka-button\\n                    click.delegate=\\\"changeUsername()\\\"\\n                    disabled.bind=\\\"editableUsername || !resource.data.profile.username\\\"\\n                    class=\\\"m-0 ms-3 flat inverted\\\">Modifica\\n                  </ka-button>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.countryCode\\\"\\n                    client.bind=\\\"api\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('countryCode')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    if.bind=\\\"legalFormTypes && legalForms\\\" \\n                    name=\\\"profile.companyLegalFormCode\\\"\\n                    change.trigger=\\\"changeLegalForm()\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.businessType\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    if.bind=\\\"clients\\\"\\n                    name=\\\"clientUuid\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\"> \\n                  <ka-control \\n                    name=\\\"profile.holderName.companyName\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.firstname\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.lastname\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>                 \\n              </div>\\n            </div>\\n            \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl1Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl1Uuid')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl2Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl1Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl3Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl2Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.zipCode\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.streetAddress\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"ccol-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.fiscalCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.vatCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"phoneNumberRequired\\\"\\n                    name=\\\"profile.phoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"mobilePhoneNumberRequired\\\"\\n                    name=\\\"profile.mobilePhoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.pec\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div if.bind=\\\"prospectUuid\\\" class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.temporary\\\" \\n                    schema.bind=\\\"priceList.schema.temporary\\\">\\n                  </ka-control>\\n                </div> \\n                <div class=\\\"col p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.definitive\\\" \\n                    schema.bind=\\\"priceList.schema.definitive\\\">\\n                  </ka-control>\\n                </div>     \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Privacy acceptance clauses -->\\n        <section if.bind=\\\"!prospectUuid\\\" class=\\\"col-12 p-0 step-section privacy\\\">\\n          <div class=\\\"row m-0 mb-4\\\">\\n            <p>Leggi la nostra informativa sulla <a target=\\\"_blank\\\" href=\\\"https://termsofservice.multidialogo.it/multidialogo/privacy-policy\\\" class=\\\"text-primary\\\">privacy</a> e scegli i consensi che desideri rilasciare a Netbuilder.</p>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_no\\\">\\n                    <label for=\\\"commercialContact_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_yes\\\">\\n                    <label for=\\\"commercialContact_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 pb-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_no\\\">\\n                    <label for=\\\"thirdPartyDisclosure_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_yes\\\">\\n                    <label for=\\\"thirdPartyDisclosure_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <ka-button \\n          style=\\\"width: fit-content; margin-left: auto;\\\"\\n          click.delegate=\\\"registration($event)\\\"\\n          class=\\\"me-0 mb-0 mt-3\\\">Crea account\\n        </ka-button>\\n      </div>\\n    </div>\\n    <p class=\\\"footer m-0 p-0 my-4 text-center\\\">\\n      Software per l'amministrazione condominiale<br>\\n      <small class=\\\"d-inline-block\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"https://www.multidialogo.it/multidialogo\\\" target=\\\"_blank\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n    </p>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invite.scss\\\"></require>\\n  <h2>Invita via email a scaricare l'app MultiCerta</h2>\\n  <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">1</div>\\n        <p class=\\\"step-title\\\">Scarica il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Scarica il seguente modello excel per invitare tramite email i tuoi condomini all'utilizzo di MultiCerta.</p>\\n        </div>\\n        <a class=\\\"ka-button\\\" href=\\\"/static/downloads/modello-invito-multicerta.xls\\\" target=\\\"_blank\\\">Scarica</a>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">2</div>\\n        <p class=\\\"step-title\\\">Compila il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.<br>Il campo <em>email</em> è obbligatorio.</p>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">3</div>\\n        <p class=\\\"step-title\\\">Carica il file</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input class=\\\"no-buttons\\\" config.bind=\\\"{control: 'file'}\\\" label=\\\"File da caricare\\\" placeholder=\\\"Seleziona o trascina qui il file\\\" description=\\\"Dimensione massima 1MB\\\" value.bind=\\\"data.file\\\"></ka-input>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">4</div>\\n        <p class=\\\"step-title\\\">Invia</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Denominazione studio\\\" placeholder=\\\"Es: Studio Mario Rossi\\\" value.bind=\\\"data.mittente\\\"></ka-input>\\n          <ka-button click.delegate=\\\"send($event)\\\" style=\\\"margin-bottom:1rem\\\">Invia</ka-button>\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Invia una prova a:\\\" value.bind=\\\"data.email\\\"></ka-input>\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"test($event)\\\">Invia prova</ka-button>\\n        </div>\\n      </div>\\n\\n    </div>\\n  </ka-flex-row>\\n\\n  <h2>Elenco Inviti</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"multicertaInviteSearchInterface.initialized && multicertaInviteTableInterface\\\">\\n    <md-table-toolbar table.bind=\\\"multicertaInviteTableInterface\\\" search.bind=\\\"multicertaInviteSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"createdAt\\\">Invio</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"expireAt\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"subscribedAt\\\">Sottoscrizione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of multicertaInviteTableInterface.data\\\">\\n            <td><strong class=\\\"limitwidth\\\" ka-tooltip.bind=\\\"record.email\\\" style=\\\"cursor: pointer;\\\">${record.email}</strong></td>\\n            <td>${record.createdAt | dateFormat}</td>\\n            <td>${record.expireAt | dateFormat}</td>\\n            <td><span if.bind=\\\"record.subscribedAt\\\">${record.subscribedAt | dateFormat}</span><span else>N.D.</span></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!multicertaInviteTableInterface.data.length\\\">Nessun invito è stato inviato</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./points-transaction-history.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <md-counter \\n      suffix=\\\"pt\\\" \\n      timeout=\\\"2000\\\"\\n      duration=\\\"3000\\\" \\n      label=\\\"Totale maturati\\\"\\n      end=\\\"${multicoinPoints.totalAmount.amount}\\\"\\n      decimals=\\\"${multicoinPoints.totalAmount.amount >= 50 ? 0 : 1}\\\"\\n      if.bind=\\\"multicoinPoints.totalAmount.amount > 0 && isMdCounterVisible\\\">\\n    </md-counter>\\n\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca\\n        <!-- <md-accordion-button \\n          state=\\\"collapsed\\\"\\n          expand-text=\\\"Mostra ricerca avanzata\\\" \\n          collapse-text=\\\"Nascondi ricerca avanzata\\\" \\n          target=\\\"advancedSearchInterfaceFormSent\\\">\\n        </md-accordion-button> -->\\n      </h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row m-0\\\">\\n            <div class=\\\"col-6 p-0 pe-2\\\">\\n              <md-control \\n                name=\\\"createdAtGte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col-6 p-0 ps-2\\\">\\n              <md-control \\n                name=\\\"createdAtLte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control\\n          client.bind=\\\"api\\\" \\n          name=\\\"sourceUserId\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=\\\"changeSourceUserId()\\\">\\n        </md-control>\\n      </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"context\\\"\\n            buttons=\\\"dropdown\\\"\\n            change.call=\\\"changeContext()\\\"\\n            readonly.bind=\\\"isOperator && !selectedUser\\\">\\n          </md-control>\\n        </div>\\n        <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            client.bind=\\\"api\\\" \\n            name=\\\"sourceUserUuid\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=\\\"changeSourceUserUuid()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"sourceType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"status\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <div class=\\\"activations-list\\\">\\n      <h2 class=\\\"table-title\\\">\\n        <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">\\n          <span static-tooltip=\\\"value.bind: staticTooltipMulticoin\\\">\\n            Elenco dei movimenti\\n          </span>\\n        </p>\\n        <div class=\\\"multicoin-points-container\\\">\\n          <div\\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points ${multicoinPoints.totalAmount.class}\\\">\\n            <span \\n              class=\\\"new-tag\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalAmount.description\\\">\\n              <span>${multicoinPoints.totalAmount.text}:</span>\\n              <span>${multicoinPoints.totalAmount.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalPending.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalPending.description\\\">\\n              <span>${multicoinPoints.totalPending.text}:</span>\\n              <span>${multicoinPoints.totalPending.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalTransferred.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalTransferred.description\\\">\\n              <span>${multicoinPoints.totalTransferred.text}:</span>\\n              <span>${multicoinPoints.totalTransferred.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalBlocked.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalBlocked.description\\\">\\n              <span>${multicoinPoints.totalBlocked.text}:</span>\\n              <span>${multicoinPoints.totalBlocked.amount}</span>\\n            </span>\\n          </div>\\n        </div>\\n      </h2>\\n      <div\\n        class=\\\"table-band\\\" \\n        if.bind=\\\"!isOperator\\\">\\n        <div class=\\\"banner-message white\\\">\\n          <p>\\n            <template if.bind=\\\"userCurrentFidelityCard\\\">\\n              <span class=\\\"card-message ${userCurrentFidelityCard.code}\\\">\\n                <strong if.bind=\\\"userCurrentFidelityCard.status === 'ACTIVE'\\\">Fidelity Card ${userCurrentFidelityCard.title}</strong>\\n                <span if.bind=\\\"userCurrentFidelityCard.status === 'GRACE-PERIOD' && userCurrentFidelityCard.gracePeriodEndAt\\\"><strong class=\\\"interactive\\\">Rinnova Fidelity Card ${userCurrentFidelityCard.title}</strong> entro il <strong>${userCurrentFidelityCard.gracePeriodEndAt|dateFormat:'DD/MM/YY'}</strong></span>\\n              </span>\\n              <span\\n                class=\\\"registration-message\\\"\\n                if.bind=\\\"multicoinRegistrationIssue === 'NOT_REGISTERED'\\\">Ricorda di <strong class=\\\"interactive\\\" static-tooltip=\\\"value.bind: staticTooltipRegistration\\\">registrarti a Multicoin ed iscriviti all'operazione a premi</strong> per poter riscattare i punti.</span>\\n              <span\\n                class=\\\"registration-message\\\"\\n                if.bind=\\\"multicoinRegistrationIssue === 'NOT_PARTICIPANT'\\\">Accedi a Multicoin <strong class=\\\"interactive\\\" static-tooltip=\\\"value.bind: staticTooltipContestSignUp\\\">ed iscriviti all'operazione a premi</strong> per poter riscattare i punti.</span>\\n            </template>\\n            <span else class=\\\"no-card-message\\\" static-tooltip=\\\"value.bind: staticTooltipFidelityCard\\\">\\n              <span>Attiva una fidelity Card!</span>\\n            </span>\\n          </p>\\n        </div>\\n        <div class=\\\"table-buttons\\\">\\n          <ka-button class=\\\"secondary inverted mx-0\\\" click.delegate=\\\"downloadTerms()\\\">Regolamento</ka-button>\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"openMulticoin()\\\">Accedi a Multicoin</ka-button>\\n        </div>\\n      </div>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th>Inserimento</th>\\n                <th>Origine</th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipStatus\\\">Stato</span>\\n                </th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipPoints\\\">Punti</sapn>\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\" id=\\\"transaction-${record.id}\\\">\\n                <td class=\\\"created-at\\\">\\n                  <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                  <div>Alle ore: \\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                  </div>\\n                </td>\\n                <td class=\\\"source\\\">\\n                  <p>${record.sourceUserDisplayName}</p>\\n                  <p \\n                    class=\\\"source-type\\\" \\n                    if.bind=\\\"record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId\\\">\\n                    <span if.bind=\\\"record.status !== 'ACCREDITED'\\\">${sourceTypes[record.sourceType]} ${record.legacySmsQueueId ? 'SMS' : record.sourceQueueMultiSendCode ? 'Multinvio' : ''}:</span>\\n                    ${record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId}\\n                    <a\\n                      class=\\\"reason\\\"\\n                      click.delegate=\\\"dialogReason(record)\\\"\\n                      if.bind=\\\"record.reason && ['OPERATOR-IN','OPERATOR-OUT'].includes(record.sourceType)\\\">\\n                      Vedi dettaglio\\n                    </a>\\n                  </p>\\n                </td>\\n                <td class=\\\"type\\\">\\n                  <span \\n                    class=\\\"new-tag ${getTransactionStatus(record, 'class')}\\\" \\n                    ka-tooltip=\\\"value.bind: getTransactionStatus(record, 'description')\\\">${getTransactionStatus(record, 'text')}\\n                  </span>\\n                  <div if.bind=\\\"record.hasTransferError === 'YES'\\\" class=\\\"transfer-error-details\\\">\\n                    <p click.delegate=\\\"toggleTransferError(record)\\\">\\n                      <span class=\\\"text\\\">Si è verificato un errore!</span> \\n                      <span class=\\\"accordion\\\">Vedi causa</span>\\n                    </p>              \\n                    <div class=\\\"wrapper\\\">\\n                      <p>${record.transferErrorReason}</p>\\n                    </div>\\n                  </div>\\n                </td> \\n                <td class=\\\"points ${getTransactionStatus(record, 'class')}\\\">\\n                  <span>${record.amount}</span>\\n                <p class=\\\"accreditation\\\">\\n                  ${getTransactionStatus(record, 'explanation')}\\n                  <a\\n                    class=\\\"failed-accreditation-detail\\\"\\n                    if.bind=\\\"record.status === 'BLOCKED'\\\"\\n                    click.delegate=\\\"dialogLockedAccreditation(record)\\\">vedi causa\\n                  </a>\\n                </p>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted primary m-0\\\"\\n                    click.delegate=\\\"detail(record, $event)\\\"\\n                    if.bind=\\\"record.sourceQueueUuid || record.sourceFlatServiceSubscriptionUuid || record.legacySmsQueueId\\\">Dettaglio\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n<require from=\\\"./notifiche-anteprima.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div innerhtml.bind=\\\"notification.htmlBody\\\"></div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"myNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"myNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n        </div>\\n\\n        <!-- Templates -->\\n        <ul if.bind=\\\"templates && templates.length\\\" class=\\\"templates\\\">\\n          <li id=\\\"all-templates\\\" click.delegate=\\\"setTemplate('all-templates')\\\">\\n            <i class=\\\"fal fa-folders\\\" style=\\\"font-size: 1.7rem\\\"></i>\\n            <strong class=\\\"label\\\">Tutti i modelli</strong>\\n          </li>\\n          <template repeat.for=\\\"template of templates\\\">\\n            <li id=\\\"${template.code}\\\" click.delegate=\\\"setTemplate(template.code)\\\">\\n              <i class=\\\"fal fa-folder\\\"></i>\\n              <span class=\\\"label\\\">${template.label}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco delle mie notifiche</span>\\n        <ka-button \\n          if.bind=\\\"myNotificationsTableInterface.data\\\" \\n          class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary inverted flat with-icon\\\" \\n          click.delegate=\\\"setAllAsRead(myNotificationsTableInterface)\\\" \\n          disabled.bind=\\\"!myNotificationsTableInterface.data.length\\\">\\n          <i class=\\\"fas fa-bell-slash\\\"></i>\\n          <span>Segna tutte come lette</span>\\n        </ka-button>\\n      </h2>\\n      <template if.bind=\\\"myNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"myNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || myNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"myNotificationsTableInterface.data\\\">\\n          <ul>\\n            <template if.bind=\\\"myNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of myNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: tools.notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>\\n              </template>\\n            </template>\\n            <li if.bind=\\\"!myNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>  \\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"userNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"userNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12 readBy-user\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <md-control if.bind=\\\"privileges.isOperator\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear\\\" change.call=\\\"searchUser()\\\"></md-control>\\n            <ka-control if.bind=\\\"!privileges.isOperator\\\" schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Sottoutente') }\\\" value.bind=\\\"searchSubuser\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </div>\\n\\n        <!-- Subusers -->\\n        <ul if.bind=\\\"!privileges.isOperator && subusers && subusers.length\\\" class=\\\"subusers\\\">\\n          <template repeat.for=\\\"subuser of _subusers || subusers\\\">\\n            <li id=\\\"${subuser.legacyOwnerId}\\\" click.delegate=\\\"setSubuser(subuser)\\\">\\n              <span class=\\\"label\\\">${subuser.ownerDisplayName}</span>\\n              <input if.bind=\\\"subuser.unreadNotificationsCount\\\" type=\\\"text\\\" value.bind=\\\"subuser.unreadNotificationsCount\\\" readonly=\\\"true\\\" class=\\\"counter\\\">\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco notifiche ${user ? 'di '+user.ownerDisplayName : null}</span>\\n        <ka-button if.bind=\\\"userNotificationsTableInterface.data && !privileges.isOperator\\\" class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary\\\" click.delegate=\\\"setAllAsRead(userNotificationsTableInterface)\\\" disabled.bind=\\\"!userNotificationsTableInterface.data.length\\\"><i class=\\\"fas fa-bell-slash me-2 align-baseline\\\"></i>Segna tutte come lette</ka-button>\\n      </h2>\\n      <template if.bind=\\\"userNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"userNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || userNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"userNotificationsTableInterface.data\\\">\\n          <ul>           \\n            <template if.bind=\\\"userNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of userNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive archived pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>            \\n              </template>\\n            </template>\\n            <li if.bind=\\\"!userNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>\\n        <p if.bind=\\\"!userNotificationsTableInterface.data\\\" style=\\\"padding: .5rem 0 .5rem 1rem; margin: 0\\\">Nessun utente selezionato</p>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./copertine.sass\\\"></require>\\n  <h2>Copertine</h2>\\n\\n  <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div \\n      if.bind=\\\"isMasterUser\\\" \\n      class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n      <md-control\\n        name=\\\"target\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeSearchInterfaceDataTarget()\\\">\\n      </md-control>\\n    </div>\\n    <div \\n      if.bind=\\\"IsUserSearchFieldVisible\\\" \\n      class=\\\"col-12 col-md-3 col-lg-3\\\">\\n      <md-control\\n        name=\\\"user\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"changeSearchInterfaceDataUser()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"label\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"status\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 ${isOperator || isPrintOperator? 'col-lg-3' : 'col-lg-6'} d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.resetCovers()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.getCovers()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <h2>\\n    <span>Elenco copertine</span>\\n    <ka-button\\n      if.bind=\\\"isMasterUser\\\"\\n      class=\\\"flat with-icon inverted\\\"\\n      click.delegate=\\\"dialogAddCover($event)\\\">\\n      <i class=\\\"fas fa-plus\\\"></i>\\n      <span>Nuova copertina</span>\\n    </ka-button>\\n  </h2>\\n\\n  <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Titolo</th>\\n            <th if.bind=\\\"isOperator || isPrintOperator\\\">Autore</th>\\n            <th if.bind=\\\"isMasterUser\\\">\\n              <span \\n                class=\\\"info regular\\\"\\n                ka-tooltip=\\\"Una copertina associata allo Studio è sempre utilizzabile. Se associata ai Condomini invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.\\\">\\n                Associati\\n              </span>\\n            </th>\\n            <th>Data inserimento</th>\\n            <th>Aspetto</th>\\n            <th>Stato omologazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span class=\\\"d-block\\\">${record.label}</span>\\n            </td>\\n            <td if.bind=\\\"isOperator || isPrintOperator\\\">\\n              <span>\\n                ${record.authorDisplayName}\\n                <small class=\\\"d-block\\\">ID: ${record.authorId}</small>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"isMasterUser\\\">\\n              <p class=\\\"user-subusers\\\">\\n                <span\\n                  class=\\\"tag user with-icon\\\"\\n                  if.bind=\\\"record.associations.target === 'SELF'\\\">\\n                  Studio \\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"record.associations.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>                 \\n                <span\\n                  class=\\\"tag building with-icon mb-2 me-2\\\"\\n                  if.bind=\\\"record.associations.items\\\"\\n                  repeat.for=\\\"item of record.associations.items\\\">\\n                  ${item.displayName}\\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"item.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>\\n              </p>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <small class=\\\"d-block mb-2\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Stampa:</span> ${record.colorMode === 'BW' ? 'bianco e nero' : 'a colori'}</small>\\n              <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Grammatura:</span> ${record.weight}gr</small>\\n            </td>\\n            <td>\\n              <span class=\\\"tag with-icon ${coverStatuses[record.status].class}\\\">\\n                ${coverStatuses[record.status].text}\\n              </span>\\n              <small\\n                class=\\\"d-block\\\" \\n                if.bind=\\\"record.approvedAt\\\" \\n                style=\\\"margin-top: .8rem\\\">Data approvazione: ${ record.approvedAt|dateFormat:'DD/MM/YYYY' }\\n              </small>\\n            </td>\\n            <td class=\\\"text-end\\\" style=\\\"white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"flat inverted\\\"\\n                if.bind=\\\"isPrintOperator\\\"\\n                click.delegate=\\\"dialogManageCover($event, record)\\\">Gestisci omologazione\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                disabled.bind=\\\"record.status === 'REFUSED'\\\"\\n                class=\\\"inverted primary flat ms-0\\\"\\n                click.delegate=\\\"dialogUserAssociationsWithTheCover(record, $event)\\\">\\n                Modifica associazione\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileDownload.fileDownload(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, record, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"dialogDeleteCover(record.uuid)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>      \\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Non sono presenti copertine</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./add-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h4 class=\\\"important m-0 mb-1\\\">IMPORTANTE!</h4>\\n    <p class=\\\"m-0 mb-3\\\">Per aggiungere una nuova copertina è necessario caricare un file PDF di 4 pagine in formato A4. L'ordine delle pagine è indicato qui sotto.\\n    </p>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Ordine delle pagine nel documento</span>\\n      </span>\\n    </h4>\\n    <ul class=\\\"document\\\">\\n      <li>\\n        <svg viewBox=\\\"0 0 282.7 396.5\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.7\\\" height=\\\"388.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.92)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.9)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">1</tspan></text></g></g></g></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 557.38 396.5\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.52 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.94 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">2</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(376.83 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(395.25 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">3</tspan></text></g></g></g></g><polygon points=\\\"4 4 278.69 4 553.38 4 553.38 392.5 278.69 392.5 4 392.5 4 4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><line x1=\\\"278.69\\\" y1=\\\"4\\\" x2=\\\"278.69\\\" y2=\\\"392.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 282.6 396.4\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.6\\\" height=\\\"388.4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.82)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.8)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">4</tspan></text></g></g></g></svg   >\\n      </li>\\n    </ul>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Disposizione grafica del layout o impaginazione</span>\\n      </span>\\n    </h4>\\n    <div class=\\\"paginated\\\">\\n      <svg viewBox=\\\"0 0 556.38 433.45\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M332.4,138.08c-1.87,1.72-4.28,2.52-7.21,2.37-3.62-.18-6.48-1.57-8.54-4.17-2.07-2.61-3.11-6.1-3.11-10.47,0-4.72,1.18-8.28,3.54-10.67,2.05-2.08,4.66-3,7.83-2.78,4.24.3,7.34,1.99,9.3,5.06,1.08,1.72,1.66,3.42,1.74,5.08-2.11-.13-3.16-.2-5.26-.33-.34-1.3-.78-2.3-1.32-2.98-.96-1.22-2.38-1.9-4.26-2.02-1.91-.13-3.42.59-4.53,2.17-1.11,1.58-1.66,3.88-1.66,6.9s.58,5.32,1.75,6.88c1.17,1.57,2.65,2.4,4.45,2.49,1.85.1,3.25-.47,4.22-1.69.54-.66.98-1.67,1.33-3.03,2.09.12,3.13.18,5.21.3-.46,2.88-1.62,5.18-3.49,6.89Z\\\"/><path d=\\\"M351.04,141.76c-3.6-.18-6.35-1.44-8.25-3.51-2.44-2.66-3.83-6.39-3.83-11.16s1.44-8.43,3.83-10.7c1.9-1.8,4.65-2.77,8.25-2.51,3.6.25,6.35,1.58,8.25,3.63,2.39,2.57,3.81,6.25,3.81,11.04s-1.38,8.21-3.81,10.58c-1.9,1.85-4.65,2.82-8.25,2.64ZM356.02,134.96c1.22-1.53,1.83-3.78,1.83-6.73s-.61-5.25-1.84-6.94c-1.22-1.69-2.88-2.61-4.96-2.74-2.08-.14-3.75.55-4.99,2.09-1.24,1.53-1.86,3.79-1.86,6.77s.62,5.31,1.86,7c1.24,1.68,2.91,2.58,4.99,2.69,2.08.11,3.75-.6,4.97-2.14Z\\\"/><path d=\\\"M377.82,133.11c-2.14-.12-3.21-.19-5.35-.31v9.33c-2.09-.11-3.14-.16-5.23-.27v-26.05c4.39.3,6.58.46,10.97.76,2.53.18,4.55.98,6.05,2.41,1.5,1.43,2.26,3.53,2.26,6.31,0,3.03-.75,5.13-2.26,6.3-1.5,1.17-3.65,1.68-6.44,1.51ZM380.28,127.87c.68-.57,1.03-1.54,1.03-2.88s-.34-2.32-1.03-2.94c-.69-.62-1.66-.97-2.9-1.05-1.96-.13-2.94-.19-4.91-.32v7.64c1.96.12,2.94.18,4.91.3,1.24.08,2.22-.17,2.91-.75Z\\\"/><path d=\\\"M408,132.89c-4.89-.29-7.34-.43-12.24-.72,0,2.63,0,3.94,0,6.57,5.58.3,8.37.46,13.95.76v4.55c-7.64-.39-11.45-.59-19.09-.98v-25.64c7.39.51,11.08.77,18.47,1.28v4.48l-13.33-.88v5.42c4.89.3,7.34.46,12.24.76v4.4Z\\\"/><path d=\\\"M424.51,134.99c-2.17-.13-3.26-.19-5.43-.32v9.85c-2.06-.11-3.09-.16-5.14-.26,0-10.09,0-15.13,0-25.22,4.94.34,7.41.51,12.36.86,1.77.16,3.13.46,4.08.92.95.46,1.76,1.1,2.42,1.9.55.67.98,1.39,1.3,2.18.32.79.48,1.67.48,2.65,0,1.18-.3,2.32-.91,3.43-.6,1.1-1.6,1.85-2.99,2.24,1.16.53,1.99,1.24,2.47,2.11.48.88.73,2.19.73,3.93v1.67c0,1.14.05,1.91.14,2.32.14.64.46,1.14.96,1.47v.62l-5.79-.3c-.16-.56-.27-1.01-.34-1.35-.14-.7-.21-1.43-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.67-.88-3.23-.56-.56-1.62-.89-3.17-.98ZM427.71,130.64c1.05-.41,1.57-1.31,1.57-2.71,0-1.51-.51-2.56-1.52-3.15-.57-.33-1.42-.53-2.56-.61-2.45-.16-3.67-.24-6.12-.4v6.75c2.39.15,3.58.22,5.96.37,1.18.07,2.07,0,2.67-.24Z\\\"/><path d=\\\"M457.39,122.05v4.33c-3.01-.2-4.52-.3-7.54-.5v20.23c-2.12-.11-3.18-.16-5.3-.27,0-8.12,0-12.18,0-20.3-3.03-.2-4.54-.3-7.57-.5v-4.39c8.16.57,12.24.85,20.41,1.41Z\\\"/><path d=\\\"M460.06,122.24c2.09.14,3.14.22,5.23.36,0,9.72,0,14.58,0,24.3-2.09-.11-3.14-.16-5.23-.27,0-9.76,0-14.64,0-24.39Z\\\"/><path d=\\\"M490.57,148.2c-2.11-.11-3.16-.16-5.26-.27-4.12-7.01-6.17-10.55-10.29-17.67,0,6.85,0,10.28,0,17.14-1.96-.1-2.94-.15-4.9-.25,0-9.69,0-14.53,0-24.21,2.21.15,3.31.23,5.52.38,4.01,7.01,6.02,10.49,10.03,17.4v-16.71c1.96.14,2.94.2,4.9.34,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M510.22,144.38c-3.71-.2-5.57-.31-9.28-.51-.7,1.91-1.05,2.86-1.74,4.77-2.2-.11-3.3-.17-5.5-.28,3.6-9.33,5.39-13.97,8.99-23.17,2.38.16,3.57.25,5.95.41,3.57,9.66,5.35,14.45,8.92,23.98-2.28-.12-3.42-.18-5.71-.29-.65-1.96-.97-2.95-1.62-4.91ZM508.75,140.25c-1.26-3.78-1.89-5.67-3.14-9.46-1.3,3.63-1.95,5.44-3.25,9.09,2.56.15,3.83.22,6.39.37Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M401.77,279.61v-4.99c4.66-.65,7.9-1.54,9.74-2.68,1.84-1.14,3.21-3.71,4.12-7.7,2.03-.07,3.05-.1,5.09-.17,0,16.97,0,33.93,0,50.9-2.75.19-4.13.29-6.88.48v-36.37c-4.83.21-7.24.32-12.07.53Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M92.13,137.31c-2.17.13-3.26.19-5.43.32,0,3.8,0,5.7,0,9.5-2.06.11-3.09.16-5.14.26,0-9.65,0-14.48,0-24.13,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.03,4.08.35.95.32,1.76.84,2.42,1.54.55.58.98,1.24,1.3,1.97.32.73.48,1.58.48,2.55,0,1.16-.3,2.33-.91,3.49-.6,1.16-1.6,2.02-2.99,2.56,1.16.38,1.99.98,2.47,1.79.48.81.73,2.07.73,3.79v1.65c0,1.12.05,1.88.14,2.27.14.62.46,1.07.96,1.35v.62c-2.32.12-3.48.18-5.79.3-.16-.53-.27-.96-.34-1.29-.14-.67-.21-1.37-.22-2.09-.01-.91-.02-1.36-.03-2.26-.02-1.56-.32-2.57-.88-3.06-.56-.49-1.62-.68-3.17-.59ZM95.33,132.69c1.05-.53,1.57-1.48,1.57-2.85,0-1.48-.51-2.44-1.52-2.88-.57-.25-1.42-.34-2.56-.26-2.45.16-3.67.24-6.12.4v6.51c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.26,2.67-.56Z\\\"/><path d=\\\"M124.25,134.32c-4.89.29-7.34.43-12.24.72,0,2.54,0,3.81,0,6.34,5.58-.3,8.37-.46,13.95-.76v4.48c-7.64.39-11.45.59-19.09.98,0-9.83,0-14.75,0-24.58,7.39-.51,11.08-.77,18.47-1.28v4.41c-5.33.35-8,.53-13.33.88v5.24c4.89-.3,7.34-.46,12.24-.76v4.32Z\\\"/><path d=\\\"M148.36,118.63v4.48c-3.01.2-4.52.3-7.54.5,0,8.29,0,12.44,0,20.73-2.12.11-3.18.16-5.3.27,0-8.26,0-12.39,0-20.65-3.03.2-4.54.3-7.57.5v-4.42c8.16-.57,12.24-.85,20.41-1.41Z\\\"/><path d=\\\"M162.13,133.22c-2.17.13-3.26.19-5.43.32,0,4,0,5.99,0,9.99-2.06.11-3.09.16-5.14.26,0-10.15,0-15.23,0-25.38,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.04,4.08.38.95.34,1.76.88,2.42,1.63.55.62.98,1.31,1.3,2.08.32.77.48,1.66.48,2.68,0,1.22-.3,2.45-.91,3.66s-1.6,2.11-2.99,2.68c1.16.41,1.99,1.04,2.47,1.89.48.85.73,2.18.73,3.98v1.73c0,1.18.05,1.97.14,2.38.14.65.46,1.13.96,1.42v.65c-2.32.12-3.48.18-5.79.3-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.2-.01-.95-.02-1.43-.03-2.38-.02-1.64-.32-2.71-.88-3.22-.56-.51-1.62-.72-3.17-.63ZM165.33,128.38c1.05-.55,1.57-1.55,1.57-2.99,0-1.55-.51-2.57-1.52-3.03-.57-.26-1.42-.36-2.56-.28l-6.12.4v6.84c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.27,2.67-.58Z\\\"/><path d=\\\"M187.85,142.65c-3.6.18-6.35-.78-8.25-2.6-2.44-2.34-3.83-5.81-3.83-10.45,0-4.73,1.43-8.36,3.83-10.91,1.91-2.02,4.65-3.35,8.25-3.6,3.6-.25,6.35.69,8.25,2.48,2.38,2.24,3.81,5.76,3.81,10.57,0,4.71-1.37,8.4-3.81,11.03-1.91,2.06-4.65,3.29-8.25,3.47ZM192.83,135.38c1.22-1.66,1.83-3.97,1.83-6.92,0-2.93-.61-5.16-1.84-6.69-1.22-1.52-2.88-2.21-4.96-2.07-2.08.14-3.75,1.04-4.99,2.71-1.24,1.66-1.86,3.95-1.86,6.87,0,2.92.62,5.13,1.86,6.65,1.24,1.51,2.91,2.22,4.99,2.11,2.08-.11,3.75-1,4.97-2.66Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M144.8,315.6v-12.57c-9-.55-13.5-.82-22.5-1.37v-6.22c7.92-10.4,15.75-20.86,23.5-31.39,2.18.07,3.27.11,5.45.18,0,11.18,0,22.35,0,33.53,3.02.17,4.54.26,7.56.43,0,2.28,0,3.42,0,5.7-3.02-.18-4.54-.28-7.56-.46,0,5.05,0,7.58,0,12.63-2.58-.18-3.87-.27-6.45-.45ZM144.69,297.38c0-9.35,0-14.02,0-23.37-6.58,9.08-9.87,13.56-16.44,22.43,6.58.38,9.87.56,16.44.94Z\\\"/></g></g></g></g></g></g><path d=\\\"M140.85,410.98c-45.78-6.31-91.56-12.63-137.35-18.94,0-58.44,0-116.87,0-175.31,0-58.44,0-116.87,0-175.31,45.78-6.31,91.56-12.63,137.35-18.94,45.78-6.31,91.56-12.63,137.34-18.94,0,0,183.13,25.26,274.69,37.88v350.62c-91.56,12.63-183.13,25.26-274.69,37.88,0,0-91.56-12.63-137.34-18.94Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"3.53\\\" x2=\\\"278.19\\\" y2=\\\"429.92\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n      <svg viewBox=\\\"0 0 556.38 434.42\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M382.71,127.14c-.54.75-.81,1.72-.79,2.9-1.82.12-2.73.17-4.55.29.04-1.2.24-2.39.63-3.45.36-.95,1.03-1.9,1.88-2.74.62-.61,1.4-1.09,2.27-1.46.88-.36,1.95-.59,3.23-.67,2.37-.16,4.28.31,5.73,1.41,1.45,1.11,2.18,2.68,2.18,4.7,0,1.44-.43,2.67-1.3,3.71-.55.65-1.12,1.11-1.71,1.36.44-.03,1.08.31,1.91,1.01,1.24,1.06,1.86,2.57,1.86,4.53,0,2.06-.73,3.92-2.18,5.56-1.45,1.64-3.6,2.53-6.45,2.67-3.51.18-5.95-.81-7.31-2.97-.72-1.15-1.12-2.68-1.2-4.59,1.91-.11,2.87-.16,4.79-.27,0,.97.16,1.76.48,2.38.59,1.14,1.67,1.66,3.23,1.58.96-.05,1.79-.42,2.5-1.1s1.07-1.63,1.07-2.83c0-1.6-.66-2.63-1.98-3.09-.75-.26-1.94-.34-3.55-.24v-3.41c1.58-.12,2.69-.34,3.32-.66,1.08-.54,1.62-1.52,1.62-2.95,0-.93-.28-1.67-.83-2.21-.55-.54-1.33-.78-2.33-.72-1.15.08-1.99.5-2.53,1.24Z\\\"/><path d=\\\"M397.6,122.58c.91-1.21,2.48-1.89,4.7-2.05,1.45-.1,2.74.09,3.86.58,1.11.49,1.67,1.53,1.67,3.12v6.03c0,.42,0,.93.03,1.53.02.45.09.75.21.91.11.15.28.27.51.36v.51c-1.5.09-2.26.13-3.76.22-.11-.25-.19-.5-.23-.73-.04-.24-.07-.5-.09-.79-.48.55-1.03,1.03-1.64,1.42-.74.47-1.59.72-2.53.78-1.2.07-2.18-.21-2.96-.84s-1.17-1.56-1.17-2.8c0-1.61.63-2.81,1.88-3.61.68-.43,1.69-.77,3.03-1.03.47-.09.71-.14,1.18-.23.64-.12,1.1-.25,1.38-.38.49-.25.73-.59.73-1.03,0-.54-.19-.9-.56-1.08-.38-.18-.93-.24-1.66-.19-.82.06-1.4.3-1.74.73-.24.31-.4.72-.48,1.23-1.33.09-2,.13-3.33.22.07-1.15.39-2.11.97-2.88ZM400.16,131.61c.32.23.72.35,1.2.32.74-.05,1.42-.3,2.05-.78.63-.47.95-1.28.97-2.42v-1.27c-.22.15-.44.27-.66.37-.22.1-.53.19-.91.29-.31.08-.47.12-.79.2-.72.17-1.24.36-1.56.56-.54.35-.8.85-.8,1.5,0,.59.17,1,.5,1.24Z\\\"/><path d=\\\"M432.55,143.95c-4.34.22-6.51.33-10.85.56,0-10.12,0-15.18,0-25.3,4.34-.3,6.51-.45,10.85-.75,1.56-.08,2.86,0,3.9.29,1.77.47,3.2,1.45,4.29,2.96.88,1.21,1.48,2.56,1.79,4.02.32,1.47.48,2.87.48,4.22,0,3.41-.67,6.35-2.02,8.79-1.82,3.29-4.64,5.02-8.44,5.22ZM436.46,124.71c-.8-1.33-2.41-1.92-4.8-1.76-1.94.13-2.91.19-4.85.32v16.57c1.94-.11,2.91-.16,4.85-.26,2.48-.14,4.21-1.47,5.2-4.01.54-1.4.8-3.04.8-4.92,0-2.6-.4-4.59-1.2-5.93Z\\\"/><path d=\\\"M446.56,117.49c2.09-.14,3.14-.22,5.23-.36,0,10.34,0,15.5,0,25.84-2.09.11-3.14.16-5.23.27,0-10.3,0-15.45,0-25.75Z\\\"/><path d=\\\"M332.4,189.68c-1.88,1.66-4.28,2.51-7.21,2.57-3.62.07-6.48-.96-8.54-3.08-2.07-2.12-3.11-5.07-3.11-8.84,0-4.08,1.18-7.26,3.54-9.56,2.05-2,4.66-3.07,7.83-3.19,4.24-.16,7.34,1.03,9.3,3.58,1.08,1.43,1.66,2.89,1.74,4.37-2.11.07-3.16.1-5.26.17-.34-1.12-.78-1.97-1.32-2.53-.96-.99-2.38-1.46-4.26-1.39-1.91.07-3.42.84-4.53,2.32-1.11,1.48-1.66,3.53-1.66,6.16s.58,4.59,1.75,5.87c1.17,1.28,2.65,1.91,4.45,1.87,1.85-.04,3.25-.64,4.22-1.79.54-.62.98-1.55,1.33-2.78,2.09-.05,3.13-.08,5.21-.13-.46,2.6-1.62,4.74-3.49,6.39Z\\\"/><path d=\\\"M351.04,191.75c-3.6.07-6.35-.9-8.25-2.63-2.44-2.23-3.83-5.47-3.83-9.75,0-4.36,1.42-7.67,3.83-9.96,1.9-1.81,4.65-2.96,8.25-3.1,3.6-.14,6.36.81,8.25,2.51,2.39,2.14,3.81,5.42,3.81,9.87s-1.37,7.72-3.81,10.08c-1.9,1.84-4.65,2.91-8.25,2.98ZM356.02,185.18c1.22-1.5,1.83-3.62,1.83-6.34s-.61-4.79-1.84-6.23c-1.22-1.44-2.88-2.12-4.96-2.05-2.08.07-3.75.86-4.99,2.37-1.24,1.5-1.86,3.6-1.86,6.29s.62,4.75,1.86,6.19c1.24,1.43,2.91,2.13,4.99,2.08s3.75-.82,4.97-2.32Z\\\"/><path d=\\\"M377.82,181.75c-2.14.06-3.21.08-5.35.14v8.78c-2.09.04-3.14.06-5.23.1v-24.33c4.39-.16,6.58-.25,10.97-.41,2.53-.09,4.55.46,6.05,1.68s2.26,3.16,2.26,5.83c0,2.91-.75,4.99-2.26,6.24-1.5,1.24-3.65,1.9-6.44,1.97ZM380.28,176.57c.68-.6,1.03-1.55,1.03-2.83s-.34-2.18-1.03-2.7c-.69-.52-1.66-.76-2.9-.72-1.96.07-2.94.1-4.91.17v7.19c1.96-.06,2.94-.09,4.91-.14,1.24-.04,2.21-.36,2.91-.97Z\\\"/><path d=\\\"M408,179.03c-4.89.13-7.34.2-12.24.33v6.39c5.58-.13,8.37-.19,13.95-.32v4.51c-7.64.15-11.45.22-19.09.37v-24.74c7.39-.28,11.08-.41,18.47-.69v4.44c-5.33.18-8,.27-13.33.46v5.27c4.89-.15,7.34-.22,12.24-.37v4.35Z\\\"/><path d=\\\"M424.51,179.71c-2.17.06-3.26.09-5.43.14v9.9c-2.06.04-3.09.06-5.14.1v-25.16c4.94-.18,7.41-.28,12.36-.46,1.77-.03,3.13.14,4.08.5.95.37,1.76.93,2.42,1.69.55.63.98,1.33,1.3,2.1.32.77.48,1.66.48,2.67,0,1.21-.3,2.41-.91,3.6-.6,1.19-1.6,2.04-2.99,2.57,1.16.44,1.99,1.09,2.47,1.95.48.86.73,2.18.73,3.97v1.71c0,1.17.05,1.96.14,2.37.14.65.46,1.13.96,1.44v.64c-2.32.05-3.48.07-5.79.11-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.19-.01-.94-.02-1.42-.03-2.36-.02-1.62-.32-2.69-.88-3.22s-1.62-.77-3.17-.73ZM427.71,175.01c1.05-.51,1.57-1.48,1.57-2.91,0-1.54-.51-2.56-1.52-3.05-.57-.28-1.42-.4-2.56-.36l-6.12.21v6.78c2.39-.07,3.58-.11,5.96-.18,1.18-.03,2.07-.2,2.67-.49Z\\\"/><path d=\\\"M457.39,163.08v4.59c-3.01.1-4.52.15-7.54.26v21.24c-2.12.04-3.18.06-5.3.1v-21.16c-3.03.1-4.54.16-7.57.26v-4.53c8.16-.3,12.24-.46,20.41-.76Z\\\"/><path d=\\\"M460.06,162.98c2.09-.08,3.14-.12,5.23-.2,0,10.43,0,15.65,0,26.08-2.09.04-3.14.06-5.23.1,0-10.39,0-15.59,0-25.99Z\\\"/><path d=\\\"M490.57,188.37l-5.26.1c-4.12-7.43-6.17-11.12-10.29-18.45,0,7.46,0,11.19,0,18.65-1.96.04-2.94.06-4.9.1v-26.17c2.21-.08,3.31-.12,5.52-.21,4.01,7.18,6.02,10.8,10.03,18.09v-18.46c1.96-.07,2.94-.11,4.9-.18,0,10.61,0,15.92,0,26.53Z\\\"/><path d=\\\"M510.22,182.46c-3.71.09-5.57.13-9.28.21-.7,2.21-1.05,3.32-1.74,5.53-2.2.04-3.3.06-5.5.11,3.01-8.97,6.01-17.94,8.99-26.92,2.38-.09,3.57-.13,5.95-.22,2.99,8.89,5.96,17.78,8.92,26.68-2.28.04-3.42.07-5.71.11-.65-2.2-.97-3.3-1.62-5.49ZM508.75,177.87c-1.26-4.19-1.89-6.29-3.14-10.46-1.3,4.26-1.95,6.39-3.25,10.63,2.56-.07,3.83-.1,6.39-.17Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M400.61,311.2c-2.73-3.48-4.1-7.56-4.1-12.27,2.69.16,4.04.24,6.74.4.29,3.31.91,5.74,1.86,7.29,1.67,2.79,4.69,4.33,9.06,4.62,3.39.23,6.11-.5,8.17-2.19,2.05-1.69,3.08-3.98,3.08-6.87,0-3.56-1.08-6.11-3.24-7.65-2.16-1.53-5.17-2.4-9.01-2.6-.43-.02-.87-.04-1.31-.05-.44-.01-.89-.02-1.34-.02v-5.68c.67.1,1.23.18,1.68.23.45.05.94.08,1.47.11,2.41.12,4.39-.17,5.95-.86,2.72-1.21,4.08-3.55,4.08-7.01,0-2.57-.91-4.59-2.72-6.05-1.82-1.46-3.93-2.23-6.34-2.33-4.3-.16-7.27,1.15-8.92,3.93-.91,1.53-1.42,3.73-1.54,6.62-2.55-.12-3.83-.17-6.38-.29,0-3.77.76-6.95,2.29-9.53,2.63-4.62,7.25-6.84,13.86-6.62,5.23.18,9.28,1.48,12.15,3.93,2.87,2.45,4.3,5.92,4.3,10.38,0,3.19-.85,5.73-2.54,7.62-1.05,1.18-2.41,2.07-4.08,2.68,2.7.88,4.81,2.43,6.32,4.65,1.52,2.22,2.27,4.88,2.27,7.97,0,4.95-1.61,8.89-4.84,11.78-3.22,2.89-7.8,4.11-13.72,3.69-6.07-.43-10.47-2.4-13.2-5.88Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M113.18,123.28c-.58-.75-1.41-1.16-2.5-1.23-1.48-.1-2.49.4-3.03,1.5-.31.63-.49,1.66-.55,3.08-1.89-.12-2.84-.18-4.73-.3.08-2.16.46-3.89,1.14-5.17,1.3-2.45,3.61-3.56,6.92-3.33,2.62.18,4.71,1.07,6.25,2.65,1.55,1.58,2.32,3.58,2.32,6.01,0,1.86-.55,3.48-1.64,4.87-.72.92-1.9,1.92-3.54,3.01-.78.52-1.17.78-1.95,1.3-1.22.81-2.05,1.41-2.5,1.78-.45.37-.83.81-1.14,1.32,4.33.24,6.49.35,10.82.59v4.36c-6.79-.35-10.18-.52-16.97-.87.04-1.82.49-3.49,1.14-4.94.72-1.59,2.34-3.36,4.92-5.1,2.24-1.51,3.7-2.6,4.36-3.27,1.01-1.04,1.52-2.22,1.52-3.53,0-1.07-.29-1.97-.87-2.72Z\\\"/><path d=\\\"M122.6,120.12c.91-1.12,2.48-1.59,4.7-1.44,1.45.1,2.74.48,3.86,1.13,1.12.65,1.67,1.78,1.67,3.38v6.1c0,.42,0,.94.03,1.55.02.46.09.77.21.94.11.17.28.31.51.43v.52c-1.5-.09-2.26-.13-3.76-.22-.11-.27-.19-.53-.23-.77-.04-.24-.07-.52-.09-.82-.48.5-1.03.93-1.64,1.25-.74.39-1.59.54-2.53.49-1.2-.07-2.18-.48-2.96-1.21-.78-.74-1.17-1.75-1.17-3.02,0-1.65.63-2.81,1.88-3.46.68-.35,1.69-.56,3.03-.65.47-.03.71-.05,1.18-.08.64-.04,1.1-.11,1.38-.2.49-.19.73-.5.73-.95,0-.55-.19-.94-.56-1.17s-.93-.37-1.66-.42c-.82-.06-1.4.11-1.74.5-.24.28-.4.68-.48,1.2-1.33-.09-2-.13-3.33-.22.07-1.17.39-2.12.97-2.83ZM125.16,129.7c.32.28.72.44,1.2.47.74.05,1.42-.13,2.05-.54.63-.4.95-1.18.97-2.34v-1.29c-.22.12-.44.22-.66.29-.22.07-.53.13-.91.17-.31.04-.47.06-.79.1-.72.08-1.24.2-1.56.37-.54.29-.8.77-.8,1.44,0,.6.17,1.04.5,1.33Z\\\"/><path d=\\\"M157.55,145.69c-4.34-.22-6.51-.33-10.85-.56,0-10.03,0-15.05,0-25.09,4.34.3,6.51.45,10.85.75,1.56.13,2.86.4,3.9.81,1.77.69,3.2,1.84,4.29,3.44.88,1.29,1.48,2.66,1.79,4.11.32,1.45.48,2.82.48,4.12,0,3.29-.67,6.03-2.02,8.24-1.82,2.98-4.64,4.38-8.44,4.18ZM161.46,127.4c-.8-1.4-2.41-2.18-4.8-2.34-1.94-.13-2.91-.19-4.85-.32,0,6.52,0,9.79,0,16.31,1.94.11,2.91.16,4.85.26,2.48.14,4.21-.98,5.2-3.34.54-1.29.8-2.85.8-4.68,0-2.52-.4-4.5-1.2-5.9Z\\\"/><path d=\\\"M171.56,121.77c2.09.14,3.14.22,5.23.36,0,9.82,0,14.73,0,24.55-2.09-.11-3.14-.16-5.23-.27,0-9.86,0-14.78,0-24.64Z\\\"/><path d=\\\"M57.4,186.21c-1.87,1.78-4.28,2.65-7.21,2.6-3.62-.07-6.48-1.36-8.54-3.89-2.07-2.54-3.11-6.01-3.11-10.37,0-4.72,1.18-8.32,3.54-10.78,2.05-2.14,4.66-3.15,7.83-3.03,4.24.16,7.34,1.75,9.3,4.76,1.08,1.69,1.66,3.36,1.74,5.03-2.11-.07-3.16-.1-5.26-.17-.34-1.29-.78-2.27-1.32-2.94-.96-1.19-2.38-1.82-4.26-1.89-1.91-.07-3.42.7-4.53,2.32-1.11,1.61-1.66,3.93-1.66,6.95s.58,5.3,1.75,6.83c1.17,1.53,2.65,2.31,4.45,2.35,1.85.04,3.25-.57,4.22-1.83.54-.68.98-1.7,1.33-3.07,2.09.05,3.13.08,5.21.13-.46,2.89-1.62,5.23-3.49,7.01Z\\\"/><path d=\\\"M76.04,189.3c-3.6-.07-6.35-1.23-8.25-3.25-2.44-2.58-3.83-6.27-3.83-11.04s1.44-8.48,3.83-10.82c1.9-1.86,4.65-2.92,8.25-2.78,3.6.14,6.35,1.38,8.25,3.37,2.39,2.49,3.81,6.13,3.81,10.92s-1.38,8.25-3.81,10.7c-1.9,1.91-4.65,2.97-8.25,2.9ZM81.02,182.34c1.22-1.57,1.83-3.84,1.83-6.79s-.61-5.24-1.84-6.89c-1.22-1.65-2.88-2.51-4.96-2.59-2.08-.07-3.75.67-4.99,2.25-1.24,1.57-1.86,3.85-1.86,6.83s.62,5.3,1.86,6.94c1.24,1.64,2.91,2.49,4.99,2.53,2.08.05,3.75-.72,4.97-2.29Z\\\"/><path d=\\\"M102.82,179.79c-2.14-.06-3.21-.08-5.35-.14v9.34c-2.09-.04-3.14-.06-5.23-.1,0-10.42,0-15.64,0-26.06,4.39.16,6.58.25,10.97.41,2.53.09,4.55.84,6.05,2.22,1.5,1.38,2.26,3.46,2.26,6.24,0,3.03-.75,5.16-2.26,6.38-1.5,1.22-3.65,1.79-6.44,1.72ZM105.28,174.47c.68-.59,1.03-1.57,1.03-2.91s-.34-2.31-1.03-2.91c-.69-.59-1.66-.91-2.9-.96-1.96-.07-2.94-.1-4.91-.17,0,3.06,0,4.59,0,7.65,1.96.06,2.94.09,4.91.14,1.24.04,2.22-.25,2.91-.85Z\\\"/><path d=\\\"M133,178.61c-4.89-.13-7.34-.2-12.24-.33v6.57c5.58.13,8.37.19,13.95.32v4.55c-7.64-.15-11.45-.22-19.09-.37v-25.64c7.39.28,11.08.41,18.47.69v4.48c-5.33-.18-8-.27-13.33-.46v5.43c4.89.15,7.34.22,12.24.37v4.4Z\\\"/><path d=\\\"M149.51,180.18c-2.17-.06-3.26-.09-5.43-.14v9.86c-2.06-.04-3.09-.06-5.14-.1v-25.22c4.94.18,7.41.28,12.36.46,1.77.1,3.13.37,4.08.79.95.43,1.76,1.04,2.42,1.83.55.65.98,1.36,1.3,2.14.32.78.48,1.65.48,2.63,0,1.18-.3,2.33-.91,3.46s-1.6,1.9-2.99,2.34c1.16.5,1.99,1.17,2.47,2.04.48.86.73,2.16.73,3.91v1.67c0,1.14.05,1.91.14,2.31.14.64.46,1.12.96,1.44v.62c-2.32-.05-3.48-.07-5.79-.11-.16-.56-.27-1-.34-1.34-.14-.7-.21-1.42-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.66-.88-3.21-.56-.55-1.62-.84-3.17-.88ZM152.71,175.72c1.05-.44,1.57-1.36,1.57-2.76,0-1.51-.51-2.54-1.52-3.1-.57-.31-1.42-.49-2.56-.53-2.45-.08-3.67-.13-6.12-.21v6.75c2.39.07,3.58.11,5.96.18,1.18.03,2.07-.07,2.67-.33Z\\\"/><path d=\\\"M182.39,166.19v4.33c-3.01-.1-4.52-.15-7.54-.26,0,8.09,0,12.14,0,20.23-2.12-.04-3.18-.06-5.3-.1,0-8.12,0-12.18,0-20.31-3.03-.1-4.54-.16-7.57-.26v-4.39c8.16.3,12.24.46,20.41.76Z\\\"/><path d=\\\"M185.06,166.29c2.09.08,3.14.12,5.23.2,0,9.72,0,14.58,0,24.31-2.09-.04-3.14-.06-5.23-.1,0-9.76,0-14.64,0-24.4Z\\\"/><path d=\\\"M215.57,191.28c-2.11-.04-3.16-.06-5.26-.1-4.12-6.88-6.17-10.35-10.29-17.34,0,6.86,0,10.28,0,17.14-1.96-.04-2.94-.06-4.9-.1,0-9.69,0-14.53,0-24.22,2.21.08,3.31.12,5.52.21,4.01,6.89,6.02,10.3,10.03,17.09v-16.71c1.96.07,2.94.11,4.9.18,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M235.22,186.83c-3.71-.09-5.57-.13-9.28-.21-.7,1.93-1.05,2.9-1.74,4.83-2.2-.04-3.3-.06-5.5-.11,3.6-9.45,5.39-14.14,8.99-23.46,2.38.09,3.57.13,5.95.22,3.57,9.55,5.35,14.29,8.92,23.7-2.28-.04-3.42-.07-5.71-.11-.65-1.94-.97-2.92-1.62-4.86ZM233.75,182.74c-1.26-3.74-1.89-5.61-3.14-9.36-1.3,3.67-1.95,5.51-3.25,9.2l6.39.17Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M125.47,305.22c1.59-3.41,4.69-6.59,9.3-9.53,2.75-1.75,4.13-2.62,6.88-4.36,3.08-1.95,5.24-3.58,6.48-4.91,1.96-2.07,2.94-4.37,2.94-6.91,0-2.97-.9-5.29-2.69-6.97-1.79-1.68-4.18-2.47-7.16-2.35-4.42.17-7.48,1.96-9.17,5.41-.91,1.85-1.41,4.38-1.5,7.59-2.62.12-3.93.18-6.56.3.07-4.52.9-8.25,2.47-11.15,2.79-5.13,7.73-7.79,14.8-8.02,5.88-.2,10.17,1.24,12.88,4.29,2.71,3.05,4.07,6.48,4.07,10.32,0,4.06-1.45,7.59-4.33,10.63-1.67,1.77-4.67,3.96-8.99,6.61-1.96,1.2-2.94,1.8-4.91,3-2.34,1.43-4.18,2.77-5.52,4.03-2.39,2.23-3.89,4.65-4.51,7.24,9.34-.61,18.68-1.23,28.01-1.84v6.02c-11.74.82-23.48,1.64-35.22,2.47.24-4.49,1.15-8.45,2.74-11.85Z\\\"/></g></g></g></g></g></g><path d=\\\"M278.19,392.52c-45.78,6.31-91.56,12.63-137.34,18.94-45.78,6.31-91.56,12.63-137.35,18.94,0-71.06,0-142.13,0-213.19,0-71.06,0-142.13,0-213.19,45.78,6.31,91.56,12.63,137.35,18.94,45.78,6.31,91.56,12.63,137.34,18.94h0c91.56-12.63,183.13-25.26,274.69-37.88v426.38c-91.56-12.63-183.13-25.26-274.69-37.88h0Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"41.9\\\" x2=\\\"278.19\\\" y2=\\\"392.52\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"fileData\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"colorMode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.target\\\"\\n        change.trigger=\\\"changeAssociationsTarget()\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        client.bind=\\\"api\\\" \\n        name=\\\"associations.items\\\" \\n        change.trigger=\\\"changeAssociationsItems()\\\"\\n        if.bind=\\\"resource.data.associations.target === 'SUBUSERS'\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile.<br>Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</small>\\n      </p>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.presets\\\"\\n        readonly.bind=\\\"!resource.data.associations.target || (resource.data.associations.target === 'SUBUSERS' && !resource.data.associations.items.length)\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione</small>\\n      </p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"ms-0\\\" click.delegate=\\\"addCover($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./manage-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"cover\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"color\\\"></ka-control>\\n    </div>\\n    <h2>\\n      <span>Omologazione</span>\\n      <ka-button\\n        class=\\\"flat with-icon inverted secondary me-4\\\"\\n        click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${cover.uuid}/download`, 'pdf', $event)\\\">\\n        <i class=\\\"far fa-eye\\\"></i>\\n        <span>Visualizza PDF</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row my-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"status\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"refusalReason\\\"\\n        if.bind=\\\"resource.data.status === 'REFUSED'\\\">\\n      </ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\" \\n      click.delegate=\\\"manageCover()\\\"\\n      if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PREFERENCES_SENDER_LETTER_COVERS')\\\">Salva \\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./user-associations-with-the-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"m-3\\\">\\n      <p class=\\\"alert regular m-0\\\"><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile. Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</p>\\n      <p class=\\\"m-0\\\">L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione.</p>\\n      <div class=\\\"row mt-3 align-items: center\\\">\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"target\\\" \\n          buttons=\\\"dropdown\\\"\\n          change.trigger=\\\"changeTarget()\\\">\\n        </ka-control>\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"default\\\"\\n          if.bind=\\\"resource.data.target === 'SELF'\\\"> \\n        </ka-control>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"resource.data.target === 'SUBUSERS'\\\">\\n      <h2>Ricerca condomini</h2>\\n      <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div \\n          if.bind=\\\"!isOperator && !isPrintOperator\\\" \\n          class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n          <md-control name=\\\"items\\\" buttons=\\\"clear\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"reset()\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">Elenco condomini</h2>\\n      <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n                <th style=\\\"width: 1%\\\">\\n                  Associazione\\n                </th>\\n                <th style=\\\"width: 1%\\\">\\n                  Configurazione\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\">\\n                <td class=\\\"denominazione\\\" style=\\\"vertical-align: middle\\\">${record.displayName}\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    class=\\\"me-4\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Al condominio' }\\\">\\n                  </ka-control>                \\n                </td>\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    if.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isDefault\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Predefinita' }\\\">\\n                  </ka-control>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n              <tr>\\n                <td colspan=\\\"4\\\">\\n                  <span>Nessun ${mdt.parsers.contextualize(api.user, 'sottoutente')} trovato</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary m-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button click.delegate=\\\"saveUserAssociationsWithCover()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./autorizzazioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <small class=\\\"limitwidth-40\\\">Richiedente: <strong>${request.trustee.displayName}</strong></small>\\n      <small class=\\\"limitwidth-40\\\">Proprietario del conto: <strong>${request.owner.displayName}</strong></small>\\n    </p>\\n    <ka-control name=\\\"status\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'PENDING-ACTIVATION'\\\" name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'REFUSED'\\\" name=\\\"refusalReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\">Invia</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-create-request.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0 ${pending ? 'd-block' : 'd-none'}\\\">Caricamento in corso...</p>\\n    <div class=\\\"${!pending ? 'd-block' : 'd-none'}\\\">\\n      <ka-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setUserId()\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.trigger=\\\"subuserChanged()\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.schema.billingProfile.datasource.length\\\" name=\\\"billingProfile\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.context || (resource.data.context === 'SUBUSER' && !resource.data.subuser)\\\" class=\\\"mt-3\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"send($event)\\\">Invia richiesta</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav.sass\\\"></require>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca richieste MAV</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col ps-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col pe-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"trusteeDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"ownerDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeSubServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 \\n      style=\\\"line-height: 1.6; min-height: 3rem; padding: 1rem\\\"\\n      class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">Elenco richieste MAV\\n      <!-- MAV request creation -->\\n      <ka-button \\n        if.bind=\\\"isMAVrequestCreatable()\\\"\\n        click.delegate=\\\"dialogMAVRequestCreation()\\\"\\n        class=\\\"inverted flat with-icon align-self-start m-0 ms-3\\\">\\n        <i class=\\\"fas fa-plus\\\"></i>\\n        <span>Richiedi autorizzazione MAV</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\">\\n      <!-- MAV requests CSV download -->\\n      <button\\n        class=\\\"toolbar-button\\\"\\n        ka-tooltip=\\\"Scarica in formato csv\\\"\\n        if.bind=\\\"isMAVrequestsCSVDownloadable()\\\"\\n        click.delegate=\\\"MAVrequestsCSVDownload()\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di invio</md-table-sort></th>\\n            <th>Richiedente</th>\\n            <th>Proprietario conto</th>\\n            <th>IBAN</th>\\n            <th>\\n              <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"trusteeServiceCode\\\">Cod. servizio</md-table-sort>\\n            </th>\\n            <th>Cod. sottoservizio</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pending\\\">\\n          <tr repeat.for=\\\"request of tableInterface.data\\\" class=\\\"request ${request.status === 'REFUSED' ? 'refused' : request.status === 'APPROVED' ? 'approved' : request.status === 'DELETED' ? 'cancelled' : ''}\\\">\\n            <td>\\n              <span>${request.createdAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n              <small>Alle ore ${request.createdAt|dateFormat:'HH:mm'}</small>\\n            </td>\\n            <td>${request.trustee.displayName}</td>\\n            <td>${request.owner.displayName}</td>\\n            <td>${request.billingProfileIban}</td>\\n            <td>${request.trustee.serviceCode ? request.trustee.serviceCode : 'Non assegnato' }</td>\\n            <td css=\\\"${request.status === 'DELETED' ? 'text-decoration: line-through' : ''}\\\">${request.trustee.subServiceCode ? request.trustee.subServiceCode : 'Non assegnato'}</td>\\n            <td>\\n              <span class=\\\"tag with-icon ${mavRequestModel.statuses[request.status].class} mt-2\\\">\\n                ${mavRequestModel.statuses[request.status].text}\\n              </span>\\n              <div class=\\\"mt-2\\\">\\n                <small\\n                  class=\\\"status-reason ${request.refusalReason ? 'refused' : ''}\\\"\\n                  ka-tooltip=\\\"value.bind: request.refusalReason  ? 'Motivo del rifiuto: '+request.refusalReason : ''\\\">\\n                  ${mavRequestModel.displayText(request)}\\n                </small>\\n              </div>\\n            </td>\\n            <td style=\\\"display: flex; justify-content: flex-end\\\">\\n              <!-- MAV request approval -->\\n              <ka-button\\n                if.bind=\\\"privileges.isBankOperator\\\"\\n                class=\\\"flat inverted with-icon m-0\\\"\\n                click.delegate=\\\"MAVrequestApproval(request)\\\"\\n                disabled.bind=\\\"IsMAVrequestApprovalDisabled(request.status)\\\" \\n                ka-tooltip.bind=\\\"request.status === 'PENDING-DOCUMENT-DOWNLOAD' ? 'Collezione documenti in attesa di essere scaricata' : 'Gestisci richiesta'\\\">\\n                <i class=\\\"far fa-box-check\\\"></i>\\n                <span>Omologa</span>\\n              </ka-button>\\n              <!-- MAV Collection download -->\\n              <ka-button\\n                class=\\\"flat secondary inverted icon ms-2\\\"\\n                click.delegate=\\\"MAVcollectionDownload(request)\\\" \\n                ka-tooltip.bind=\\\"'Scarica la collezione di documenti'\\\"\\n                disabled.bind=\\\"IsMAVcollectionDownloadDisabled(request.status)\\\">\\n                <i class=\\\"far fa-folder-download\\\"></i>\\n              </ka-button>\\n              <!-- Delete MAV request -->\\n              <ka-button\\n                if.bind=\\\"privileges.isOperator\\\"\\n                class=\\\"flat inverted secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                disabled.bind=\\\"isMAVRequestDeletionDisabled(request)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessuna richiesta di autorizzazione MAV trovata</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"info\\\">\\n      Oltre a scaricarli, desideri contabilizzare i flussi selezionati?\\n    </p>  \\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\" style=\\\"border-top: 1px solid #e5e5e5;\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(false)\\\">No grazie</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(true)\\\">Segna come contabilizzati</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n   <style>\\n    .checkboxes { display: flex; }\\n    .checkboxes ka-control { width: auto; }\\n    .checkboxes ka-control + ka-control { margin-left: 1rem; }\\n   </style>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>\\n      Ricerca flussi CBI - Esiti pagamento MAV\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceMav\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-lg-3\\\">\\n        <md-control \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          name=\\\"billingProfileOwnerDisplayName\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"iban\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"accounted\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"showDisabled\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"downloaded\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceMav\\\" class=\\\"col\\\">\\n        <div class=\\\"row g-3\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-3 d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">\\n      <span>Elenco flussi CBI - Esiti di pagamento MAV</span>\\n      <div>\\n        <small if.bind=\\\"!select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Seleziona i flussi CBI che vuoi esportare</span>\\n        </small>\\n        <small if.bind=\\\"select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">\\n            ${selectedArray.length} ${selectedArray.length === 1 ? 'flusso selezionato' : 'flussi selezionati'} su ${tableInterface.total} totali\\n          </span>\\n        </small>\\n        <ka-button\\n          click.delegate=\\\"openLostIdsPaymentStatusPage($event)\\\"\\n          class=\\\"inverted flat ms-0\\\">Esiti MAV\\n        </ka-button>\\n        <ka-button\\n          click.delegate=\\\"resetSelectedCbis()\\\"\\n          disabled.bind=\\\"!select.someRecordsSelected\\\"\\n          class=\\\"inverted flat ms-0\\\">Reset\\n        </ka-button>\\n        <ka-button\\n          click.delegate=\\\"exportSelectedCbis()\\\"\\n          disabled.bind=\\\"!select.someRecordsSelected\\\"\\n          class=\\\"inverted flat\\\">Esporta selezionati\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th>Codice sottoservizio</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Disponibile dal</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"billingProfileOwnerDisplayName\\\">Intestatario conto</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"lastDownloadedAt\\\">Data di scaricamento</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td click.trigger=\\\"select.someRecords(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.uuid]\\\" style=\\\"pointer-events: none;\\\">\\n            </td>\\n            <td>${record.subServiceCode}\\n              <small style=\\\"display: block;\\\">${record.serviceCode}</small>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              ${record.billingProfileOwnerDisplayName}\\n              <small if.bind=\\\"record.billingProfileOwnerIban\\\"><br>${record.billingProfileOwnerIban}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"record.lastDownloadedAt\\\">\\n                <span>File scaricato il ${record.lastDownloadedAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n                <small>Alle ore ${record.lastDownloadedAt|dateFormat:'HH:mm'}</small>\\n              </span>\\n              <span else>\\n                File non scaricato\\n              </span>\\n            </td>\\n            <td class=\\\"ka-tr-tools\\\">\\n              <button\\n                click.trigger=\\\"accountFor(record)\\\"\\n                ka-tooltip.bind=\\\"record.accounted === 'YES' ? 'Segna come non contabilizzata' : 'Segna come contabilizzata'\\\"\\n                class=\\\"ka-table-button ${record.accounted === 'YES' ? 'primary' : ''}\\\">\\n                <i class=\\\"material-icons\\\">savings</i>\\n              </button>\\n              <button click.delegate=\\\"download(record)\\\" ka-tooltip=\\\"Scarica file\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"material-icons\\\">save_alt</i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./sent-mavs.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-4\\\">\\n        <md-control \\n          name=\\\"owner\\\" \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-4\\\">\\n        <md-control\\n          name=\\\"payerName\\\"\\n          buttons=\\\"clear\\\"\\n          placeholder=\\\"nominativo stampato sul MAV\\\"\\n          submit.call=\\\"search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-4\\\">\\n        <md-control \\n          name=\\\"status\\\" \\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <h2>\\n      <span>Elenco bollettini MAV inviati<span class=\\\"last-updated-at\\\" if.bind=\\\"lastUpdatedAt\\\">Aggiornato al ${lastUpdatedAt | dateFormat:'DD/MM/YY HH:mm'}</span></span>\\n      <ka-button\\n        click.delegate=\\\"refresh($event)\\\"\\n        class=\\\"inverted secondary flat with-icon\\\">\\n        <i class=\\\"far fa-sync\\\"></i>\\n        <span>Aggiorna elenco</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th class=\\\"info-tooltip\\\"><span ka-tooltip=\\\"value.bind: infoTooltipDateCreated\\\">Data creazione</span></th>\\n            <th>Spedizione</th>\\n            <th>Stato messaggio</th>\\n            <th>Bollettino</th>\\n            <th class=\\\"info-tooltip\\\"><span ka-tooltip=\\\"value.bind: infoTooltipRecipient\\\">${ownerTitle}</span></th>\\n            <th>Importo</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td class=\\\"created-at\\\">\\n                ${record.queue.createdAt | dateFormat:'DD/MM/YY'}\\n                <div>Alle ore: ${record.queue.createdAt | dateFormat:'HH:mm'}</div>\\n              </td>\\n              <td>\\n                <small class=\\\"limitwidth\\\">Proprietario:\\n                  <span class=\\\"text-color\\\">${record.queue.owner}</span>\\n                </small>\\n                <small class=\\\"limitwidth\\\">Etichetta:\\n                  <span\\n                    class=\\\"text-color copy-text with-icon d-inline-flex align-items-baseline\\\"\\n                    ka-tooltip=\\\"Copia etichetta spedizione\\\"\\n                    click.delegate=\\\"mdt.general.copyText(record.queue.topic, 'Etichetta spedizione', toast)\\\"><span class=\\\"limitwidth-20\\\">${record.queue.topic}</span></span>\\n                </small>\\n                <small>Codice spedizione:\\n                  <span\\n                    class=\\\"text-color interactive link external\\\"\\n                    ka-tooltip=\\\"Apri il dettaglio della spedizione\\\"\\n                    click.delegate=\\\"navigateToQueueDetail(record)\\\">${record.queue.sendCode}</span>\\n                </small>\\n              </td>\\n              <td>\\n                <span\\n                  class=\\\"new-tag clickable mb-3 ${queueMessages.getQueueMessageStatusCodeGroupValue(record.queueMessage.status.code, 'new-tag')}\\\"\\n                  ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription(record.queueMessage.status.code)+`<span style='display: block; margin-top: .5rem'>Clicca per visualizzare lo storico.</span>`\\\"\\n                  click.delegate=\\\"dialogStatusHistory(record)\\\">${queueMessages.getQueueMessageStatusCodeLabel(record.queueMessage.status.code)}</span>\\n                <small class=\\\"limitwidth\\\" if.bind=\\\"record.channelLabel\\\">Canale d'invio:\\n                  <span class=\\\"text-color\\\">${record.channelLabel}</span>\\n                </small>\\n                <small class=\\\"limitwidth\\\" if.bind=\\\"record.postageLabel\\\">Affrancatura:\\n                  <span class=\\\"text-color\\\">${record.postageLabel}</span>\\n                </small>\\n                <small class=\\\"limitwidth\\\" if.bind=\\\"record.vectorLabel\\\">Vettore:\\n                  <span class=\\\"text-color\\\">${record.vectorLabel}</span>\\n                </small>\\n                <small class=\\\"limitwidth\\\" if.bind=\\\"record.alternativeChannelLabel\\\">Canale alternativo:\\n                  <span class=\\\"text-color\\\">${record.alternativeChannelLabel}</span>\\n                </small>\\n              </td>\\n              <td>\\n                <small class=\\\"limitwidth\\\">Intestatario:\\n                  <span class=\\\"text-color\\\">${record.payerName}</span>\\n                </small>\\n                <small if.bind=\\\"record.iban\\\">IBAN:\\n                  <span\\n                    class=\\\"text-color copy-text with-icon\\\"\\n                    ka-tooltip=\\\"Copia IBAN\\\"\\n                    click.delegate=\\\"mdt.general.copyText(record.iban, 'IBAN', toast)\\\">${record.iban}</span>\\n                </small>\\n                <small if.bind=\\\"record.authorizationUuid\\\">Autorizzazione:\\n                  <span\\n                    class=\\\"text-color interactive link external\\\"\\n                    ka-tooltip=\\\"Apri il profilo di fatturazione con questa autorizzazione\\\"\\n                    click.delegate=\\\"navigateToAuthorization(record)\\\">${record.authorizationUuid}</span>\\n                </small>\\n                <small class=\\\"reason\\\" if.bind=\\\"record.reason\\\">Causale:\\n                  <span class=\\\"text-color\\\">${record.reason}</span>\\n                </small>\\n              </td>\\n              <td>${record.queueMessage.owner}</td>\\n              <td class=\\\"amount\\\">\\n                <span if.bind=\\\"record.amount\\\" class=\\\"currency\\\">${record.amount}</span>\\n              </td>\\n              <td class=\\\"management\\\">\\n                <div>\\n                  <md-split-button label=\\\"Opzioni\\\">\\n                    <button class=\\\"options\\\">Gestisci</button>\\n                    <ul class=\\\"source d-none\\\">\\n                      <li>\\n                        <div \\n                          md-action=\\\"{ icon: 'far fa-eye' }\\\" \\n                          click.delegate=\\\"mdFileViewer.fileViewer(`users/me/mavs/${record.uuid}/downloads`, 'pdf', event)\\\">Visualizza bollettino</div>\\n                      </li>\\n                      <li>\\n                        <div \\n                          md-action=\\\"{ icon: 'far fa-file-download' }\\\" \\n                          click.delegate=\\\"mdFileDownload.fileDownload(`users/me/mavs/${record.uuid}/downloads`, record, 'pdf', event)\\\">Scarica bollettino</div>\\n                      </li>\\n                      <li if.bind=\\\"record.queue.ownerId && record.queue.uuid\\\">\\n                        <div \\n                          md-action=\\\"{ icon: 'far fa-user-friends' }\\\" \\n                          click.delegate=\\\"navigateToQueueDetail(record)\\\">Vai alla spedizione</div>\\n                      </li>\\n                      <li if.bind=\\\"record.billingProfileOwnerId && record.billingProfileUuid\\\">\\n                        <div \\n                          md-action=\\\"{ icon: 'far fa-external-link' }\\\" \\n                          click.delegate=\\\"navigateToAuthorization(record)\\\">Vai all'autorizzazione</div>\\n                      </li>\\n                      <li>\\n                        <div \\n                          md-action=\\\"{ icon: 'far fa-history' }\\\" \\n                          click.delegate=\\\"dialogStatusHistory(record)\\\">Storico dei passaggi di stato</div>\\n                      </li>\\n                    </ul>\\n                  </md-split-button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"7\\\">\\n              <span>Nessun bollettino trovato</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInitTabs\\\"></md-loader>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"[true,false].includes(isPendingInitTabs)\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ parent: $parent, tab, privileges, params, tools, requestedUserData }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione-sottoutenti.sass\\\"></require>\\n  <!-- Service -->\\n  <div class=\\\"service row m-0\\\">\\n    <!-- Payment -->\\n    <div class=\\\"col-6 p-3\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Servizio in abbonamento</h3>\\n      <strong class=\\\"limitwidth-50\\\">${service.title}</strong>\\n      <small class=\\\"d-block mt-1 mb-3\\\">\\n        Durata ${service.duration} gg. - Prezzo ${service.vatAmount ? (service.price + service.vatAmount).toFixed(2) : service.price}€\\n        <span if.bind=\\\"params.service.vatAmount\\\" style=\\\"color: #909090; white-space: nowrap\\\"> (${service.price}€ + iva).</span>\\n      </small>\\n      <ka-control\\n        buttons=\\\"dropdown\\\"\\n        value.bind=\\\"resourcePayment.data.payment\\\"\\n        schema.bind=\\\"resourcePayment.schema.payment\\\">\\n      </ka-control>\\n    </div>\\n\\n    <!-- Activations -->\\n    <div class=\\\"activations col-6 p-3 d-flex flex-column\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Riepilogo attivazioni</h3>\\n      <ul class=\\\"p-0 m-0 mb-1 d-flex flex-wrap\\\">\\n        <li class=\\\"me-2\\\" style=\\\"white-space: nowrap\\\">Attivazioni riuscite: <strong>${successfulActivationsCount}</strong></li>\\n        <li style=\\\"white-space: nowrap\\\">Attivazioni fallite: <strong>${failedActivationsCount}</strong></li>\\n      </ul>\\n      <small class=\\\"d-flex align-items-center\\\" ka-tooltip=\\\"value: In tabella, in corrispondenza di ogni riga è possibile cliccare per aprire il dettaglio di ogni attivazione fallita. Scorri i risultati per visualizzarli; placement: left;\\\">\\n        <i class=\\\"far fa-exclamation-circle me-2\\\" style=\\\"color: #ed5a23; cursor: pointer\\\"></i>\\n        <small class=\\\"limitwidth\\\" style=\\\"color: #909090\\\">I dettagli di ogni errore sono visualizzabili nella tabella sottostante.</small>\\n      </small>\\n      <ka-button\\n        class=\\\"inverted flat secondary with-icon m-0\\\"\\n        disabled.bind=\\\"!activationSummary.length\\\"\\n        click.delegate=\\\"exportActivationsReport()\\\"\\n        style=\\\"margin-top: auto !important\\\">\\n        <i class=\\\"far fa-file-download\\\"></i>\\n        <span>Scarica report</span>\\n      </ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Search interface -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control\\n          buttons=\\\"clear\\\" \\n          name=\\\"textSearch\\\"\\n          submit.call=\\\"search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button\\n          disabled.bind=\\\"pendingActivation\\\"\\n          click.delegate=\\\"reset()\\\" \\n          class=\\\"inverted secondary\\\">Reset\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon primary\\\"\\n          click.delegate=\\\"search()\\\"\\n          disabled.bind=\\\"pendingActivation\\\">\\n          <i class=\\\"far fa-search\\\"></i>\\n          <span>Ricerca</span>\\n        </ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table interface-->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"m-0 border-bottom-0 d-flex justify-content-between\\\">\\n      <span class=\\\"limitwidth-50\\\">Elenco ${mdt.parsers.contextualize(api.user, 'utenti')} su cui il servizio é attivabile</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center me-3\\\">\\n          <span style=\\\"color: #404040; white-space: nowrap\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat m-0 me-3\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset()\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"far fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"primary flat with-icon m-0 me-3\\\"\\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"activateSelectedRecords()\\\">\\n          <i class=\\\"far fa-check\\\"></i>\\n          <span>Attiva su selezionati</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,50,100\\\">\\n      <md-table-progressbar if.bind=\\\"tableInterface.isLoading || pendingActivation || pendingBillingProfiles\\\" class=\\\"progressbar\\\"></md-table-progressbar>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>\\n              <input \\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\"\\n                disabled.bind=\\\"pendingActivation || pendingBillingProfiles || tableSelectionInterface.isEveryVisibleRecordDisabled()\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"display-name\\\">Denominazione</md-table-sort></th>\\n            <th>Profilo fatturazione</th>\\n            <th>Attivazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pendingBillingProfiles\\\">\\n          <tr \\n            repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"record._selection.isSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\"\\n                disabled.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n            </td>\\n            <td class=\\\"subuser\\\">\\n              <span class=\\\"limitwidth\\\">${record.profile[0].displayName}</span>\\n              <small class=\\\"tag id me-1\\\">ID: ${record.id}</small>\\n              <small class=\\\"d-inline-block\\\" style=\\\"white-space: nowrap\\\">CF/IVA: ${record.profile[0].fiscalCode || record.profile[0].vatCode}</small>\\n            </td>\\n            <td>\\n              <ka-control\\n                class=\\\"no-label limitwidth\\\"\\n                buttons=\\\"dropdown\\\"\\n                value.bind=\\\"record._resource.data.billingProfile\\\"\\n                schema.bind=\\\"record._resource.schema.billingProfile\\\"\\n                if.bind=\\\"record._resource.schema.billingProfile.datasource.length\\\"\\n                readonly.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n              </ka-control>\\n            </td>\\n            <td class=\\\"status\\\" style=\\\"width: 20rem\\\">\\n              <span if.bind=\\\"record._selection.isSelected && !record._selection.feedback\\\" class=\\\"tag\\\">Selezionato per l'attivazione</span>\\n              <template if.bind=\\\"record._selection.feedback\\\">\\n                <span if.bind=\\\"record._selection.feedback.status === 'pending'\\\" class=\\\"tag pending\\\">\\n                  <i class=\\\"far fa-spinner-third fa-spin me-2\\\"></i>Attivazione in corso...\\n                </span>\\n                <span\\n                  click.delegate=\\\"showFailedActivationDetail(record)\\\" \\n                  if.bind=\\\"record._selection.feedback.status === 'error'\\\"\\n                  class=\\\"tag error with-icon\\\">\\n                  Non attivato\\n                  <small class=\\\"detail\\\">Apri dettaglio</small>\\n                </span>\\n                <span\\n                  if.bind=\\\"record._selection.feedback.status === 'success'\\\"\\n                  class=\\\"tag success with-icon\\\">\\n                  Servizio attivato                \\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Footer -->\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      class=\\\"inverted secondary\\\" \\n      disabled.bind=\\\"pendingActivation\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione.sass\\\"></require>\\n\\n  <div if.bind=\\\"!error\\\" class=\\\"body\\\">\\n    <strong class=\\\"d-block\\\">${params.service.title}</strong>\\n    <small class=\\\"service-description\\\">${params.service.description}</small>\\n    <span class=\\\"service-duration\\\">\\n      Durata ${params.service.duration} gg. - Prezzo ${params.service.vatAmount ? (params.service.price + params.service.vatAmount).toFixed(2) : params.service.price}€\\n      <span if.bind=\\\"params.service.vatAmount\\\"> (${params.service.price}€ + iva)</span>\\n    </span>\\n    <ka-control class=\\\"no-buttons\\\" schema.bind=\\\"schema.payment\\\" value.bind=\\\"data.payment\\\"></ka-control>\\n    <ka-control if.bind=\\\"schema.billing.datasource.length\\\" class=\\\"no-buttons\\\" schema.bind=\\\"schema.billing\\\" value.bind=\\\"data.billing\\\"></ka-control>\\n  </div>\\n  <div if.bind=\\\"error\\\" class=\\\"body\\\">\\n    <strong>Impossibile attivare il servizio!</strong><br>\\n    ${error.message}\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(data)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-autorinnovo.sass\\\"></require>\\n  <template if.bind=\\\"params.autoRenew === 'ENABLED'\\\">\\n    <div class=\\\"body\\\">\\n      <p>\\n        <strong>Vuoi disattivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento cesserà istantaneamente. <strong>Confermi?</strong>\\n      </p>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"params.autoRenew === 'DISABLED'\\\">\\n    <div class=\\\"body p-3\\\">\\n      <p class=\\\"m-0 mb-3\\\">\\n        <strong>Vuoi attivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento verrà automaticamente rinnovato. <strong>Confermi?</strong>\\n      </p>\\n      <ka-control \\n        if.bind=\\\"resource.data.autoRenewPaymentMethod\\\"\\n        schema.bind=\\\"resource.schema.autoRenewPaymentMethod\\\"\\n        value.bind=\\\"resource.data.autoRenewPaymentMethod\\\" \\n        buttons=\\\"dropdown\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 text-error\\\" if.bind=\\\"!resource.data.autoRenewPaymentMethod && updateDatasourcePending === false\\\">\\n        Nessun metodo di pagamento accettato!\\n      </p>\\n    </div>\\n  </template>\\n\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button \\n      disabled.bind=\\\"!resource.data.autoRenewPaymentMethod && params.autoRenew === 'DISABLED'\\\" \\n      click.delegate=\\\"controller.ok(resource.data)\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      Ci sei quasi! Per procedere con ${params.action === \\\"autoRenew\\\" ? \\\"l'auto rinnovo\\\" : \\\"l'attivazione\\\"} del servizio è necessario sottoscrivere il relativo contratto cashback! <br>\\n      <strong>Vuoi essere reindirizzato alla sezione dedicata e prendere visione del contratto?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted me-0\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"goToCashbackContracts()\\\" class=\\\"ms-3\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-detail.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n  \\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"flatServiceCode\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 center\\\">\\n        <ka-input name=\\\"flatServiceProductCode\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input name=\\\"flatServiceType\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"flatServiceTitle\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <div class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.flatServiceDescription\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"ownerDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.ownerParentDisplayName\\\" class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerParentDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.ownerParentDisplayName ? '6 right' : '12'}\\\">\\n            <ka-control name=\\\"ownerFiscalCode\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"activatedAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"expireAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenew\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"orderId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"status\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"statusReason\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"paymentMethod\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payeeDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"flatServicePrice\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.flatServiceCashbackAmount\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n\\n           <div if.bind=\\\"resoruce.data.flatServiceMulticoinPoint\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-editor.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      \\n      <!-- NOT EDITABLE (if edit) -->\\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 right left\\\">\\n        <ka-input \\n          name=\\\"productCode\\\" \\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\" \\n          change.call=\\\"changeProductCode(resource.data.productCode)\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input \\n          name=\\\"type\\\" \\n          client.bind=\\\"api\\\"  \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control if.bind=\\\"!params\\\" name=\\\"description\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div else class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.description\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"subscriptionExpiryType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\">\\n            <ka-control name=\\\"duration\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DATE'\\\">\\n            <ka-control \\n              name=\\\"subscriptionExpireAt\\\" \\n              change.trigger=\\\"changeSubscriptionExpireAt()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.activableByPrivilegedUserOnly === 'SPONSOR' ? '6 left' : '12'}\\\">\\n            <ka-control \\n              name=\\\"activableByPrivilegedUserOnly\\\" \\n              change.trigger=\\\"changeActivableByPrivilegedUserOnly()\\\"\\n              md-tooltip=\\\"Il servizio di abbonamento potrà essere attivato su un utente solo ad opera di un operatore\\\\partner. L'utente invece non potrà vederlo e\\\\o attivarlo autonomamente\\\" \\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <!-- Sponsor Uuid -->\\n          <div if.bind=\\\"resource.data.activableByPrivilegedUserOnly === 'SPONSOR'\\\" class=\\\"col-6 right\\\">\\n            <ka-input \\n              config.bind=\\\"resource.schema.sponsorUuid\\\" \\n              value.bind=\\\"resource.data.sponsorUuid\\\" \\n              client.bind=\\\"api\\\" \\n              class=\\\"no-add no-open dropdown\\\">\\n            </ka-input>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.subscriptionExpiryType === 'DAYS' ? '6 left' : '12'}\\\">\\n            <ka-control name=\\\"activableOn\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6' : '4'} left\\\">\\n            <ka-control name=\\\"price\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6 right' : '4 middle'}\\\">\\n            <ka-control name=\\\"vatAmount\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.cashbackAmount && resource.data.multicoinPoint === undefined\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"cashbackAmount\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.multicoinPoint !== undefined && !resource.data.cashbackAmount\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"multicoinPoint\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control\\n              buttons=\\\"dropdown\\\"\\n              name=\\\"allowableBusinessTypes\\\"\\n              md-tooltip=\\\"Se l'attività dell'utente Master rientra tra quelle selezionate allora il vincolo sarà applicato a tutti i suoi Sottoutenti\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payableBy\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control \\n              name=\\\"paymentMethods\\\"\\n              change.trigger=\\\"changePaymentMethods()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- EDITABLE (if edit) -->\\n      <div class=\\\"col-12\\\">\\n        <h2 if.bind=\\\"params\\\" class=\\\"edit-service-title\\\" style=\\\"margin-bottom: 0;\\\">Dati modificabili</h2>\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-12 col-lg-6 columns-left\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6 left\\\">\\n                <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n              </div>\\n\\n              <div class=\\\"col-6 right\\\">\\n                <ka-control \\n                  name=\\\"endAt\\\" \\n                  buttons=\\\"dropdown,clear\\\" \\n                  md-tooltip=\\\"Il termine del periodo di validità temporale di un servizio può essere settato in 'Illimitato' salvando le modifiche senza specificare alcuna data\\\">\\n                </ka-control>\\n              </div>\\n            </div>\\n          </div>\\n          <div class=\\\"col-12 col-lg-6 columns-right\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12\\\">\\n                <div class=\\\"row\\\">\\n                  <div class=\\\"col-12 ${!params ? 'col-lg-6 left' : 'col-lg-12'}\\\">\\n                    <ka-control name=\\\"promotionNeeded\\\" buttons=\\\"dropdown\\\"></ka-control>\\n                  </div>\\n\\n                  <div if.bind=\\\"!params\\\" class=\\\"col-12 col-lg-6 right\\\">\\n                    <ka-control name=\\\"createPortabilityPromotionOnActivation\\\" md-tooltip=\\\"La promozione di portabilità è una promozione che permette all'utente di continuare a rinnovare l'abbonamento al servizio dopo la prima volta, anche se non più disponibile per gli altri utenti\\\"></ka-control> \\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n\\n          <div if.bind=\\\"params\\\" class=\\\"col-12 associated-promo\\\">\\n            <ka-control name=\\\"associatedPromoCodes\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-fidelity-card-required.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      <span>Questo servizio in abbonamento prevede <strong>punti Multicoin</strong> ed è quindi <strong>necessaria l'attivazione di una Fidelity Card</strong> per poterne usufruire.</span>\\n      <span class=\\\"d-block mt-2\\\">Vai alla <span click.delegate=\\\"goToFidelityCardsActivation()\\\" class=\\\"link mx-1\\\">sezione Fidelity Card</span> per attivarne subito una!</span>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"secondary\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-log.scss\\\"></require>\\n  <div class=\\\"body\\\" style=\\\"padding: 0;\\\">\\n    <div style=\\\"overflow: auto; max-height: 400px;\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>IP Operatore</th>\\n            <th>UUID Operatore</th>\\n            <th>Data</th>\\n            <th>Motivazione</th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr repeat.for=\\\"log of logs\\\">\\n            <td>\\n              <span if.bind=\\\"log.actorIpAddress\\\">${log.actorIpAddress}</span>\\n            </td>\\n            <td>\\n              <small if.bind=\\\"log.actorIpAddress\\\" class=\\\"log-id\\\">${log.actorUserUuid}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"log.dateTime\\\" style=\\\"white-space: nowrap;\\\">${log.dateTime | dateFormat}</span>\\n            </td>\\n            <td class=\\\"d-flex align-items-start log-reason\\\">\\n              <small if.bind=\\\"log.reason\\\" class=\\\"text\\\" ka-tooltip.bind=\\\"log.reason\\\">${log.reason}</small>\\n            </td>\\n            <td>\\n              <strong if.bind=\\\"log.status\\\" style=\\\"white-space: nowrap;\\\">${log.status === 'ACTIVE' ? 'Attivo' : log.status === 'EXPIRED' ? 'Scaduto' : log.status === 'SUSPENDED' ? 'Sospeso' : log.status === 'PENDING' ? 'In lavorazione' : ''}</strong>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.small { max-width: 500px; }\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"applyStatusAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-stato-servizio.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <span class=\\\"message\\\">${message}</span>\\n    <ka-control name=\\\"statusReason\\\"></ka-control>\\n    <small class=\\\"alert-message\\\"><i class=\\\"far fa-exclamation-circle\\\"></i><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <ka-control if.bind=\\\"params.status === 'SUSPENDED'\\\" name=\\\"applyStatusAt\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-2\\\"></ka-control>\\n    <span class=\\\"mt-3 message\\\">Modificare lo stato di una sottoscrizione è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</span>\\n    <ka-control name=\\\"confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi attivabili <span if.bind=\\\"requestedUserData\\\">su ${requestedUserData.profile.displayName}</span></h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n  \\n        <!-- Sottoutente selezionato -->\\n        <template if.bind=\\\"requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-6\\\">\\n            <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </template>\\n  \\n        <!-- Utente master o basic -->\\n        <template if.bind=\\\"!requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-${privileges.isBasicUser ? '3' : '6'}\\\">\\n            <div class=\\\"row gx-3\\\">\\n              <div class=\\\"col-${data.activable === 'SUBUSER' ? '6' : '12'}\\\">\\n                <md-control name=\\\"activable\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n              </div>\\n              <div class=\\\"col-6\\\" if.bind=\\\"data.activable === 'SUBUSER'\\\">\\n                <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </template>\\n  \\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"productCode\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"type\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"multicoinPoint\\\" \\n            buttons=\\\"clear,dropdown\\\" \\n            if.bind=\\\"!lastAcceptedServiceContract.rescindedAt\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-center\\\" if.bind=\\\"api.hasRole('LIST_PRIVILEGED_ACCESS_FLAT_SERVICES')\\\">\\n          <md-control name=\\\"privilegedAccessCheck\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>\\n        <span static-tooltip=\\\"value.bind: staticTooltipServices\\\" style=\\\"max-width: fit-content;\\\">\\n          Elenco servizi attivabili\\n        </span>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata o scadenza</th>\\n              <th>Prezzo</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td style=\\\"white-space: nowrap;\\\">${item.code}</td>\\n              <td style=\\\"white-space: nowrap;\\\">${item.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span>${item.title}</span><br>\\n                <small \\n                  class=\\\"link\\\" \\n                  click.delegate=\\\"serviceDescription(item.description)\\\" \\n                  ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio\\n                </small>\\n              </td>\\n              <td>\\n                <span if.bind=\\\"item.duration\\\" style=\\\"white-space: nowrap\\\">${item.duration} gg.</span>\\n                <span if.bind=\\\"item.subscriptionExpireAt\\\" style=\\\"white-space: nowrap\\\">${item.subscriptionExpireAt|dateFormat}</span>\\n              </td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span if.bind=\\\"!item.sponsorDisplayName\\\" style=\\\"white-space: nowrap;\\\">${item.price} € + IVA</span>\\n                <template else>\\n                  <span if.bind=\\\"item.price > 0\\\" class=\\\"offered-by\\\">${item.price} € + IVA</span><br>\\n                  Offerto da: <strong>${item.sponsorDisplayName}</strong>\\n                </template>\\n                <span \\n                  class=\\\"d-block\\\" \\n                  style=\\\"white-space: nowrap\\\"\\n                  if.bind=\\\"item.multicoinPoint\\\">\\n                  <span class=\\\"text-primary\\\">\\n                    <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                  </span> ${item.multicoinPoint} pt.\\n                </span>\\n                <small class=\\\"d-block\\\" if.bind=\\\"item.promotionNeeded === 'YES'\\\">Promozione limitata</small>\\n                <div if.bind=\\\"item.cashbackAmount\\\" class=\\\"cashback\\\">\\n                  <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${item.cashbackAmount} €</small>\\n                  <small \\n                    class=\\\"tag mt-2\\\" \\n                    ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                    if.bind=\\\"lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt\\\">\\n                    <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                    Richiede approvazione contratto\\n                  </small>\\n                </div>\\n              </td>\\n              <td class=\\\"d-flex flex-column align-items-end\\\">\\n                <ka-button\\n                  class=\\\"flat inverted with-icon\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\"\\n                  ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                  if.bind=\\\"(lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt) && item.cashbackAmount\\\">\\n                  <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                  <span>Attiva</span>\\n                </ka-button>\\n                <ka-button\\n                  else\\n                  class=\\\"flat inverted\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\">\\n                  Attiva\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca servizi attivi <span if.bind=\\\"requestedUserData\\\">per ${requestedUserData.profile.displayName}</span>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUB-USER' || privileges.isBasicUser ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"productCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=productCodeChanged()>\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"type\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco servizi attivi</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\">\\n      <!-- CSV download -->\\n      <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica listato sottoscrizioni in formato csv\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"status\\\">Stato</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\"\\n                attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user,\\n                'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>\\n              <span click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\" class=\\\"copy-text with-icon\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType |\\n              comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\"\\n                  click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\"\\n                click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\"\\n                ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <strong if.bind=\\\"item.status === 'PENDING' && item.paymentMethod === 'BANK-TRANSFER' && item.orderId\\\"\\n                ka-tooltip=\\\"In attesa pagamento mezzo bonifico. Clicca sotto per i dettagli\\\">\\n                ${statuses[item.status]}\\n              </strong>\\n              <strong else>${statuses[item.status]}</strong>\\n              <small if.bind=\\\"item.suspendAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data sospensione:\\n                ${item.suspendAt | dateFormat}</small>\\n              <small if.bind=\\\"item.terminatedAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data termine:\\n                ${item.terminatedAt | dateFormat}</small>\\n              <small if.bind=\\\"item.paymentMethod === 'BANK-TRANSFER'\\\" class=\\\"bank-transfer-data\\\"\\n                click.delegate=\\\"showBankTransfer(item)\\\">\\n                Dati bonifico bancario\\n              </small>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"d-block\\\">${item.statusReason}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod | comboFormat:{datavalue: 'code', datatext:\\n                'label'}:'paymentMethods'}</small>\\n            </td>\\n\\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n\\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n              <template if.bind=\\\"item.status === 'ACTIVE'\\\">\\n                <div if.bind=\\\"item.autoRenew === 'ENABLED'\\\">\\n                  <strong class=\\\"success-text limitwidth\\\">Autorinnovo attivo</strong>\\n                  <small if.bind=\\\"item.autoRenewPaymentMethod\\\" class=\\\"d-block\\\">Metodo di pagamento autorinnovo:\\n                    ${item.autoRenewPaymentMethod}</small>\\n                </div>\\n                <div if.bind=\\\"item.autoRenew === 'DISABLED' && item.autoRenewable === 'YES'\\\">\\n                  <strong class=\\\"error-text limitwidth\\\">Autorinnovo non attivo</strong>\\n                </div>\\n                <div if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_EXPIRE_DATE')\\\" class=\\\"limitwidth\\\">\\n                  <small><a href=\\\"\\\" click.delegate=\\\"editExpiration($event, item)\\\">Modifica scadenza</a></small>\\n                </div>\\n              </template>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span style=\\\"white-space: nowrap\\\">${item.flatServicePrice} € + IVA</span>\\n              <span \\n                class=\\\"d-block\\\" \\n                style=\\\"white-space: nowrap\\\"\\n                if.bind=\\\"item.flatServiceMulticoinPoint\\\">\\n                <span class=\\\"text-primary\\\">\\n                  <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                </span> ${item.flatServiceMulticoinPoint} pt.\\n              </span>\\n              <small if.bind=\\\"item.flatServiceCashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback:\\n                ${item.flatServiceCashbackAmount} €</small>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span\\n                  style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td class=\\\"limitwidth-200 d-flex flex-column\\\">\\n              <template if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_STATUS')\\\">\\n                <!-- Sospendi -->\\n                <ka-button if.bind=\\\"item.status === 'ACTIVE'\\\" click.delegate=\\\"editStatus($event, 'sospendi', item)\\\"\\n                  ka-tooltip=\\\"Sospensione temporanea. Non sarà possible sottoscrivere la stessa tipologia di servizio fino alla scandenza\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Sospendi servizio\\n                </ka-button>\\n                <!-- Riattiva -->\\n                <ka-button if.bind=\\\"item.status === 'SUSPENDED'\\\" click.delegate=\\\"editStatus($event, 'riattiva', item)\\\"\\n                  ka-tooltip=\\\"Riattivazione della sottoscrizione al servizio temporaneamente sospesa\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Riattiva servizio\\n                </ka-button>\\n                <!-- Termina -->\\n                <ka-button\\n                  if.bind=\\\"item.status !== 'TERMINATED' && (item.status !== 'EXPIRED' || api.hasRole('MODIFY_EXPIRED_FLAT_SERVICE_SUBSCRIPTION_STATUS'))\\\"\\n                  click.delegate=\\\"editStatus($event, 'termina', item)\\\"\\n                  ka-tooltip=\\\"Chiusura definitiva della sottoscrizione al servizio. per riattivare il servizio sarà necessaria nuova sottoscrizione\\\"\\n                  class=\\\"flat\\\">\\n                  Termina servizio\\n                </ka-button>\\n              </template>\\n              <!--\\n              <ka-button\\n                if.bind=\\\"privileges.tabs.attivabili && item.status === 'EXPIRED' && !item.nextUuid\\\"\\n                click.delegate=\\\"renew($event, item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat\\\">\\n                Rinnova servizio\\n              </ka-button>\\n              -->\\n              <!-- <ka-button\\n                click.delegate=\\\"dialogServiceDetail(item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat inverted secondary with-icon\\\">\\n                <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n                <span style=\\\"width: calc(100% - 1.1rem); text-align: left\\\">Dettaglio</span>\\n              </ka-button> -->\\n              <ka-button if.bind=\\\"item.status === 'ACTIVE' && item.autoRenewable === 'YES'\\\"\\n                click.delegate=\\\"editRenewal($event, item)\\\"\\n                ka-tooltip.bind=\\\"item.isAutoRenewDisabled ? 'Non è possibile disattivare il rinnovo automatico quando la sottoscrizione è in scadenza in meno di 30 giorni.' : (item.autoRenew === 'ENABLED' ? 'Disabilita rinnovo automatico del servizio' : 'Abilita rinnovo automatico del servizio')\\\"\\n                class=\\\"flat secondary\\\" disabled.bind=\\\"item.status !== 'ACTIVE' || item.isAutoRenewDisabled\\\">\\n                Gestisci autorinnovo\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"productCode\\\" \\n            client.bind=\\\"api\\\" \\n            buttons=\\\"dropdown,clear\\\" \\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"type\\\" \\n            buttons=\\\"dropdown,clear\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"description\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n            </div>\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"activableOn\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"payableBy\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>Elenco servizi\\n        <ka-button \\n          class=\\\"inverted flat with-icon\\\" \\n          if.bind=\\\"api.hasRole('CREATE_FLAT_SERVICES')\\\" \\n          click.delegate=\\\"createService()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea nuovo servizio</span>\\n        </ka-button>\\n        </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata</th>\\n              <th>Specifiche</th>\\n              <th>Attivazione</th>\\n              <th>Promozioni associate</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"service of tableInterface.data\\\">\\n              <!-- Codice -->\\n              <td class=\\\"limitwidth\\\">${service.code}</td>\\n  \\n              <!-- Piano -->\\n              <td class=\\\"limitwidth\\\">${service.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n  \\n              <!-- Titolo/Descrizione -->\\n              <td style=\\\"max-width: 15vw;\\\">\\n                <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"tools.copyText(service.title, 'Titolo')\\\" ka-tooltip.bind=\\\"`Copia titolo: ${service.title}`\\\">${service.title}</span><br>\\n                <small style=\\\"white-space: nowrap;\\\" class=\\\"d-block\\\">Creato il ${service.createdAt | dateFormat}</small>\\n                <small click.delegate=\\\"serviceDescription(service.description)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n              </td>\\n  \\n              <!-- Durata -->\\n              <td class=\\\"limitwidth\\\">${service.duration} gg.</td>\\n              \\n              <!-- Prezzo -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  <span style=\\\"white-space: nowrap\\\">Prezzo: ${service.price} € + IVA ${service.vatAmount} €</span><br>\\n                  <span if.bind=\\\"service.multicoinPoint\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Multicoin: ${service.multicoinPoint} pt.</span>\\n                  <span if.bind=\\\"service.cashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${service.cashbackAmount} €</span>\\n                  Addebitabile a\\n                  <strong if.bind=\\\"service.payableBySponsor\\\" style=\\\"white-space: nowrap\\\">${service.sponsorDisplayName}</strong>\\n                  <span else style=\\\"white-space: nowrap\\\">${service.payableBySubuser && service.payableByUser ? 'utenti e sottoutenti' : !service.payableBySubuser ? 'utenti' : 'sottoutenti'}</span>\\n                  <br>\\n                  <span style=\\\"white-space: nowrap\\\">Autorinnovo ${service.autoRenewable ?  'disponibile' : 'non disponibile'}</span><br>\\n                  Metodo pagamento:\\n                  <span repeat.for=\\\"paymentMethod of service.paymentMethods\\\" class=\\\"payment-methods\\\">${paymentMethod | comboFormat:{datavalue: 'code', datatext: 'label'}:'paymentMethods'}</span>\\n                </small>\\n              </td>\\n  \\n              <!-- Attivazione -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  Attivabile da\\n                  <strong if.bind=\\\"service.sponsorDisplayName\\\">${service.sponsorDisplayName}</strong>\\n                  <span else>${service.activableByPrivilegedUserOnly === 'YES' ? 'utenti privilegiati' : 'proprietario account'}</span>\\n                  <br>\\n                  Sottoscrivibile da ${service.activableOnUser && service.activableOnSubuser ? 'utenti e sottoutenti' : !service.activableOnSubuser ? 'utenti' : 'sottoutenti'}<br>\\n                  Inizio periodo di validità: ${service.startAt | dateFormat}<br>\\n                  Termine periodo di validità: ${service.endAt ? service.endAt : 'illimitato' | dateFormat }\\n                </small>\\n              </td>\\n  \\n              <!-- Promozioni associate -->\\n              <td>\\n                <template if.bind=\\\"service.associatedPromoCodes && service.associatedPromoCodes.length\\\">\\n                  <div repeat.for=\\\"promoCode of service.associatedPromoCodes\\\" class=\\\"promo-code\\\">${promoCode}</div>\\n                </template>\\n                <small else>Nessuna promozione</small>\\n              </td>\\n  \\n              <!-- Buttons -->\\n              <td class=\\\"d-flex flex-column align-items-start align-items-sm-end\\\">\\n                <ka-button \\n                  if.bind=\\\"api.hasRole(['MODIFY_FLAT_SERVICES'])\\\" \\n                  click.delegate=\\\"editService($event, service)\\\" \\n                  class=\\\"flat inverted secondary\\\">Modifica\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca volture da confermare</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"productCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\" change.call=\\\"$parent.productCodeChanged(data.productCode)\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"type\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">    \\n    <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n      <span>Elenco volture da confermare</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center\\\">\\n          <i class=\\\"far fa-exclamation-circle me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat secondary icon\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset(true)\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"fas fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"inverted flat with-icon ms-0\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"confirmSelectedServices($event)\\\"\\n          ka-tooltip=\\\"value: Conferma volture selezionate; placement: left;\\\">\\n          <i class=\\\"fas fa-check\\\"></i>\\n          <span>Conferma volture selezionate</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                disabled.bind=\\\"tableSelectionInterface.isEveryVisibleRecordDisabled()\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\">\\n            </th>          \\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user, 'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"item._selection.isSelected\\\"\\n                disabled.bind=\\\"item._selection.isDisabled\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\">\\n            </td>\\n            <td>\\n              <span \\n                click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\"\\n                class=\\\"copy-text with-icon d-block\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n\\n              <template if.bind=\\\"item._selection.feedback\\\">\\n                <span\\n                  if.bind=\\\"item._selection.feedback.status\\\"\\n                  class=\\\"tag mt-1 ${item._selection.feedback.status === 'Errore' ? 'error' : (item._selection.feedback.status === 'Completato' ? 'success' : 'pending')}\\\">\\n                  ${item._selection.feedback.status}\\n                </span>\\n                <small if.bind=\\\"item._selection.feedback.message\\\" class=\\\"d-block mt-1\\\">${item._selection.feedback.message}</small>\\n              </template>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\" click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\" click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod}</small>\\n            </td>\\n            \\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n  \\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span>${item.flatServicePrice} € + IVA</span>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\"><span style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti volture da confermare</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n\\n  <!-- Search -->\\n  <template if.bind=\\\"creditSearchInterface.initialized\\\">\\n    <h2 class=\\\"with-buttons\\\">\\n      <span>Ricerca movimenti di credito</span>\\n      <!-- Credit transfer -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transfer')\\\"\\n        disabled.bind=\\\"!userProfile.parent || userId === 'me'\\\"\\n        style=\\\"margin-left: auto;\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Trasferisci credito</span>\\n      </ka-button>\\n      <!-- Credit transaction -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transaction')\\\"\\n        disabled.bind=\\\"!userProfile || userId === 'me'\\\"\\n        style=\\\"margin-left: 0;\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"creditSearchInterface\\\">\\n      <!-- !isOperator -->\\n      <template if.bind=\\\"!isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${data.context === 'subusers' ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'subusers'\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!-- isOperator -->\\n      <template if.bind=\\\"isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${selectedParentIsMaster ? '2' : '4'}\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"parent\\\" change.call=\\\"setParent()\\\" ready.call=\\\"setParent()\\\"></md-input>\\n        </div>\\n        <div if.bind=\\\"selectedParentIsMaster\\\" class=\\\"col-6 col-lg-2\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"child\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!--\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      -->\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"creditTableInterface\\\">\\n    <h2 if.bind=\\\"userProfile\\\">Elenco dei movimenti di credito di ${userProfile.displayName} <span if.bind=\\\"userProfile.parent\\\">(${mdt.parsers.contextualize(api.user, 'sottoutente')} di ${userProfile.parent.displayName})</span></h2>\\n    <h2 if.bind=\\\"!userProfile\\\">Elenco dei <span if.bind=\\\"creditSearchInterface.data.context === 'me'\\\">miei</span> movimenti di credito</h2>\\n    <div if.bind=\\\"currentBalance\\\" class=\\\"row\\\" style=\\\"margin-top: -1rem\\\">\\n      <div class=\\\"col\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito residuo ${mdt.parsers.contextualize(api.user, creditSearchInterface.data.context === 'me' ? 'dell\\\\'account' : 'dell\\\\'utente')}:</span> servizio <strong>${currentBalance.vatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.noVatSubjectAmount} €</strong></p>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito per il filtro selezionato:</span> servizio <strong>${currentBalance.filteredVatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.filteredNoVatSubjectAmount} €</strong></p>\\n      </div>\\n    </div>\\n    <md-table-toolbar table.bind=\\\"creditTableInterface\\\" download.call=\\\"export()\\\" search.bind=\\\"creditSearchInterface\\\" buttons=\\\"download\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like credito\\\">\\n        <thead if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Riferimento</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per tutte le tipologie<br>di invio (sms, fax, multicerta e posta cartacea<br>indipendentemente dall'affrancatura)\\\" class=\\\"tooltip\\\">Importo servizio</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per pagare il<br> francobollo per prioritarie, raccomandate<br> o raccomandate AR. Il francobollo per<br>Raccomandata1 e Raccomandata1AR<br> viene pagato con il credito servizio.\\\" class=\\\"tooltip\\\">Importo affrancatura</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of creditTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td><small class=\\\"tag ${item.sign === 'CREDIT' ? 'success' : 'error'} with-icon\\\">${item.sign === 'CREDIT' ? 'Ricarica' : 'Addebito'}</small></td>\\n            <td>\\n              <small class=\\\"text-color\\\" if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</small>\\n              <span\\n                if.bind=\\\"item.reason.queueUuid\\\"\\n                style=\\\"display: block; margin-top: .5rem;\\\">\\n                <a\\n                  href.bind=`spedizioni/destinatari/${item.ownerId}/${item.reason.queueUuid}`>\\n                  Visualizza reportistica spedizione\\n                </a>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"item.reason.migrationVerse\\\">\\n              <span>Trasferimento credito</span>\\n              <small>${getMigrationMessage(item)}</small>\\n            </td>\\n            <td if.bind=\\\"!item.reason.migrationVerse\\\"><span>Movimento credito</span></td>\\n            <td>${item.amount.vatSubject} €</td>\\n            <td>${item.amount.noVatSubject} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!creditTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n  <template if.bind=\\\"bailmentSearchInterface.initialized\\\">\\n    <h2>\\n      <span>Ricerca movimenti di deposito cauzionale <span if.bind=\\\"user\\\">per ${user.profile.displayName}</span></span>\\n      <ka-button if.bind=\\\"api.hasRole('CREATE_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"depositTransaction()\\\" disabled.bind=\\\"!userId\\\"><span class=\\\"material-icons\\\" style=\\\"vertical-align: middle; margin-right: .3rem;\\\">add</span> Inserisci movimento</ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"bailmentSearchInterface\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-6 col-lg-6\\\">\\n        <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  \\n  <template if.bind=\\\"bailmentTableInterface\\\">\\n    <h2 class=\\\"table-title\\\">\\n      <span>Elenco movimenti di deposito cauzionale</span>\\n      <span if.bind=\\\"bailmentTableInterface.data\\\" class=\\\"current-balance\\\">\\n        <span>Saldo corrente: <strong>${currentBalance.balance} €</strong></span>\\n      </span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"bailmentTableInterface\\\" search.bind=\\\"bailmentSearchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like deposito\\\">\\n        <thead if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Importo</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of bailmentTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td style=\\\"text-transform: uppercase;\\\">${item.type === 'CREDIT' ? 'Entrata' : 'Uscita'}</td>\\n            <td>\\n              <span if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</span>\\n              <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\">ID ordine: ${item.reason.orderId}</span> <!-- TO DO delete this when the order detail page is completed -->\\n              <!-- TO DO when the order detail page is completed <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/box_order.html\\\">Visualizza ordine</a></span> --> <!-- TO DO show this when the order detail page is completed -->\\n              <span if.bind=\\\"item.reason.legacyQueueId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/multi_invio/details_mi.html?idqueue=${item.reason.legacyQueueId}\\\" target=\\\"_blank\\\">Visualizza reportistica spedizione</a></span>\\n            </td>\\n            <td>${item.amount} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bailmentTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-credit-movement.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente'), readonly: true}\\\" value.bind=\\\"params.user.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo servizio', readonly: true}\\\" value=\\\"${params.user.credit.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo affrancatura', readonly: true}\\\" value=\\\"${params.user.credit.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row\\\" if.bind=\\\"params.context === 'transfer' && masterUser\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Destinatario', readonly: true}\\\" value.bind=\\\"params.user.parent.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito servizio', readonly: true}\\\" value=\\\"${masterUser.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito affrancatura', readonly: true}\\\" value=\\\"${masterUser.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control name=\\\"sign\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"params.context === 'transfer'\\\"></ka-control>\\n\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.vatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.noVatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control if.bind=\\\"params.context === 'transaction'\\\" name=\\\"reason.description\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"params.context === 'transfer'\\\" name=\\\"reason\\\" buttons=\\\"clear\\\"></ka-control>\\n\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-deposit-transaction.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"user\\\">Utente<p>${params.userProfile.displayName}</p></div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"value\\\" buttons=\\\"clear\\\"></ka-control></div>\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"type\\\"></ka-control></div>\\n    </div>\\n    <ka-control name=\\\"note\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p>Modificare gli \\\"economics\\\" è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</p>\\n    <ka-control schema.bind=\\\"check.schema.confirm\\\" value.bind=\\\"check.data.confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok()\\\" disabled.bind=\\\"!check.data.confirm\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini-pianificazione.sass\\\"></require>\\n  <div class=\\\"body\\\" if.bind=\\\"resource\\\">\\n    <div class=\\\"row m-0 p-3\\\">\\n      <div class=\\\"col-6 p-0 pe-2 pb-3\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 p-0 ps-2 pb-3\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown,clear\\\" md-tooltip=\\\"Non compilando il campo, la data di termine sarà considerata indefinita ovvero estendibile all'infinito\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <small class=\\\"alert\\\"><strong>Attenzione!</strong>\\n          <span>Stai aggiungendo un intervallo alla attuale timeline di pianificazione. La timeline sarà ricalcolata al salvataggio.</span>\\n        </small>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../listini.sass\\\"></require>\\n  <div class=\\\"row m-0\\\">\\n\\n    <!-- Left side -->\\n    <div class=\\\"col-6 col-md-4 p-0 left-side\\\">\\n      <h2 class=\\\"m-0\\\">Ricerca listini</h2>\\n      <div class=\\\"row m-0 app-shared-search-style\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.user\\\" value.bind=\\\"data.user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"getUser()\\\"></ka-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.context\\\" value.bind=\\\"data.context\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!privileges.isOperator && !privileges.isParent\\\" change.trigger=\\\"setContext()\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"privileges.isParent\\\" class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente') }\\\" value.bind=\\\"searchSubusers\\\" readonly.bind=\\\"data.context === 'ME'\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </template>\\n      </div>\\n\\n      <!-- Subusers -->\\n      <template if.bind=\\\"!privileges.isOperator\\\">\\n        <ul if.bind=\\\"subusers\\\" class=\\\"m-0 p-0 subusers ${data.context === 'SUBUSERS' && subusers ? 'show' : 'hide'}\\\">\\n          <template repeat.for=\\\"subuser of subusers\\\">\\n            <li id=\\\"${subuser.id}\\\" click.delegate=\\\"selectSubuser(subuser)\\\">\\n              <span class=\\\"limitwidth-30\\\">${subuser.profile[0].displayName}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Price lists -->\\n    <div class=\\\"col-6 col-md-8 p-0 right-side\\\">\\n      <h2 class=\\\"m-0\\\">\\n        <span if.bind=\\\"data.selectedSubuser || data.selectedUser\\\">Elenco dei listini di ${data.selectedUser ? data.selectedUser.displayName : data.selectedSubuser.displayName}</span>\\n        <span if.bind=\\\"data.context === 'ME'\\\">Elenco dei miei listini</span>\\n        <span if.bind=\\\"data.context !== 'ME' && !data.selectedSubuser && !data.selectedUser\\\">Elenco listini</span>\\n      </h2>\\n      <md-table-progressbar if.bind=\\\"pricelistsPending\\\"></md-table-progressbar>\\n      <template if.bind=\\\"!pricelistsPending && pricelists && (data.context === 'ME' || data.selectedSubuser || data.selectedUser)\\\">\\n        <ul if.bind=\\\"pricelists.length\\\" class=\\\"m-0 pricelists\\\" style=\\\"list-style: none;\\\">\\n          <li repeat.for=\\\"pricelist of pricelists\\\" class=\\\"p-0 ${$index === 0 ? 'current' : ''} ${$index+1 ===  pricelists.length && pricelists[pricelists.length - 1].endAt === null ? 'endless' : ''}\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelist.startAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n            <div class=\\\"row wrapper-pricelist flex-column flex-xl-row\\\">\\n              <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n              <div class=\\\"col-12 col-xl-auto p-0\\\">\\n                <span>${pricelist.label}${pricelistDefault === pricelist.code ? ' - Predefinito' : ''}</span><br>\\n                <a \\n                  href=\\\"${legacyLink}${pricelist.code}\\\"\\n                  target=\\\"_blank\\\" \\n                  class=\\\"pricelist-detail\\\">\\n                  <i class=\\\"far fa-external-link\\\"></i>Vedi dettaglio listino\\n                </a>\\n              </div>\\n              <div class=\\\"col-12 col-xl d-flex flex-column align-items-xl-end p-0 code-label\\\">\\n                ${$index === 0 ? 'Listino corrente' : 'Listino in programma'}\\n                <small if.bind=\\\"privileges.isOperator && pricelist.authorDisplayName\\\" class=\\\"limitwidth\\\">Creato da ${pricelist.authorDisplayName} il ${pricelist.createdAt}</small>\\n              </div>\\n            </div>\\n          </li>\\n          <li if.bind=\\\"pricelists[pricelists.length-1].endAt !== null\\\" class=\\\"p-0 pricelists-end\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelists[pricelists.length-1].endAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n          </li>\\n        </ul>\\n      </template>\\n      <template if.bind=\\\"!pricelists.length && !pricelistsPending\\\">\\n        <p if.bind=\\\"data.selectedUser || data.selectedSubuser\\\">Nessun listino disponibile</p>\\n        <p if.bind=\\\"!data.selectedUser && !data.selectedSubuser\\\">Nessun utente selezionato</p>\\n      </template>\\n      <div if.bind=\\\"api.hasRole('CREATE_ANY_USER_PRICE_LIST_SCHEDULE') && (data.selectedSubuser || data.selectedUser)\\\" class=\\\"d-flex flex-column align-items-start mt-5 px-4 flex-xl-row justify-content-xl-end m-xl-0\\\">\\n        <ka-button if.bind=\\\"data.selectedUser && data.selectedUser.group === 'MASTER_USER'\\\" click.delegate=\\\"subusersPricelistSchedule()\\\" ka-tooltip.bind=\\\"'La pianificazione applicata a questo utente sarà applicata a tutti i suoi '+mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutenti')\\\" class=\\\"secondary flat m-0 me-xl-3\\\">Applica pianificazione ad ogni ${mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutente')}</ka-button>\\n        <ka-button click.delegate=\\\"newPricelistSchedule()\\\" class=\\\"flat mx-0 mt-3 m-xl-0\\\">Pianifica nuovo intervallo</ka-button>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-assegna.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"user\\\">\\n      <span>Utente: <strong>${params.user.profile.displayName}</strong></span>\\n      <span if.bind=\\\"params.user.profile.email\\\" style=\\\"margin-left: 1rem\\\">Email: <strong>${params.user.profile.email}</strong></span>\\n    </p>\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca promozioni</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.code\\\" value.bind=\\\"searchInterface.data.code\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.description\\\" value.bind=\\\"searchInterface.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"searchInterface.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"searchInterface.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n    <template if.bind=\\\"tableInterface\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Descrizione</th>\\n              <th>Scadenza</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td class=\\\"promo-code\\\">\\n                <span \\n                  class=\\\"copy-text\\\" \\n                  click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                  ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n                </span>\\n              </td>\\n              <td>\\n                <span \\n                  class=\\\"copy-text with-icon\\\" \\n                  click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" \\n                  ka-tooltip.bind=\\\"`Copia descrizione: ${item.description}`\\\">${item.description}\\n                </span>\\n              </td>\\n              <td class=\\\"d-flex align-items-center justify-content-end\\\">\\n                <ka-control\\n                  view-model.ref=\\\"item.controls['expireAt']\\\"\\n                  schema.bind=\\\"searchInterface.schema.expireAt\\\"\\n                  value.bind=\\\"item.expireAt\\\"\\n                  class=\\\"expire-at\\\"\\n                  buttons=\\\"clear,dropdown\\\">\\n                </ka-control>\\n                <ka-button \\n                  click.delegate=\\\"addPromotion($event, item)\\\"\\n                  class=\\\"flat inverted ms-3\\\"\\n                  ka-tooltip=\\\"Assegna promozione\\\">\\n                  <i class=\\\"far fa-plus\\\"></i>\\n                  <span>Assegna</span>\\n                </ka-button>\\n              </td>      \\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessuna promozione disponibile</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-crea.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"description\\\" value.bind=\\\"resource.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-modifica.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control if.bind=\\\"params.type === 'EDIT'\\\" name=\\\"expireAt\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n    <ka-control name=\\\"notes\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Utente di riferimento</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Currently the view is visible only to operators -->\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '4' : '8'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-4\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && selectedUserId\\\">\\n    <h2>\\n      <span if.bind=\\\"selectedUserId === 'me'\\\">Elenco delle promozioni assegnate a me</span>\\n      <span if.bind=\\\"selectedUserId !== 'me'\\\">Elenco delle promozioni assegnate ${selectedUserData.profile.displayName ? 'a '+selectedUserData.profile.displayName : ''}</span>\\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_PROMOTION_ASSOCIATION')\\\"\\n        click.delegate=\\\"addPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Assegna promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n            <th>Stato</th>\\n            <th>Scadenza</th>\\n            <th if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\"></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionCode, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionCode}`\\\">${item.promotionCode}\\n              </span>\\n            </td>\\n            <td>\\n              <span \\n                class=\\\"copy-text with-icon\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionDescription, 'Descrizione')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionDescription}`\\\">${item.promotionDescription}\\n              </span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.status === 'ACTIVE'\\\" class=\\\"new-tag success\\\">Attiva</span>\\n              <span if.bind=\\\"item.status === 'EXPIRED'\\\" class=\\\"new-tag error\\\">Terminata</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.expireAt\\\" style=\\\"white-space: nowrap\\\">${item.expireAt|dateFormat:'DD/MM/YYYY'}</span>\\n              <span else>Illimitata</span>\\n            </td>\\n            <td if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\">\\n              <div class=\\\"d-flex justify-content-end\\\">\\n                <ka-button\\n                  click.delegate=\\\"editPromotion($event, item)\\\"\\n                  class=\\\"m-0 flat inverted\\\">\\n                  Modifica\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"item.status === 'EXPIRED'\\\"\\n                  click.delegate=\\\"endsPromotion($event, item)\\\" \\n                  class=\\\"flat inverted secondary with-icon m-0 ms-2\\\">\\n                  <i class=\\\"fas fa-times\\\"></i>\\n                  <span>Termina</span>\\n                </ka-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"description\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco promozioni \\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_PROMOTIONS')\\\" \\n        click.delegate=\\\"createPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuova promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n              </span>\\n              <small\\n                if.bind=\\\"item.type === 'PORTABILITY'\\\" \\n                class=\\\"ms-2 tag primary\\\"\\n                ka-tooltip=\\\"Le promozioni di portabilità non potranno essere utilizzate per l'attivazione e sono applicabili solo in fase di rinnovo.\\\">\\n                Portabilità\\n              </small>\\n            </td>\\n            <td>\\n              <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" ka-tooltip.bind=\\\"`Copia codice: ${item.description}`\\\">${item.description}</span>\\n            </td>  \\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./ricariche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ricariche</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '3' : '6'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <md-control name=\\\"types\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"!users.selected\\\" change.call=\\\"typesChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES')\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"visible\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>\\n      <span if.bind=\\\"users.fetched.id === api.user.id\\\">Elenco delle ricariche per il mio ${mdt.parsers.contextualize(api.user, 'account')}</span>\\n      <span if.bind=\\\"users.fetched.id !== api.user.id\\\">Elenco delle ricariche per  ${users.fetched.displayName}</span>\\n    </h2>\\n    <md-table-progressbar if.bind=\\\"tableInterface.isLoading\\\"></md-table-progressbar>\\n    <md-table-wrapper>     \\n      <table class=\\\"ka-table-like \\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Pacchetto</th>\\n            <th>Note Legali</th>\\n            <th>Totale</th>\\n            <th>IVA</th>\\n            <th>Totale + IVA</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <template if.bind=\\\"tableInterface.data.length && users.fetched.packages.length\\\">\\n          <template repeat.for=\\\"type of users.fetched.packages\\\">\\n            <tbody if.bind=\\\"type.packages.length\\\" class.bind=\\\"tableInterface.isLoading ? 'isLoading' : ''\\\">\\n              <tr class=\\\"type-header\\\">\\n                <td colspan=\\\"7\\\">\\n                  <p>\\n                    <span>${type.title}</span>\\n                    <span class=\\\"iva\\\">IVA: <span if.bind=\\\"type.vatPercentage\\\">${type.vatPercentage}%</span><span if.bind=\\\"!type.vatPercentage\\\">non applicabile</span></span>\\n                    <span class=\\\"description\\\" innerhtml=\\\"${type.description}\\\"></span>\\n                  </p>\\n                </td>\\n              </tr>\\n              <template repeat.for=\\\"pkg of type.packages\\\">\\n                <tr id=\\\"${pkg.code}\\\">\\n                  <td class=\\\"code\\\"><span>${pkg.code}</span></td>\\n                  <td>${pkg.title}<!-- <small if.bind=\\\"pkg.description\\\"><br>${pkg.description}</small id=971393326 --></td>\\n                  <td>${pkg.legalNote}</td>\\n                  <td>${pkg.netAmount/100} €</td>\\n                  <td>${pkg.vatAmount/100} €</td>\\n                  <td>${pkg.amount/100} €</td>\\n                  <td class=\\\"d-flex flex-column align-items-end\\\">\\n                    <div class=\\\"quantity-selector\\\">\\n                      <div class=\\\"d-flex\\\" if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, -1)\\\" disabled.bind=\\\"users.fetched.cart.packages[pkg.code] == 1\\\"><i class=\\\"far fa-minus-circle\\\"></i></ka-button>\\n                        </div>\\n                        <div class=\\\"counter\\\">\\n                          <input type=\\\"number\\\" min=\\\"1\\\" value.bind=\\\"users.fetched.cart.packages[pkg.code]\\\" onFocus=\\\"blur()\\\"></input>\\n                        </div>\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, +1)\\\"><i class=\\\"far fa-plus-circle\\\"></i></ka-button>\\n                        </div>\\n                      </div>\\n                      <div if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"removeFromCart(pkg)\\\">Rimuovi dal carrello</ka-button>\\n                      </div>\\n                    </div>\\n                    <ka-button class=\\\"flat\\\" if.bind=\\\"!users.fetched.cart.packages[pkg.code] || users.fetched.cart.packages[pkg.code] == 0\\\" click.delegate=\\\"addToCart(pkg)\\\">Aggiungi al carrello</ka-button>              \\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n          </template>\\n        </template>\\n      </table>        \\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Cartbar -->\\n  <div class=\\\"cartbar\\\">\\n    <i class=\\\"fas fa-cart-plus\\\"></i>\\n    <div class=\\\"cart-info\\\">\\n      <span class=\\\"summary\\\"><em>${users.fetched.cart.quantity}</em><div>ricariche nel carrello di <span class=\\\"user\\\">${users.fetched.displayName}</span></div></span>\\n      <span class=\\\"amount\\\">Totale <strong>${users.fetched.cart.amount.net/100} € +</strong><strong>IVA ${users.fetched.cart.amount.vat/100} €</strong></span>\\n    </div>\\n    <div class=\\\"cart-buttons\\\">\\n      <ka-button if.bind=\\\"api.hasRole(['CREATE_USER_SHOP_CART_REFILL_PACKAGES', 'CREATE_ANY_USER_SHOP_CART_REFILL_PACKAGE'])\\\" click.delegate=\\\"checkout($event)\\\" class=\\\"flat\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Procedi al pagamento</ka-button>\\n      <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"emptyCart()\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Svuota</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./bank-transfer-data.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!prececkout\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"prececkout\\\">\\n      <h3>\\n        <span>Hai creato l'ordine per questa spedizione il ${prececkout.createdAt|dateFormat:'DD/MM/YYYY'}.</span>\\n        <span class=\\\"d-block mt-2\\\">I dati per procedere al pagamento tramite bonifico bancario:</span>\\n      </h3>\\n      <ul class=\\\"tables\\\">\\n        <li class=\\\"table recipient-total\\\">\\n          <div class=\\\"grid-row voice\\\">\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Titolare conto:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia titolare conto\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeDisplayName, 'titolare conto')\\\">${prececkout.paymentCoors.payeeDisplayName}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Iban:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia Iban\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeIbanCode, 'Iban')\\\">${prececkout.paymentCoors.payeeIbanCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Causale bonifico:</strong> \\n                <span\\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia codice di conferma breve\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.confirmationShortCode, 'codice di conferma breve')\\\">${prececkout.paymentCoors.confirmationShortCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>importo totale:</strong> <span class=\\\"d-block d-md-inline-block mt-2 mt-md-0\\\">${prececkout.paymentCoors.presentedGrossAmount} €</span>\\n              </small>\\n            </div>\\n          </div>\\n        </li>                                          \\n      </ul>\\n      <p class=\\\"info\\\">\\n        <small>\\n          <i class=\\\"far fa-exclamation-circle\\\"></i>\\n          Per velocizzare i tempi di lavorazione invia un'email a <a href=\\\"${email.mailto}\\\">${prececkout.paymentCoors.customerCareEmail}</a><br>\\n          Allega la <strong>distinta di pagamento</strong> e specifica il <strong>codice di conferma breve o causale bonifico</strong> nell'oggetto dell'email.<br class=\\\"d-none d-md-block\\\">\\n          <span innerhtml.bind=\\\"customerCareConfirmation\\\"></span>\\n        </small>\\n      </p>  \\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./legacy-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"archive\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setArchiveLabel()\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button\\n      disabled.bind=\\\"!resource.data.archive\\\"\\n      class=\\\"inverted flat ms-0\\\"\\n      click.delegate=\\\"toLegacyArchive()\\\">Vai a storico ${archiveLabel}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-cost-detail.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">\\n              <span class=\\\"text-primary\\\"> ${costVoices.total.netAmount} €</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-status-transitions-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isLoading\\\">Caricamento in corso...</p>\\n    <template else>\\n      <div class=\\\"recipient-info\\\">\\n        <span>Destinatario: </span><span class=\\\"text-color\\\">${message.recipient.label}</span>\\n      </div>\\n      <ul if.bind=\\\"message.timeline.length\\\" class=\\\"m-0 statuses\\\" style=\\\"list-style: none;\\\">\\n        <li repeat.for=\\\"record of message.timeline\\\" class=\\\"p-0 ${record.ended ? 'ended' : ''}\\\">\\n          <div class=\\\"status-date\\\">\\n            <div class=\\\"d-flex justify-content-center align-items-center\\\">\\n              <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n              <div class=\\\"d-flex flex-column\\\">\\n                <span class=\\\"text-nowrap date\\\">${record.reachedAt|dateFormat:'DD/MM/YYYY'}</span>\\n                <small class=\\\"text-nowrap time\\\">${record.reachedAt|dateFormat:'HH:mm'}</small>\\n              </div>\\n            </div>\\n          </div>\\n          <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n          <div class=\\\"row wrapper-status flex-column flex-xl-row\\\">\\n            <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n            <div class=\\\"p-0\\\">\\n              <span class=\\\"tag status d-flex align-items-center with-icon ${queueMessages.getQueueMessageStatusCodeGroupValue(record.code)}\\\">\\n                ${queueMessages.getQueueMessageStatusCodeLabel(record.code)}\\n              </span>\\n              <small class=\\\"reason\\\">${record.reason}</small>\\n            </div>\\n          </div>\\n        </li>\\n      </ul>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-cost-detail.sass\\\"></require>\\n  <div class=\\\"body\\\" ref=\\\"costDetailBody\\\">\\n    <p if.bind=\\\"isPendingInit !== false\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"isPendingInit === false\\\" class=\\\"content\\\" ref=\\\"costDetailWrapper\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong>Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.netAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong>IVA</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.vatAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale complessivo</strong></td>\\n            <td>\\n              <p \\n                class=\\\"gross-amount ${ record.status }\\\">\\n                ${costVoices.total.grossAmount} €\\n              </p>\\n              <p \\n                class=\\\"order-amount\\\"\\n                if.bind=\\\"record.status === 'DISCONTINUED' && record.costVoices.total.grossAmountAfterRefund\\\">\\n                ${record.costVoices.total.grossAmountAfterRefund} €\\n              </p>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-interrupt-delivery.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"content\\\">\\n      <p>L'invio o la consegna di ogni messaggio sarà irreversibilmente interrotta.</p>\\n      <p if.bind=\\\"printCosts\\\" class=\\\"mt-3\\\"><strong>È possibile che vengano addebitati costi di stampa. Un resoconto dettagliato dei costi applicati sarà inviato al tuo indirizzo email.</strong></p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary m-0\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button \\n      class=\\\"inverted primary\\\" \\n      click.delegate=\\\"interruptDelivery($event)\\\">Prosegui</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-message-preview.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isInitPending !== false\\\" class=\\\"dialog-loader m-0\\\"><span>Caricamento in corso</span></p>\\n    <iframe show.bind=\\\"isInitPending === false\\\" id=\\\"${message.uuid}\\\"></iframe>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"secondary\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-payment.sass\\\"></require>\\n  <div class=\\\"body\\\" ref=\\\"paymentBody\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"banner-message error\\\"><span>Impossibile caricare i dati di pagamento</span></p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"!isErrorInit && isPendingInit === false\\\" ref=\\\"paymentWrapper\\\">\\n      <p if.bind=\\\"isNotFound\\\" class=\\\"not-found\\\">Nessun ordine associato a questa spedizione.</p>\\n      <p if.bind=\\\"isOrderUnavailable\\\" class=\\\"not-found\\\">Dati dell'ordine n. ${orderId} non disponibili.</p>\\n      <div if.bind=\\\"order\\\" class=\\\"content\\\">\\n        <table class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th>Data di creazione</th>\\n              <th>Numero ordine</th>\\n              <th>Account</th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr>\\n              <td>${order.createdAt | dateFormat}</td>\\n              <td>\\n                <span\\n                  class=\\\"link external\\\"\\n                  ka-tooltip=\\\"Vai all'ordine\\\"\\n                  click.delegate=\\\"navigateToOrder(order.id)\\\">${order.id}</span>\\n              </td>\\n              <td>${order.userDisplayName}</td>\\n            </tr>\\n            <tr class=\\\"thead\\\">\\n              <th>Intestatario fattura</th>\\n              <th>Pagamento</th>\\n              <th>Totale da pagare</th>\\n            </tr>\\n            <tr class=\\\"tbody\\\">\\n              <td>${billingProfileOwner}</td>\\n              <td>${paymentMethodLabel}</td>\\n              <td>\\n                <span class=\\\"mono d-block\\\">${order.grossAmount} €</span>\\n                <span class=\\\"tag with-icon mt-2 ${orderStatuses[order.status].class}\\\">\\n                  ${orderStatuses[order.status].text}\\n                </span>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-sender.sass\\\"></require>\\n  <div class=\\\"body\\\" ref=\\\"senderBody\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"banner-message error\\\"><span>Impossibile caricare i dati del mittente</span></p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"!isErrorInit && isPendingInit === false\\\" ref=\\\"senderWrapper\\\" class=\\\"content\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Email / Email di notifica</th>\\n            <th>Pec</th>\\n            <th>Multicerta</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <small if.bind=\\\"usesEmail\\\" class=\\\"text-color d-block\\\">\\n                <strong>Email: </strong>${sender.email.displayAddress}\\n              </small>\\n              <small if.bind=\\\"hasNotificationEmail\\\" class=\\\"text-color d-block\\\">\\n                <strong>Email di notifica: </strong>\\n                <template repeat.for=\\\"emailNotification of sender.emailNotificationAddresses\\\">\\n                  ${emailNotification | appendComma: $index : sender.emailNotificationAddresses.length}\\n                </template>\\n              </small>\\n            </td>\\n            <td>\\n              <small if.bind=\\\"usesPec\\\" class=\\\"text-color\\\">${sender.certifiedEmail.address}</small>\\n            </td>\\n            <td>\\n              <small if.bind=\\\"usesMulticerta\\\" class=\\\"text-color\\\">${sender.email.displayAddress}</small>\\n            </td>\\n          </tr>\\n          <tr class=\\\"thead\\\">\\n            <th>Posta</th>\\n            <th>Multibox</th>\\n            <th>Logo</th>\\n          </tr>\\n          <tr class=\\\"tbody\\\">\\n            <td>\\n              <small if.bind=\\\"usesPosta\\\">\\n                <span class=\\\"text-color\\\">${sender.addressLines[1]}, ${sender.addressLines[2]}, ${sender.addressLines[3]}.</span><br>\\n                <span if.bind=\\\"sender.addressLines.length === 5\\\">Presso: ${sender.addressLines[4]}</span>\\n              </small>\\n            </td>\\n            <td>\\n              <ul if.bind=\\\"usesMultibox\\\" class=\\\"multiboxes\\\">\\n                <li\\n                  class=\\\"multibox\\\"\\n                  repeat.for=\\\"multibox of sender.multiboxes\\\"\\n                  click.delegate=\\\"dialogMultibox(multibox)\\\">\\n                  <small>${multibox.addressLines[0]}:</small>\\n                  <small>${multibox.addressLines[1]}</small>\\n                </li>\\n              </ul>\\n            </td>\\n            <td>\\n              <small\\n                if.bind=\\\"sender.envelopeLogo\\\"\\n                class=\\\"envelope-logo\\\"\\n                click.delegate=\\\"navigateToEnvelopeLogo(sender.envelopeLogo.uuid)\\\">${sender.envelopeLogo.title}</small>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-attachments.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"errorInit\\\">Errore in fase di caricamento</p>\\n    <template if.bind=\\\"pendingInit === false && !errorInit\\\">\\n      <div class=\\\"general-options\\\" if.bind=\\\"globalCover || globalStaple === 'YES' || fastDelivery === 'YES'\\\">\\n        <h3>Altre opzioni</h3>\\n        <template if.bind=\\\"globalStaple === 'YES'\\\">\\n          <p><strong>Pinzatura globale: </strong>tutti i documenti pinzati assieme.</p><br>\\n        </template>\\n        <template if.bind=\\\"fastDelivery === 'YES'\\\">\\n          <p><strong>Servizio accelera: </strong>elaborazione stampa prioritaria.</p><br>\\n        </template>\\n        <p if.bind=\\\"globalCover.label\\\" ka-tooltip=\\\"Copertina che racchiude tutti i documenti con visibilità comune\\\">\\n          <strong>Copertina globale: </strong>${globalCover.label}\\n        </p>\\n      </div>\\n      <h3 if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">Elenco documenti</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Nome file</th>\\n            <th>Dimensione</th>\\n            <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <th>Visibilità</th>\\n              <th>Parametri di stampa</th>\\n            </template>\\n            <th if.bind=\\\"messageChannel === 'MULTICERTA'\\\">Firma</th>\\n             <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"attachment of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${attachment.filename}</small></td>\\n            <td>${attachment.filesize|filesizeFormat}</td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <span class=\\\"tag ${attachment.printingParameters.visibility === 'private' ? 'primary' : 'secondary'}\\\">\\n                ${attachment.printingParameters.visibility === 'private' ? 'Privata' : 'Comune'}\\n              </span>\\n            </td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <div class=\\\"format-options\\\">\\n                <span><strong>Formato: </strong>${attachment.printingParameters.sheetFormat}</span>\\n                <span if.bind=\\\"attachment.printingParameters.weight\\\">${attachment.printingParameters.weight}gr/m<sup>2</sup></span>\\n              </div>\\n              <div class=\\\"printing-options\\\">\\n                <strong>Opzioni: </strong>\\n                <span if.bind=\\\"attachment.printingParameters.frontBack\\\">stampa ${attachment.printingParameters.frontBack === 'BOTH' ? 'fronte/retro' : 'solo fronte'}</span>\\n                <span if.bind=\\\"globalStaple === 'NO' && attachment.printingParameters.staple === 'YES'\\\">pinzatura</span>\\n              </div>\\n              <div>\\n                <strong>Modalità di stampa: </strong>${attachment.printingParameters.colorMode === 'BW' ? 'stampa in bianco e nero' : 'stampa a colori'}\\n              </div>\\n              <div if.bind=\\\"attachment.cover.label && attachment.printingParameters.visibility === 'global'\\\">\\n                <strong>Copertina: </strong>${attachment.cover.label}\\n              </div>\\n            </td>\\n            <td if.bind=\\\"messageChannel === 'MULTICERTA'\\\" class=\\\"signature\\\">\\n              ${attachment.requiredSignatureType}\\n              <span if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <i class=\\\"fas fa-check ms-3 ${attachment.signatureDate ? 'checked' : ''}\\\"></i>\\n              </span>\\n            </td>\\n            <td class=\\\"d-flex justify-content-end\\\">\\n              <template if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file firmato\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/signed-download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button \\n                  ka-tooltip=\\\"Scarica file firmato\\\"\\n                  class=\\\"flat secondary inverted wicon m-0 me-2\\\"\\n                  click.delegate=\\\"downloadFile('signed-download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-contract\\\"></i>\\n                </ka-button>\\n              </template>\\n              <template else>\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  ka-tooltip=\\\"Scarica file\\\"\\n                  class=\\\"flat secondary inverted icon m-0\\\"\\n                  click.delegate=\\\"downloadFile('download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-download\\\"></i>\\n                </ka-button>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length && pendingInit === false\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Non sono presenti allegati</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-multibox-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"addressLines\\\">\\n      <p><strong>Destinatario: </strong><span>${multibox.addressLines[0]}.</span></p>\\n      <p><strong>Comune\\\\Città: </strong><span>${multibox.addressLines[3]}.</span></p>\\n      <p><strong>Indirizzo: </strong><span>${multibox.addressLines[1]}, ${multibox.addressLines[2]}.</span></p>\\n      <p if.bind=\\\"multibox.addressLines.length === 5\\\"><strong>Presso: </strong><span>${multibox.addressLines[4]}.</span></p>\\n      <p><strong>Elenco destinatari: </strong><span>${multibox.list ? 'Aggiungi elenco' : 'Non aggiungere'}.</span></p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-queue-resend.sass\\\"></require>\\n  <div class=\\\"body\\\" ref=\\\"queueResendBody\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"m-0 p-0\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"!isErrorInit && isPendingInit === false\\\" ref=\\\"queueResendWrapper\\\" class=\\\"content\\\">\\n      <p class=\\\"alert\\\">Genera una bozza della spedizione del tutto identica all'originale. La bozza della spedizione, dopo essere stata generata sarà comunque modificabile.</p>\\n      <template if.bind=\\\"searchInterface\\\">\\n        <h2>Ricerca destinatari</h2>\\n        <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"textSearch\\\" submit.call=\\\"search()\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n            <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n            <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n          </div>\\n        </div>\\n      </template>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">\\n        <span>Elenco destinatari</span>\\n        <div>\\n          <span><small class=\\\"recipients-counter\\\">Selezionati <strong>${numberSelected}</strong> destinatari su <strong>${allUuids.length}</strong></small></span>\\n          <ka-button click.delegate=\\\"selectAll(!allSelected)\\\" class=\\\"selection-btn flat inverted secondary\\\" >${!allSelected ? 'Seleziona tutti' : 'Deseleziona tutti'}</ka-button>\\n        </div>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,50,100,200\\\"></md-table-toolbar>\\n      <md-table-wrapper ref=\\\"mdTableWrapperEl\\\" height=\\\"auto\\\">\\n        <table if.bind=\\\"!pendingInit\\\" class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"allPageSelected\\\" \\n                  change.trigger=\\\"togglePageSelection($event)\\\">\\n              </th>\\n              <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n              <th style=\\\"width: 1%; padding: 1rem\\\">Canale utilizzato</th>\\n              <th style=\\\"padding: 1rem\\\">Indirizzo</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td style=\\\"cursor: pointer; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"selectableRecipients[record.uuid]\\\"\\n                  change.trigger=\\\"toggleRecipientSelection()\\\">\\n              </td>\\n              <td>${record.label}</td>\\n              <td style=\\\"width: 1%\\\">\\n                <span style=\\\"white-space: nowrap\\\">\\n                  <i \\n                    class=\\\"fal ${record.channel|queueChannelFormat:'icon'} text-primary\\\" \\n                    style=\\\"font-size: 1.8rem; vertical-align: middle; width: 2.5rem\\\">\\n                  </i>\\n                <span>${record.channel|queueChannelFormat}</span>\\n                </span>\\n              </td>\\n              <td>\\n                <small>${record.address}</small>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length || errorInit\\\">\\n            <tr>\\n              <td colspan=\\\"4\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Nessun destinatario trovato</span>\\n                <p if.bind=\\\"errorInit\\\">Errore in fase di caricamento</p>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary m-0\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      disabled.bind=\\\"numberSelected == 0 || isPendingInit\\\" \\n      class=\\\"primary\\\" \\n      click.delegate=\\\"createNewDraft()\\\">Prosegui</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./drafts.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca bozze</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n    <span>Elenco spedizioni in stato bozza</span>\\n    <div>\\n      <ka-button\\n        click.delegate=\\\"deleteSelectedDrafts($event)\\\"\\n        disabled.bind=\\\"!select.someRecordsSelected\\\"\\n        class=\\\"inverted with-icon flat\\\">\\n        <i class=\\\"material-icons\\\">sync</i>\\n        <span>Elimina bozze selezionate</span>\\n      </ka-button>\\n    </div>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Data di scadenza</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr style=\\\"cursor: pointer;\\\">\\n              <td click.trigger=\\\"select.someRecords(record)\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.id]\\\" style=\\\"pointer-events: none;\\\">\\n              </td>\\n              <td>${record.createdAt|dateFormat}\\n              </td>\\n              <td>${record.expireAt|dateFormat}\\n              <td class=\\\"limitwidth-40\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td class=\\\"ka-table-row-tools\\\">\\n                <div class=\\\"tools-wrapper\\\">\\n                  <button click.delegate=\\\"editDraft(record)\\\" ka-tooltip=\\\"Modifica\\\"><i class=\\\"fal fa-pencil\\\"></i></button>\\n                  <button click.delegate=\\\"deleteDraft(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"fal fa-trash-alt\\\"></i></button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti bozze</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./pending.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control\\n        name=\\\"context\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeContext()\\\">\\n      </md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control\\n        name=\\\"owner\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"setEndpoint()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spezione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        name=\\\"paymentMethod\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossGte\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossLte\\\"\\n          buttons=\\\"clear\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        if.bind=\\\"isOperator\\\"\\n        name=\\\"shortConfirmationCode\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2>Elenco</h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Codice spedizione</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th>Totale</th>\\n            <th>Pagamento</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.createdAt|dateFormat}\\n                <small><br>\\n                  <span\\n                    class=\\\"copy-text with-icon\\\"\\n                    click.delegate=\\\"copyText(record.uuid, 'UUID')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                    UUID\\n                  </span>\\n                </small>\\n              </td>\\n              <td>\\n                <span\\n                  click.delegate=\\\"copyText(record.sendCode, 'Codice spedizione')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                  class=\\\"copy-text with-icon d-flex\\\">\\n                  <small class=\\\"limitwidth-20 text-color\\\">${record.sendCode}</small>\\n                </span>\\n              </td>\\n              <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\" class=\\\"text-color\\\">${record.topic}</span>\\n                <div class=\\\"channels\\\">\\n                  <i ka-tooltip=\\\"Posta\\\" class=\\\"fal fa-mail-bulk ${record.usedChannels.includes('sendposta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multicerta\\\" class=\\\"fal fa-shield-check ${record.usedChannels.includes('multicerta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Pec\\\" class=\\\"fal fa-file-certificate ${record.usedChannels.includes('pec') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multibox\\\" class=\\\"fal fa-box-alt ${record.usedChannels.includes('multibox') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Email\\\" class=\\\"fal fa-at ${record.usedChannels.includes('sendemail') ? 'used' : ''}\\\"></i>\\n                </div>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td>\\n                <span if.bind=\\\"record.costVoices.total.grossAmount\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia totale'\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                  class=\\\"gross-amount ${isOrderAmountShowable(record) ? 'line-through' : 'copy-text with-icon'}\\\">\\n                  ${record.costVoices.total.grossAmount} €\\n                </span>\\n                <span if.bind=\\\"isOrderAmountShowable(record)\\\"\\n                  class=\\\"order-amount copy-text with-icon\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\">\\n                  ${record.costVoices.total.orderAmount} €\\n                </span>\\n              </td>\\n              <td class=\\\"payment\\\">\\n                <template if.bind=\\\"record.paymentMethod\\\">\\n                  <div style=\\\"white-space: nowrap\\\">\\n                    <span>${paymentMethods[record.paymentMethod].label}</span>\\n                    <!-- Delete payment -->\\n                     <small\\n                      click.delegate=\\\"dialogDeletePayment(record)\\\"\\n                      ka-tooltip=\\\"Elimina la sessione di pagamento\\\"\\n                      class=\\\"delete-payment ms-2\\\"\\n                      if.bind=\\\"api.hasRole('MODIFY_QUEUE') && record.paymentMethod === 'E-PAYMENT' && record.multipaygatePaymentSessionStatus === 'PENDING'\\\">\\n                      Elimina pagamento\\n                    </small> \\n                  </div>\\n                  <template if.bind=\\\"!isOperator\\\">\\n                    <small \\n                      if.bind=\\\"record.paymentMethod === 'BANK-TRANSFER'\\\" \\n                      class=\\\"bank-transfer-data\\\" \\n                      click.delegate=\\\"bankTransferData(record)\\\">\\n                      Dati bonifico bancario\\n                    </small>\\n                  </template>            \\n                  <!-- E-PAYMENT (PAYPAL) -->\\n                  <template if.bind=\\\"record.paymentMethod === 'E-PAYMENT'\\\">\\n                    <span \\n                      if.bind=\\\"['ERROR', 'DECEASED'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\"\\n                      class=\\\"text-error d-block tag error mt-2\\\" style=\\\"white-space: nowrap\\\">\\n                      Esito pagamento negativo.\\n                    </span>\\n                    <span\\n                      class=\\\"payment-pending tag pending mt-2\\\"\\n                      if.bind=\\\"record.multipaygatePaymentSessionStatus === 'PENDING'\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\">\\n                        Elaborazione pagamento\\n                    </span>\\n                  </template>\\n                </template>             \\n                <small \\n                  if.bind=\\\"record.shortConfirmationCode && api.hasRole('MODIFY_ANY_ORDER')\\\"\\n                  click.delegate=\\\"copyText(record.shortConfirmationCode, 'codice di conferma breve o causale')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia codice di conferma breve o causale'\\\"\\n                  class=\\\"copy-text with-icon d-flex short-confirmation-code\\\">\\n                  ${record.shortConfirmationCode}\\n                </small>\\n              </td>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\" class=\\\"text-end\\\">\\n                <ka-button\\n                  if.bind=\\\"!isOperator\\\"\\n                  click.delegate=\\\"userConfirmOrder(record, $event)\\\"\\n                  disabled.bind=\\\"['PENDING'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                  class=\\\"flat inverted m-0\\\">Conferma o modifica\\n                </ka-button>\\n                <ka-button\\n                  class=\\\"inverted flat ms-2 ${!isOperator ? 'icon' : ''}\\\"\\n                  disabled.bind=\\\"!record.draftUuid\\\"\\n                  ka-tooltip=\\\"Modifica la bozza della spedizione\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'edit')\\\">\\n                  ${isOperator ? 'Modifica' : ''}\\n                  <i if.bind=\\\"!isOperator\\\" class=\\\"fal fa-pencil\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  if.bind=\\\"api.hasRole('CONFIRM_ANY_PRE_CHECKOUT')\\\"\\n                  class=\\\"inverted flat icon ms-2\\\"\\n                  click.delegate=\\\"backofficeConfirmOrder($event, record)\\\"\\n                  disabled.bind=\\\"record.paymentMethod !== 'BANK-TRANSFER'\\\">\\n                  <i class=\\\"far fa-check\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"isOperator\\\"\\n                  class=\\\"inverted flat secondary icon ms-2\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'delete')\\\"\\n                  ka-tooltip=\\\"Elimina definitivamente la spedizione\\\">\\n                  <i class=\\\"fal fa-trash-alt\\\"></i>\\n                </ka-button>     \\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni in attesa di pagamento</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./recipients.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit === true\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 style=\\\"border-top: 0\\\">\\n      <span>Ricerca destinatari</span>    \\n      <ka-button\\n        disabled.bind=\\\"!queue\\\"\\n        click.delegate=\\\"navigateBack(queue.statusGroup)\\\"\\n        style=\\\"margin-left: auto\\\"\\n        ka-tooltip=\\\"Torna indietro\\\"\\n        class=\\\"flat inverted secondary with-icon\\\">\\n        <i class=\\\"far fa-arrow-left\\\"></i>\\n        <span>Indietro</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"textSearch\\\" submit.call=\\\"$parent.search()\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"changeChannel()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 status\\\">\\n        <md-control \\n          name=\\\"status\\\" \\n          buttons=\\\"dropdown,clear\\\"\\n          readonly.bind=\\\"!data.channel\\\"\\n          md-tooltip=\\\"Necessario selezionare almeno un canale: lo stato selezionabile dipende dal canale scelto.\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <h2>\\n      <div class=\\\"recipients-info\\\">\\n        <span>Elenco destinatari</span><small>Codice spedizione: <span class=\\\"text-color\\\">${queue.sendCode}</span></small>\\n      </div>\\n      <!-- <span>Elenco destinatari: <span></span> -->\\n      <div class=\\\"buttons\\\">\\n        <ka-button\\n          disabled.bind=\\\"!canQueueBeDiscontinued\\\"\\n          class=\\\"flat error inverted with-icon me-3\\\"\\n          click.delegate=\\\"dialogInterruptDelivery($event)\\\"\\n          if.bind=\\\"typeof canQueueBeDiscontinued == 'boolean'\\\"\\n          ka-tooltip=\\\"Interrompi la consegna dei messaggi non ancora inviati (canali digitali) o non ancora stampati (canali cartacei)\\\">\\n          <i class=\\\"fas fa-times\\\"></i>\\n          <span>Interrompi consegna</span>\\n        </ka-button>\\n        <md-split-button label=\\\"Opzioni\\\">\\n          <button class=\\\"options\\\">Scarica</button>\\n          <ul class=\\\"source d-none\\\">\\n            <li>\\n              <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"mdFileDownload.fileDownload(`users/${queueOwnerId}/queues/${queueUuid}/message-log/current.txt`, null, 'txt', $event)\\\">Registro messaggi</div>\\n            </li>\\n            <li>\\n              <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"mdFileDownload.fileDownload(`users/${queue.owner.id}/queue-outlines/${queue.uuid}/recipients/download.csv`, queue, 'csv', $event)\\\">Elenco destinatari</div>\\n            </li>   \\n          </ul>\\n        </md-split-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Canale</th>\\n            <th>Stato</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"label\\\">Destinatario</md-table-sort></th>\\n            <th>Messaggio/Allegati</th>\\n            <th>Costo</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td class=\\\"channel d-flex\\\">\\n                <i \\n                  if.bind=\\\"!record.emailForwarding || record.emailForwarding === 'NO'\\\" \\n                  class=\\\"fal ${record.channel|queueChannelFormat:'icon'}\\\"></i>\\n                <i \\n                  class=\\\"fal fa-at arrow-icon\\\"\\n                  if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\"></i>\\n                <div>\\n                  <p>${record.channel|queueChannelFormat}</p>\\n                  <small if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\">Mess. di cortesia</small>\\n                  <div if.bind=\\\"record.channel === 'MULTICERTA'\\\">\\n                    <small style=\\\"white-space: nowrap\\\">Modalità: \\n                      <span class=\\\"text-color\\\">${record.isMulticertaLegal ? 'Legal' : 'Classic'}</span></small>\\n                    <small if.bind=\\\"record.alternativeChannel\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Alternativo: \\n                      <span class=\\\"text-primary\\\">${record.alternativeChannel|queueChannelFormat}</span></small>\\n                  </div>\\n                </div>\\n              </td>\\n              <td class=\\\"status\\\">\\n                <span\\n                  click.delegate=\\\"dialogMessageStatusTransitionsHistory(record, queueMessages)\\\"\\n                  class=\\\"new-tag clickable ${queueMessages.getQueueMessageStatusCodeGroupValue(record.status.code, 'new-tag')}\\\"\\n                  ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription(record.status.code)+`<span style='display: block; margin-top: .5rem'>Clicca per visualizzare lo storico.</span>`\\\">\\n                  ${queueMessages.getQueueMessageStatusCodeLabel(record.status.code)}\\n                </span>\\n                <!-- MULTICERTA -->\\n                <div if.bind=\\\"record.channel === 'MULTICERTA'\\\" class=\\\"received-timeline mt-2\\\">\\n                  <small>${record.channel === 'MULTICERTA' ? 'Cronologia Multicerta' : 'Email con conferma di lettura'}:</small>\\n                  <ul class=\\\"mt-1\\\">\\n                    <li class=\\\"${['TRAVELING','RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"check ms-0\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('TRAVELING')\\\"></i>\\n                    </li>\\n                    <li class=\\\"${['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"fas fa-long-arrow-right\\\"></i>\\n                      <i class=\\\"check\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('RECEIVED-NOTIFIED')\\\"></i>\\n                    </li>\\n                    <li class=\\\"${['RECEIVED-OPENED','RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"fas fa-long-arrow-right\\\"></i>\\n                      <i class=\\\"check\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('RECEIVED-OPENED')\\\"></i>\\n                    </li>\\n                    <li class=\\\"${['RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"fas fa-long-arrow-right\\\"></i>\\n                      <i class=\\\"check\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('RECEIVED-READ')\\\"></i>\\n                    </li>\\n                  </ul>\\n                </div>\\n                <!-- SENDEMAIL with confirmation requested -->\\n                <div if.bind=\\\"(record.channel === 'SENDEMAIL' && record.readConfirmationRequested)\\\" class=\\\"received-timeline mt-2\\\">\\n                  <small>${record.channel === 'MULTICERTA' ? 'Cronologia Multicerta' : 'Email con conferma di lettura'}:</small>\\n                  <ul class=\\\"mt-1\\\">\\n                    <li class=\\\"${['TRAVELING','RECEIVED-NOTIFIED','RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"check ms-0\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('TRAVELING')\\\"></i>\\n                    </li>\\n                    <li class=\\\"${['RECEIVED-NOTIFIED','RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"fas fa-long-arrow-right\\\"></i>\\n                      <i class=\\\"check\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('RECEIVED-NOTIFIED')\\\"></i>\\n                    </li>\\n                    <li class=\\\"${['RECEIVED-READ'].includes(record.status.code) ? 'checked' : ''}\\\">\\n                      <i class=\\\"fas fa-long-arrow-right\\\"></i>\\n                      <i class=\\\"check\\\" ka-tooltip=\\\"value.bind: queueMessages.getQueueMessageStatusDescription('RECEIVED-READ')\\\"></i>\\n                    </li>\\n                  </ul>\\n                </div>\\n              </td>\\n              <td>\\n                <p class=\\\"m-0 p-0\\\">${record.recipient.label}</p>\\n                <small>${record.address}</small>\\n              </td>\\n              <td class=\\\"message\\\">\\n                <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(record.channel)\\\">\\n                  <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Vettore:\\n                    <span class=\\\"text-color\\\"> ${vectors[record.postalOptions.vector]}</span></small>\\n                  <small class=\\\"d-block mt-1\\\" style=\\\"white-space: nowrap\\\">Affrancatura:\\n                    <span \\n                      class=\\\"text-color interactive\\\" \\n                      ka-tooltip=\\\"value.bind: postages[record.postalOptions.postage].description\\\"> ${postages[record.postalOptions.postage].label}</span>\\n                    <span\\n                      if.bind=\\\"isAuthorizedToDownloadPostalReceipt && record.deliveryReceiptAvailable === 'YES'\\\"\\n                      class=\\\"interactive text-color delivery-receipt ms-1\\\"\\n                      click.delegate=\\\"downloadDeliveryReceipt(record, $event)\\\"\\n                      ka-tooltip=\\\"Scarica la cartolina di ritorno\\\"\\n                      md-action=\\\"{ icon: 'far fa-file-download', iconAfter: true }\\\"\\n                      style=\\\"white-space: nowrap\\\">Cartolina di ritorno</span>\\n                    <span\\n                      if.bind=\\\"isAuthorizedToDownloadPostalReceipt && record.deliveryReceiptExpected === 'YES' && record.deliveryReceiptAvailable === 'NO'\\\"\\n                      class=\\\"ms-1\\\">In attesa cartolina</span>\\n                  </small>\\n                  <small if.bind=\\\"record.postalOptions.trackingCode\\\" class=\\\"d-block mt-1\\\" style=\\\"white-space: nowrap\\\">Tracking code:\\n                    <span class=\\\"text-color\\\" ka-tooltip=\\\"value.bind: 'Cerca su '+vectors[record.postalOptions.vector]\\\">\\n                      <a href=\\\"${urlPosteItaliane}${record.postalOptions.trackingCode}\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer external\\\" class=\\\"interactive link\\\">${record.postalOptions.trackingCode}</a>\\n                    </span>\\n                  </small>\\n                </template>\\n                <div if.bind=\\\"['SENDEMAIL','MULTICERTA','PEC'].includes(record.channel)\\\">\\n                  <small if.bind=\\\"record.messageSubject\\\" class=\\\"d-block mt-1\\\" style=\\\"white-space: nowrap\\\">Oggetto:\\n                    <span \\n                      class=\\\"message-subject text-color interactive dialog\\\"\\n                      click.delegate=\\\"dialogQueueMessagePreview(record, params)\\\"\\n                      ka-tooltip=\\\"Vedi anteprima messaggio\\\"> ${record.messageSubject}</span></small>\\n                  <small if.bind=\\\"record.messageBody\\\" class=\\\"d-block mt-1\\\" style=\\\"white-space: nowrap\\\">Corpo:\\n                    <span \\n                      class=\\\"message-body text-color interactive dialog\\\"\\n                      click.delegate=\\\"dialogQueueMessagePreview(record, params)\\\" \\n                      ka-tooltip=\\\"Vedi anteprima messaggio\\\"> ${record.messageBody}</span>\\n                  </small>\\n                </div>\\n                <small if.bind=\\\"record.attachments\\\" class=\\\"d-block mt-1\\\" style=\\\"white-space: nowrap\\\">Allegati:\\n                  <span \\n                    class=\\\"text-color interactive dialog\\\" \\n                    click.delegate=\\\"dialogAttachments(record)\\\" \\n                    ka-tooltip=\\\"Vedi elenco allegati\\\"> ${record.attachments.filesNumber} file${record.attachments.filesNumber > 1 ? 's' : ''}, ${record.attachments.filesSize|filesizeFormat}</span>\\n                  </small>\\n              </td>\\n              <td class=\\\"amount\\\">\\n                <template if.bind=\\\"record.costVoices.total.netAmount\\\">\\n                  <p \\n                    class=\\\"line-through m-0 mb-1\\\"\\n                    if.bind=\\\"record.costVoices.total.netAmountBeforeDiscontinue\\\">${record.costVoices.total.netAmountBeforeDiscontinue}</p>\\n                  <p class=\\\"m-0\\\">${record.costVoices.total.netAmount}</p>\\n                  <small if.bind=\\\"record.costVoices.total.netAmount !== '0,00'\\\" class=\\\"mt-1\\\">IVA esclusa</small>\\n                </template>\\n              </td>\\n              <td class=\\\"management\\\">\\n                <div>\\n                  <md-split-button label=\\\"Opzioni\\\">\\n                    <button class=\\\"options\\\">Gestisci</button>\\n                    <ul class=\\\"source d-none\\\">\\n                      <li if.bind=\\\"record.messageBody\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-eye' }\\\"\\n                          click.delegate=\\\"dialogQueueMessagePreview(record, params)\\\">Anteprima messaggio</div>\\n                      </li>\\n                      <li if.bind=\\\"isAuthorizedToDownloadPostalReceipt && record.deliveryReceiptAvailable === 'YES'\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-file-download' }\\\" \\n                          click.delegate=\\\"downloadDeliveryReceipt(record, $event)\\\">Scarica cartolina di ritorno</div>\\n                      </li>\\n                      <li if.bind=\\\"record.costVoices.total.netAmount && record.costVoices.total.netAmount !== '0,00'\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-money-check-alt' }\\\"\\n                        click.delegate=\\\"dialogMessageCostDetail(record)\\\">Dettaglio dei costi</div>\\n                      </li>\\n                      <li>\\n                        <div md-action=\\\"{ icon: 'far fa-history' }\\\"\\n                          click.delegate=\\\"dialogMessageStatusTransitionsHistory(record, queueMessages)\\\">Storico dei passaggi di stato</div>\\n                      </li>\\n                      <li if.bind=\\\"record.attachments\\\">\\n                        <div md-action=\\\"{ icon: 'far fa-copy' }\\\"\\n                          click.delegate=\\\"dialogAttachments(record)\\\">Elenco allegati</div>\\n                      </li>\\n                      <li if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(record.channel) && record.postalOptions.trackingCode\\\">\\n                        <a target=\\\"_blank\\\"\\n                          style=\\\"text-decoration: none\\\"\\n                          rel=\\\"noopener noreferrer external\\\"\\n                          md-action=\\\"{ icon: 'far fa-external-link' }\\\"\\n                          href=\\\"${urlPosteItaliane}${record.postalOptions.trackingCode}\\\">Tracking ${vectors[record.postalOptions.vector]}</a>\\n                      </li>\\n                      <template if.bind=\\\"record.isMulticertaLegal && ['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ'].includes(record.status.code)\\\">\\n                        <li>\\n                          <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                          click.delegate=\\\"mdFileDownload.fileDownload(`users/me/queues/${queueUuid}/messages/${record.uuid}/certificate-download`, record, 'pdf', $event)\\\">Scarica Attestato 3A</div>\\n                        </li>\\n                        <li>\\n                          <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                          click.delegate=\\\"mdFileDownload.fileDownload(`users/me/queues/${queueUuid}/messages/${record.uuid}/timestamps-download`, record, 'zip', $event)\\\">Scarica file certificati (TSD)</div>\\n                        </li>\\n                      </template>\\n                    </ul>\\n                  </md-split-button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun messaggio trovato</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report.sass\\\"></require>\\n  <md-nav-element data.bind=\\\"navConfig\\\">\\n    <div class=\\\"buttons\\\">\\n      <ka-button if.bind=\\\"!isOperator\\\"\\n        class=\\\"flat inverted secondary\\\"\\n        ka-tooltip=\\\"Vai allo storico delle spedizioni\\\"\\n        click.delegate=\\\"openDialogLegacyHistory()\\\">\\n        Vai allo storico\\n      </ka-button>\\n    </div>\\n  </md-nav-element>\\n  <compose containerless view-model=\\\"${views[view || 'sent'].vm}\\\" model.bind=\\\"{ params, parent: viewModel }\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../report.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 class=\\\"research\\\">Ricerca\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormSent\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${isOperator ? '2' : '1'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${isOperator ? '1' : '2'}\\\">\\n        <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Promemoria anche parziale della spedizione</li>\\n              <li>Codice di invio esatto della spedizione</li>\\n              <li>Codice uuid esatto della spedizione</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n              <li>Nome dei file delle comunicazioni</li>\\n              <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceFormSent\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n          <div class=\\\"pe-2 w-100\\\">\\n            <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n          <div class=\\\"ps-2 w-100\\\">\\n            <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            buttons=\\\"dropdown\\\" \\n            name=\\\"ownerStatusIn\\\" \\n            readonly.bind=\\\"data.context !== 'SUBUSERS'\\\"\\n            change.call=\\\"parent.changeOwnerStatusIn(searchInterface)\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n  \\n      <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"!isOperator || tableInterface.data\\\">\\n      <h2>\\n        <span>Elenco</span>\\n        <div class=\\\"buttons\\\">\\n          <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n          <md-split-button label=\\\"Opzioni\\\">\\n            <button class=\\\"options\\\" disabled.bind=\\\"!selected.length\\\">Scarica</button>\\n            <ul class=\\\"source d-none\\\">\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download.csv`, { queuesSendCodes: selected }, $event)\\\">CSV spedizioni selezionate</div>\\n              </li>\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download-recipients.csv`, { queuesSendCodes: selected }, $event)\\\">CSV destinatari spedizioni selezionate</div>\\n              </li>\\n            </ul>\\n          </md-split-button>\\n        </div>\\n      </h2>\\n      <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                  <input \\n                    class=\\\"m-0\\\" \\n                    type=\\\"checkbox\\\" \\n                    checked.bind=\\\"pageSelection\\\"\\n                    change.trigger=\\\"togglePageSelection()\\\">\\n                </th>\\n                <th style=\\\"padding-right: 1rem\\\">\\n                  <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort>\\n                </th>\\n                <th>Spedizione</th>\\n                <th style=\\\"padding-right: 1rem\\\">Proprietario</th>\\n                <th>Canali</th>\\n                <th>Stato</th>\\n                <th>Pagamento</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <template repeat.for=\\\"record of tableInterface.data\\\">\\n                <tr>\\n                  <td style=\\\"cursor: pointer; width: 1%\\\">\\n                    <input \\n                      type=\\\"checkbox\\\"\\n                      style=\\\"margin: .3rem 0 0\\\"\\n                      checked.bind=\\\"selectable[record.sendCode]\\\"\\n                      change.trigger=\\\"selected = parent.setSelected(selectable)\\\">\\n                  </td>\\n                  <td class=\\\"created-at\\\">\\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                    <div>Alle ore:\\n                      <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                    </div>\\n                    <small \\n                      click.delegate=\\\"parent.mdt.general.copyText(record.uuid, 'codice UUID', toast)\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\" \\n                      class=\\\"interactive copy without-text\\\">UUID\\n                    </small>\\n                  </td>\\n                  <td>\\n                    <small if.bind=\\\"record.client && record.client.version\\\" style=\\\"white-space: nowrap; display: block\\\">Gestionale:\\n                      <span class=\\\"text-color\\\">versione ${record.client.version}</span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: flex\\\">Etichetta: \\n                      <span \\n                        style=\\\"display: flex\\\"\\n                        class=\\\"text-color interactive copy ms-2\\\"\\n                        ka-tooltip=\\\"Copia etichetta spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.topic, 'Etichetta spedizione', toast)\\\"><span style=\\\"display: block; max-width: 40rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis\\\">${record.topic}</span></span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: block\\\">Codice spedizione:\\n                      <span \\n                        class=\\\"text-color interactive copy\\\"\\n                        ka-tooltip=\\\"Copia codice spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.sendCode, 'Codice spedizione', toast)\\\">${record.sendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.primaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale primario:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale primario\\\" \\n                        click.delegate=\\\"parent.navigateTo(record.owner.id, record.primaryQueueUuid)\\\">${record.primaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.secondaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale alternativo:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale alternativo\\\"\\n                        click.delegate=\\\"parent.navigateTo(null, null, `spedizioni/destinatari/${record.owner.id}/${record.secondaryQueueUuid}`)\\\">${record.secondaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"!record.secondaryQueueUuid && record.deadlineEvent && record.deadlineAt\\\">\\n                      Per mancata <span style=\\\"color: #000\\\">${queueProperties.deadlineEvent(record)}</span>\\n                      il <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'DD/MM/YYYY'}</span> \\n                      alle <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'HH:mm'}</span>\\n                      sarà generato un invio tramite canale alternativo per i destinatari <span style=\\\"color: #000\\\">Multicerta</span>\\n                    </small>\\n                  </td>\\n                  <td>${record.owner.displayName}</td>\\n                  <td class=\\\"channels\\\">\\n                    <template repeat.for=\\\"channel of queueProperties.channels\\\">\\n                      <i \\n                        ka-tooltip=\\\"value.bind: channel.text\\\"\\n                        class=\\\"channel${record.usedChannels.includes(channel.value.toLowerCase()) ? ' used far ' : ' far '}${channel.icon}\\\">\\n                      </i>\\n                    </template>\\n                    <i \\n                      if.bind=\\\"record.emailForwardingUsed === 'YES'\\\" \\n                      class=\\\"channel courtesy far fa-at\\\"\\n                      ka-tooltip=\\\"Messaggio di cortesia\\\">\\n                    </i>\\n                    <small \\n                      ka-tooltip=\\\"Servizio Accelera attivo\\\"\\n                      if.bind=\\\"record.postalOptions.fastDelivery === 'YES'\\\"\\n                      class=\\\"accelera text-color interactive\\\">Accelera</small>\\n                  </td>\\n                  <td class=\\\"statuses\\\">\\n                    <span\\n                      class=\\\"new-tag mb-3 ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                    </span>\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"fisrt-letter\\\" style=\\\"white-space: nowrap; display: block\\\">${item.label}:\\n                        <span class=\\\"text-color\\\"> ${item.count} di ${record.totalMessagesCount} messaggi</span>\\n                      </small>\\n                    </template>\\n                  </td>\\n                  <td class=\\\"amount\\\">\\n                    <template if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                      <p class=\\\"m-0 mb-1 cost\\\">\\n                        <span\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"value.bind: record.costVoices.total.grossAmount !== '0,00' ? 'Visualizza in dettaglio i costi della spedizione' : ''\\\"\\n                          class=\\\"${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : record.costVoices.total.grossAmount !== '0,00' ? 'interactive' : ''}\\\">${record.costVoices.total.grossAmount}</span>\\n                      </p>\\n                      <p class=\\\"m-0 mb-1 cost\\\" if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                        <span \\n                          class=\\\"interactive\\\"\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"Visualizza in dettaglio i costi della spedizione\\\">${record.costVoices.total.grossAmountAfterRefund}</span>\\n                      </p>\\n                    </template>\\n                    <small if.bind=\\\"record.createdAt < '2025-06-03T20:00:00Z'\\\" style=\\\"white-space: nowrap; display: block\\\">Dettaglio costi:\\n                      <span\\n                        class=\\\"text-color interactive ${record.createdAt < '2025-06-03T20:00:00Z' ? 'link external' : ''}\\\"\\n                        click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">${record.createdAt < '2025-06-03T20:00:00Z' ?  'vai a interfaccia tradizionale' : 'non disponibili'}\\n                      </span>\\n                    </small>\\n                    <small if.bind=\\\"record.paymentMethod\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Metodo:\\n                      <span class=\\\"text-color\\\">${parent.displayPaymentMethods(record)}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Ordine:\\n                      <span class=\\\"text-color interactive dialog\\\" ka-tooltip=\\\"Apri l'ordine collegato alla spedizione\\\"\\n                        click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">${record.billingProfileDetails.id}</span>\\n                    </small>\\n                  </td>\\n                  <td class=\\\"management\\\">\\n                    <div>\\n                      <md-split-button label=\\\"Opzioni\\\">\\n                        <button class=\\\"options\\\">Gestisci</button>\\n                        <ul class=\\\"source d-none\\\">\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-user' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueueSender(record, $event)\\\">Mittente</div>\\n                          </li>\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-user-friends' }\\\" \\n                              click.delegate=\\\"parent.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio</div>\\n                          </li>\\n                          <li if.bind=\\\"!isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-archive' }\\\" \\n                              click.delegate=\\\"unarchive(record, $event)\\\">Disarchivia spedizione</div>\\n                          </li>\\n                          <li if.bind=\\\"parent.canDownloadWorkOrderList\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-file-download' }\\\" \\n                              click.delegate=\\\"parent.mdFileDownload.fileDownload(`users/${record.owner.id}/queues/${record.uuid}.pdf`, record, 'pdf', $event)\\\">Scarica distinta</div>\\n                          </li>\\n                          <li if.bind=\\\"record.costVoices.total.grossAmount !== '0,00'\\\">\\n                            <div \\n                              if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\" \\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\">Dettaglio costi</div>\\n                            <div \\n                              else\\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">Dettaglio costi</div>\\n                          </li>\\n                          <li if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-money-check-alt' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">Dati di pagamento</div>\\n                          </li>\\n                          <li if.bind=\\\"record.canCopy === 'YES' && !isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-paper-plane' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueResend(record, $event)\\\">Reinvia spedizione</div>\\n                          </li>           \\n                        </ul>\\n                      </md-split-button>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni annullate</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../report.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 class=\\\"research\\\">Ricerca\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormSent\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${isOperator ? '2' : '1'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${isOperator ? '1' : '2'}\\\">\\n        <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Promemoria anche parziale della spedizione</li>\\n              <li>Codice di invio esatto della spedizione</li>\\n              <li>Codice uuid esatto della spedizione</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n              <li>Nome dei file delle comunicazioni</li>\\n              <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceFormSent\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n          <div class=\\\"pe-2 w-100\\\">\\n            <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n          <div class=\\\"ps-2 w-100\\\">\\n            <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            buttons=\\\"dropdown\\\" \\n            name=\\\"ownerStatusIn\\\" \\n            readonly.bind=\\\"data.context !== 'SUBUSERS'\\\"\\n            change.call=\\\"parent.changeOwnerStatusIn(searchInterface)\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n  \\n      <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"!isOperator || tableInterface.data\\\">\\n      <h2>\\n        <span>Elenco</span>\\n        <div class=\\\"buttons\\\">\\n          <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n          <md-split-button label=\\\"Opzioni\\\">\\n            <button class=\\\"options\\\" disabled.bind=\\\"!selected.length\\\">Scarica</button>\\n            <ul class=\\\"source d-none\\\">\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download.csv`, { queuesSendCodes: selected }, $event)\\\">CSV spedizioni selezionate</div>\\n              </li>\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download-recipients.csv`, { queuesSendCodes: selected }, $event)\\\">CSV destinatari spedizioni selezionate</div>\\n              </li>\\n            </ul>\\n          </md-split-button>\\n        </div>\\n      </h2>\\n      <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                  <input \\n                    class=\\\"m-0\\\" \\n                    type=\\\"checkbox\\\" \\n                    checked.bind=\\\"pageSelection\\\"\\n                    change.trigger=\\\"togglePageSelection()\\\">\\n                </th>\\n                <th style=\\\"padding-right: 1rem\\\">\\n                  <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort>\\n                </th>\\n                <th>Spedizione</th>\\n                <th style=\\\"padding-right: 1rem\\\">Proprietario</th>\\n                <th>Canali</th>\\n                <th>Stato</th>\\n                <th>Pagamento</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <template repeat.for=\\\"record of tableInterface.data\\\">\\n                <tr>\\n                  <td style=\\\"cursor: pointer; width: 1%\\\">\\n                    <input \\n                      type=\\\"checkbox\\\"\\n                      style=\\\"margin: .3rem 0 0\\\"\\n                      checked.bind=\\\"selectable[record.sendCode]\\\"\\n                      change.trigger=\\\"selected = parent.setSelected(selectable)\\\">\\n                  </td>\\n                  <td class=\\\"created-at\\\">\\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                    <div>Alle ore:\\n                      <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                    </div>\\n                    <small \\n                      click.delegate=\\\"parent.mdt.general.copyText(record.uuid, 'codice UUID', toast)\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\" \\n                      class=\\\"interactive copy without-text\\\">UUID\\n                    </small>\\n                  </td>\\n                  <td>\\n                    <small if.bind=\\\"record.client && record.client.version\\\" style=\\\"white-space: nowrap; display: block\\\">Gestionale:\\n                      <span class=\\\"text-color\\\">versione ${record.client.version}</span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: flex\\\">Etichetta: \\n                      <span \\n                        style=\\\"display: flex\\\"\\n                        class=\\\"text-color interactive copy ms-2\\\"\\n                        ka-tooltip=\\\"Copia etichetta spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.topic, 'Etichetta spedizione', toast)\\\"><span style=\\\"display: block; max-width: 40rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis\\\">${record.topic}</span></span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: block\\\">Codice spedizione:\\n                      <span \\n                        class=\\\"text-color interactive copy\\\"\\n                        ka-tooltip=\\\"Copia codice spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.sendCode, 'Codice spedizione', toast)\\\">${record.sendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.primaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale primario:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale primario\\\" \\n                        click.delegate=\\\"parent.navigateTo(record.owner.id, record.primaryQueueUuid)\\\">${record.primaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.secondaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale alternativo:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale alternativo\\\"\\n                        click.delegate=\\\"parent.navigateTo(null, null, `spedizioni/destinatari/${record.owner.id}/${record.secondaryQueueUuid}`)\\\">${record.secondaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"!record.secondaryQueueUuid && record.deadlineEvent && record.deadlineAt\\\">\\n                      Per mancata <span style=\\\"color: #000\\\">${queueProperties.deadlineEvent(record)}</span>\\n                      il <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'DD/MM/YYYY'}</span> \\n                      alle <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'HH:mm'}</span>\\n                      sarà generato un invio tramite canale alternativo per i destinatari <span style=\\\"color: #000\\\">Multicerta</span>\\n                    </small>\\n                  </td>\\n                  <td>${record.owner.displayName}</td>\\n                  <td class=\\\"channels\\\">\\n                    <template repeat.for=\\\"channel of queueProperties.channels\\\">\\n                      <i \\n                        ka-tooltip=\\\"value.bind: channel.text\\\"\\n                        class=\\\"channel${record.usedChannels.includes(channel.value.toLowerCase()) ? ' used far ' : ' far '}${channel.icon}\\\">\\n                      </i>\\n                    </template>\\n                    <i \\n                      if.bind=\\\"record.emailForwardingUsed === 'YES'\\\" \\n                      class=\\\"channel courtesy far fa-at\\\"\\n                      ka-tooltip=\\\"Messaggio di cortesia\\\">\\n                    </i>\\n                    <small \\n                      ka-tooltip=\\\"Servizio Accelera attivo\\\"\\n                      if.bind=\\\"record.postalOptions.fastDelivery === 'YES'\\\"\\n                      class=\\\"accelera text-color interactive\\\">Accelera</small>\\n                  </td>\\n                  <td class=\\\"statuses\\\">\\n                    <span\\n                      class=\\\"new-tag mb-3 ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                    </span>\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"fisrt-letter\\\" style=\\\"white-space: nowrap; display: block\\\">${item.label}:\\n                        <span class=\\\"text-color\\\"> ${item.count} di ${record.totalMessagesCount} messaggi</span>\\n                      </small>\\n                    </template>\\n                  </td>\\n                  <td class=\\\"amount\\\">\\n                    <template if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                      <p class=\\\"m-0 mb-1 cost\\\">\\n                        <span\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"value.bind: record.costVoices.total.grossAmount !== '0,00' ? 'Visualizza in dettaglio i costi della spedizione' : ''\\\"\\n                          class=\\\"${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : record.costVoices.total.grossAmount !== '0,00' ? 'interactive' : ''}\\\">${record.costVoices.total.grossAmount}</span>\\n                      </p>\\n                      <p class=\\\"m-0 mb-1 cost\\\" if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                        <span \\n                          class=\\\"interactive\\\"\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"Visualizza in dettaglio i costi della spedizione\\\">${record.costVoices.total.grossAmountAfterRefund}</span>\\n                      </p>\\n                    </template>\\n                    <small if.bind=\\\"record.createdAt < '2025-06-03T20:00:00Z'\\\" style=\\\"white-space: nowrap; display: block\\\">Dettaglio costi:\\n                      <span\\n                        class=\\\"text-color interactive ${record.createdAt < '2025-06-03T20:00:00Z' ? 'link external' : ''}\\\"\\n                        click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">${record.createdAt < '2025-06-03T20:00:00Z' ?  'vai a interfaccia tradizionale' : 'non disponibili'}\\n                      </span>\\n                    </small>\\n                    <small if.bind=\\\"record.paymentMethod\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Metodo:\\n                      <span class=\\\"text-color\\\">${parent.displayPaymentMethods(record)}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Ordine:\\n                      <span class=\\\"text-color interactive dialog\\\" ka-tooltip=\\\"Apri l'ordine collegato alla spedizione\\\"\\n                        click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">${record.billingProfileDetails.id}</span>\\n                    </small>\\n                  </td>\\n                  <td class=\\\"management\\\">\\n                    <div>\\n                      <md-split-button label=\\\"Opzioni\\\">\\n                        <button class=\\\"options\\\">Gestisci</button>\\n                        <ul class=\\\"source d-none\\\">\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-user' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueueSender(record, $event)\\\">Mittente</div>\\n                          </li>\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-user-friends' }\\\" \\n                              click.delegate=\\\"parent.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio</div>\\n                          </li>\\n                          <li if.bind=\\\"!isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-archive' }\\\" \\n                              click.delegate=\\\"parent.archive(record, viewModel, $event)\\\">Archivia spedizione</div>\\n                          </li>\\n                          <li if.bind=\\\"parent.canDownloadWorkOrderList\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-file-download' }\\\" \\n                              click.delegate=\\\"parent.mdFileDownload.fileDownload(`users/${record.owner.id}/queues/${record.uuid}.pdf`, record, 'pdf', $event)\\\">Scarica distinta</div>\\n                          </li>\\n                          <li if.bind=\\\"record.costVoices.total.grossAmount !== '0,00'\\\">\\n                            <div \\n                              if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\" \\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\">Dettaglio costi</div>\\n                            <div \\n                              else\\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">Dettaglio costi</div>\\n                          </li>\\n                          <li if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-money-check-alt' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">Dati di pagamento</div>\\n                          </li>\\n                          <li if.bind=\\\"record.canCopy === 'YES' && !isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-paper-plane' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueResend(record, $event)\\\">Reinvia spedizione</div>\\n                          </li>\\n                        </ul>\\n                      </md-split-button>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni annullate</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../report.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2 class=\\\"research\\\">Ricerca\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormSent\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${isOperator ? '2' : '1'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${isOperator ? '1' : '2'}\\\">\\n        <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Promemoria anche parziale della spedizione</li>\\n              <li>Codice di invio esatto della spedizione</li>\\n              <li>Codice uuid esatto della spedizione</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n              <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n              <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n              <li>Nome dei file delle comunicazioni</li>\\n              <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n            </ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n          <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceFormSent\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n          <div class=\\\"pe-2 w-100\\\">\\n            <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n          <div class=\\\"ps-2 w-100\\\">\\n            <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            buttons=\\\"dropdown\\\" \\n            name=\\\"ownerStatusIn\\\" \\n            readonly.bind=\\\"data.context !== 'SUBUSERS'\\\"\\n            change.call=\\\"parent.changeOwnerStatusIn(searchInterface)\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n  \\n      <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"!isOperator || tableInterface.data\\\">\\n      <h2>\\n        <span>Elenco</span>\\n        <div class=\\\"buttons\\\">\\n          <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n          <md-split-button label=\\\"Opzioni\\\">\\n            <button class=\\\"options\\\" disabled.bind=\\\"!selected.length\\\">Scarica</button>\\n            <ul class=\\\"source d-none\\\">\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download.csv`, { queuesSendCodes: selected }, $event)\\\">CSV spedizioni selezionate</div>\\n              </li>\\n              <li>\\n                <div md-action=\\\"{ icon: 'far fa-file-download' }\\\"\\n                click.delegate=\\\"parent.mdFileDownload.csvDownload(`users/${api.user.id}/queue-outlines/download-recipients.csv`, { queuesSendCodes: selected }, $event)\\\">CSV destinatari spedizioni selezionate</div>\\n              </li>\\n            </ul>\\n          </md-split-button>\\n        </div>\\n      </h2>\\n      <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                  <input \\n                    class=\\\"m-0\\\" \\n                    type=\\\"checkbox\\\" \\n                    checked.bind=\\\"pageSelection\\\"\\n                    change.trigger=\\\"togglePageSelection()\\\">\\n                </th>\\n                <th style=\\\"padding-right: 1rem\\\">\\n                  <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort>\\n                </th>\\n                <th>Spedizione</th>\\n                <th style=\\\"padding-right: 1rem\\\">Proprietario</th>\\n                <th>Canali</th>\\n                <th>Stato</th>\\n                <th>Pagamento</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <template repeat.for=\\\"record of tableInterface.data\\\">\\n                <tr>\\n                  <td style=\\\"cursor: pointer; width: 1%\\\">\\n                    <input \\n                      type=\\\"checkbox\\\"\\n                      style=\\\"margin: .3rem 0 0\\\"\\n                      checked.bind=\\\"selectable[record.sendCode]\\\"\\n                      change.trigger=\\\"selected = parent.setSelected(selectable)\\\">\\n                  </td>\\n                  <td class=\\\"created-at\\\">\\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                    <div>Alle ore:\\n                      <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                    </div>\\n                    <small \\n                      click.delegate=\\\"parent.mdt.general.copyText(record.uuid, 'codice UUID', toast)\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\" \\n                      class=\\\"interactive copy without-text\\\">UUID\\n                    </small>\\n                  </td>\\n                  <td>\\n                    <small if.bind=\\\"record.client && record.client.version\\\" style=\\\"white-space: nowrap; display: block\\\">Gestionale:\\n                      <span class=\\\"text-color\\\">versione ${record.client.version}</span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: flex\\\">Etichetta: \\n                      <span \\n                        style=\\\"display: flex\\\"\\n                        class=\\\"text-color interactive copy ms-2\\\"\\n                        ka-tooltip=\\\"Copia etichetta spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.topic, 'Etichetta spedizione', toast)\\\"><span style=\\\"display: block; max-width: 40rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis\\\">${record.topic}</span></span>\\n                    </small>\\n                    <small style=\\\"white-space: nowrap; display: block\\\">Codice spedizione:\\n                      <span \\n                        class=\\\"text-color interactive copy\\\"\\n                        ka-tooltip=\\\"Copia codice spedizione\\\"\\n                        click.delegate=\\\"parent.mdt.general.copyText(record.sendCode, 'Codice spedizione', toast)\\\">${record.sendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.primaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale primario:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale primario\\\" \\n                        click.delegate=\\\"parent.navigateTo(record.owner.id, record.primaryQueueUuid)\\\">${record.primaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.secondaryQueueUuid\\\" style=\\\"white-space: nowrap; display: block\\\">Codice canale alternativo:\\n                      <span\\n                        class=\\\"text-color interactive link external\\\"\\n                        ka-tooltip=\\\"Apri il dettaglio della spedizione generata dal canale alternativo\\\"\\n                        click.delegate=\\\"parent.navigateTo(null, null, `spedizioni/destinatari/${record.owner.id}/${record.secondaryQueueUuid}`)\\\">${record.secondaryQueueSendCode}</span>\\n                    </small>\\n                    <small if.bind=\\\"!record.secondaryQueueUuid && record.deadlineEvent && record.deadlineAt\\\">\\n                      Per mancata <span style=\\\"color: #000\\\">${queueProperties.deadlineEvent(record)}</span>\\n                      il <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'DD/MM/YYYY'}</span> \\n                      alle <span style=\\\"color: #000\\\">${record.deadlineAt|dateFormat:'HH:mm'}</span>\\n                      sarà generato un invio tramite canale alternativo per i destinatari <span style=\\\"color: #000\\\">Multicerta</span>\\n                    </small>\\n                  </td>\\n                  <td>${record.owner.displayName}</td>\\n                  <td class=\\\"channels\\\">\\n                    <div class=\\\"channels-wrapper\\\">\\n                      <template repeat.for=\\\"channel of queueProperties.channels\\\">\\n                        <i \\n                          ka-tooltip=\\\"value.bind: channel.text\\\"\\n                          class=\\\"channel${record.usedChannels.includes(channel.value.toLowerCase()) ? ' used far ' : ' far '}${channel.icon}\\\">\\n                        </i>\\n                      </template>\\n                      <i \\n                        if.bind=\\\"record.emailForwardingUsed === 'YES'\\\" \\n                        class=\\\"channel courtesy far fa-at\\\"\\n                        ka-tooltip=\\\"Messaggio di cortesia\\\">\\n                      </i>\\n                    </div>\\n                    <small \\n                      ka-tooltip=\\\"Servizio Accelera attivo\\\"\\n                      if.bind=\\\"record.postalOptions.fastDelivery === 'YES'\\\"\\n                      class=\\\"accelera text-color interactive\\\">Accelera</small>\\n                  </td>\\n                  <td class=\\\"statuses\\\">\\n                    <span\\n                      click.delegate=\\\"updateQueueMessages(record, $event)\\\"\\n                      ka-tooltip=\\\"value.bind: record.status|queueStatusFormat:'update'\\\"\\n                      class=\\\"new-tag ${record.status !== 'COMPLETED' ? 'clickable' : ''} mb-3 ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                    </span>\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"fisrt-letter\\\" style=\\\"white-space: nowrap; display: block\\\">${item.label}:\\n                        <span class=\\\"text-color\\\"> ${item.count} di ${record.totalMessagesCount} messaggi</span>\\n                      </small>\\n                    </template>\\n                  </td>\\n                  <td class=\\\"amount\\\">\\n                    <template if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                      <p class=\\\"m-0 mb-1 cost\\\">\\n                        <span\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"value.bind: record.costVoices.total.grossAmount !== '0,00' ? 'Visualizza in dettaglio i costi della spedizione' : ''\\\"\\n                          class=\\\"${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : record.costVoices.total.grossAmount !== '0,00' ? 'interactive' : ''}\\\">${record.costVoices.total.grossAmount}</span>\\n                      </p>\\n                      <p class=\\\"m-0 mb-1 cost\\\" if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                        <span \\n                          class=\\\"interactive\\\"\\n                          click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\"\\n                          ka-tooltip=\\\"Visualizza in dettaglio i costi della spedizione\\\">${record.costVoices.total.grossAmountAfterRefund}</span>\\n                      </p>\\n                    </template>\\n                    <small if.bind=\\\"record.createdAt < '2025-06-03T20:00:00Z'\\\" style=\\\"white-space: nowrap; display: block\\\">Dettaglio costi:\\n                      <span\\n                        class=\\\"text-color interactive ${record.createdAt < '2025-06-03T20:00:00Z' ? 'link external' : ''}\\\"\\n                        click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">${record.createdAt < '2025-06-03T20:00:00Z' ?  'vai a interfaccia tradizionale' : 'non disponibili'}\\n                      </span>\\n                    </small>\\n                    <small if.bind=\\\"record.paymentMethod\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Metodo:\\n                      <span class=\\\"text-color\\\">${parent.displayPaymentMethods(record)}</span>\\n                    </small>\\n                    <small if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\"\\n                      style=\\\"white-space: nowrap; display: block\\\">Ordine:\\n                      <span class=\\\"text-color interactive dialog\\\" ka-tooltip=\\\"Apri l'ordine collegato alla spedizione\\\"\\n                        click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">${record.billingProfileDetails.id}</span>\\n                    </small>\\n                  </td>\\n                  <td class=\\\"management\\\">\\n                    <div>\\n                      <md-split-button label=\\\"Opzioni\\\">\\n                        <button class=\\\"options\\\">Gestisci</button>\\n                        <ul class=\\\"source d-none\\\">\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-user' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueueSender(record, $event)\\\">Mittente</div>\\n                          </li>\\n                          <li if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-user-friends' }\\\" \\n                              click.delegate=\\\"parent.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio</div>\\n                          </li>\\n                          <li if.bind=\\\"!isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-archive' }\\\" \\n                              click.delegate=\\\"parent.archive(record, viewModel, $event)\\\">Archivia spedizione</div>\\n                          </li>\\n                          <li if.bind=\\\"parent.canDownloadWorkOrderList\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-file-download' }\\\" \\n                              click.delegate=\\\"parent.mdFileDownload.fileDownload(`users/${record.owner.id}/queues/${record.uuid}.pdf`, record, 'pdf', $event)\\\">Scarica distinta</div>\\n                          </li>\\n                          <li if.bind=\\\"record.status !== 'COMPLETED'\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-clock' }\\\" \\n                              click.delegate=\\\"updateQueueMessages(record, $event)\\\">Aggiorna spedizione</div>\\n                          </li>\\n                          <li if.bind=\\\"record.costVoices.total.grossAmount !== '0,00'\\\">\\n                            <div \\n                              if.bind=\\\"record.createdAt >= '2025-06-03T20:00:00Z'\\\" \\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueCostDetail(record)\\\">Dettaglio costi</div>\\n                            <div \\n                              else\\n                              md-action=\\\"{ icon: 'far fa-money-bill-alt' }\\\" \\n                              click.delegate=\\\"parent.navigateToLegacyReportDetail(record.uuid)\\\">Dettaglio costi</div>\\n                          </li>\\n                          <li if.bind=\\\"record.billingProfileDetails && record.billingProfileDetails.id\\\">\\n                            <div\\n                              md-action=\\\"{ icon: 'far fa-money-check-alt' }\\\"\\n                              click.delegate=\\\"parent.openDialogQueuePayment(record, $event)\\\">Dati di pagamento</div>\\n                          </li>\\n                          <li if.bind=\\\"record.canCopy === 'YES' && !isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-paper-plane' }\\\" \\n                              click.delegate=\\\"parent.openDialogQueueResend(record, $event)\\\">Reinvia spedizione</div>\\n                          </li>\\n                          <li if.bind=\\\"record.queueDeliveryCanBeDiscontinued === 'YES' && !isOperator\\\">\\n                            <div \\n                              md-action=\\\"{ icon: 'far fa-times-circle', iconColor: '#000'  }\\\" \\n                              click.delegate=\\\"parent.openDialogInterruptDelivery(record, viewModel, $event)\\\">Interrompi spedizione</div>\\n                          </li>\\n                        </ul>\\n                      </md-split-button>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni inviate</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = String(url.__esModule ? url.default : url);\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  }\n\n  if (options.maybeNeedQuotes && /[\\t\\n\\f\\r \"'=<>`]/.test(url)) {\n    return \"\\\"\".concat(url, \"\\\"\");\n  }\n\n  return url;\n};","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self,e.JSBI=t())})(this,function(){\"use strict\";var e=Math.imul,t=Math.clz32;function i(t,i){(null==i||i>t.length)&&(i=t.length);for(var _=0,o=Array(i);_<i;_++)o[_]=t[_];return o}function _(e){if(Array.isArray(e))return e}function n(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function o(i,t,_){return t=r(t),v(i,b()?Reflect.construct(t,_||[],r(i).constructor):t.apply(i,_))}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function g(i,t,e){if(b())return Reflect.construct.apply(null,arguments);var _=[null];_.push.apply(_,t);var n=new(i.bind.apply(i,_));return e&&y(n,e.prototype),n}function a(i,e){for(var _,n=0;n<e.length;n++)_=e[n],_.enumerable=_.enumerable||!1,_.configurable=!0,\"value\"in _&&(_.writable=!0),Object.defineProperty(i,D(_.key),_)}function s(i,e,_){return e&&a(i.prototype,e),_&&a(i,_),Object.defineProperty(i,\"prototype\",{writable:!1}),i}function u(i,_){var e=\"undefined\"!=typeof Symbol&&i[Symbol.iterator]||i[\"@@iterator\"];if(!e){if(Array.isArray(i)||(e=B(i))||_&&i&&\"number\"==typeof i.length){e&&(i=e);var l=0,g=function(){};return{s:g,n:function(){return l>=i.length?{done:!0}:{done:!1,value:i[l++]}},e:function(e){throw e},f:g}}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 s,d=!0,h=!1;return{s:function(){e=e.call(i)},n:function(){var t=e.next();return d=t.done,t},e:function(e){h=!0,s=e},f:function(){try{d||null==e.return||e.return()}finally{if(h)throw s}}}}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function d(i,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,\"prototype\",{writable:!1}),t&&y(i,t)}function h(e){try{return-1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function m(_,g){var l=null==_?null:\"undefined\"!=typeof Symbol&&_[Symbol.iterator]||_[\"@@iterator\"];if(null!=l){var s,d,r,h,b=[],a=!0,m=!1;try{if(r=(l=l.call(_)).next,0===g){if(Object(l)!==l)return;a=!1}else for(;!(a=(s=r.call(l)).done)&&(b.push(s.value),b.length!==g);a=!0);}catch(e){m=!0,d=e}finally{try{if(!a&&null!=l.return&&(h=l.return(),Object(h)!==h))return}finally{if(m)throw d}}return b}}function c(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function v(i,t){if(t&&(\"object\"==typeof t||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return n(i)}function y(i,t){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,t){return i.__proto__=t,i},y(i,t)}function f(t,i){return _(t)||m(t,i)||B(t,i)||c()}function k(_,t){if(\"object\"!=typeof _||!_)return _;var n=_[Symbol.toPrimitive];if(void 0!==n){var e=n.call(_,t||\"default\");if(\"object\"!=typeof e)return e;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(_)}function D(e){var t=k(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}function p(e){\"@babel/helpers - typeof\";return p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},p(e)}function B(e,_){if(e){if(\"string\"==typeof e)return i(e,_);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,_):void 0}}function S(e){var i=\"function\"==typeof Map?new Map:void 0;return S=function(e){function t(){return g(e,arguments,r(this).constructor)}if(null===e||!h(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==i){if(i.has(e))return i.get(e);i.set(e,t)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),y(t,e)},S(e)}var C=function(e){var t=Math.abs,i=Math.max,_=Math.floor;function g(e,t){var i;if(l(this,g),i=o(this,g,[e]),i.sign=t,Object.setPrototypeOf(i,g.prototype),e>g.__kMaxLength)throw new RangeError(\"Maximum BigInt size exceeded\");return i}return d(g,e),s(g,[{key:\"toDebugString\",value:function e(){var t,i=[\"BigInt[\"],_=u(this);try{for(_.s();!(t=_.n()).done;){var n=t.value;i.push((n?(n>>>0).toString(16):n)+\", \")}}catch(e){_.e(e)}finally{_.f()}return i.push(\"]\"),i.join(\"\")}},{key:\"toString\",value:function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(2>t||36<t)throw new RangeError(\"toString() radix argument must be between 2 and 36\");return 0===this.length?\"0\":0==(t&t-1)?g.__toStringBasePowerOfTwo(this,t):g.__toStringGeneric(this,t,!1)}},{key:\"valueOf\",value:function e(){throw new Error(\"Convert JSBI instances to native numbers using `toNumber`.\")}},{key:\"__copy\",value:function e(){for(var t=new g(this.length,this.sign),_=0;_<this.length;_++)t[_]=this[_];return t}},{key:\"__trim\",value:function e(){for(var t=this.length,i=this[t-1];0===i;)t--,i=this[t-1],this.pop();return 0===t&&(this.sign=!1),this}},{key:\"__initializeDigits\",value:function e(){for(var t=0;t<this.length;t++)this[t]=0}},{key:\"__clzmsd\",value:function e(){return g.__clz30(this.__digit(this.length-1))}},{key:\"__inplaceMultiplyAdd\",value:function n(e,t,_){_>this.length&&(_=this.length);for(var o=32767&e,l=e>>>15,a=0,s=t,u=0;u<_;u++){var r=this.__digit(u),h=32767&r,b=r>>>15,m=g.__imul(h,o),c=g.__imul(h,l),v=g.__imul(b,o),y=g.__imul(b,l),f=s+m+a;a=f>>>30,f&=1073741823,f+=((32767&c)<<15)+((32767&v)<<15),a+=f>>>30,s=y+(c>>>15)+(v>>>15),this.__setDigit(u,1073741823&f)}if(0!==a||0!==s)throw new Error(\"implementation bug\")}},{key:\"__inplaceAdd\",value:function n(e,t,_){for(var o,l=0,g=0;g<_;g++)o=this.__halfDigit(t+g)+e.__halfDigit(g)+l,l=o>>>15,this.__setHalfDigit(t+g,32767&o);return l}},{key:\"__inplaceSub\",value:function n(e,t,_){var o=_-1>>>1,l=0;if(1&t){t>>=1;for(var g=this.__digit(t),a=32767&g,s=0;s<o;s++){var u=e.__digit(s),r=(g>>>15)-(32767&u)-l;l=1&r>>>15,this.__setDigit(t+s,(32767&r)<<15|32767&a),g=this.__digit(t+s+1),a=(32767&g)-(u>>>15)-l,l=1&a>>>15}var d=e.__digit(s),h=(g>>>15)-(32767&d)-l;l=1&h>>>15,this.__setDigit(t+s,(32767&h)<<15|32767&a);var b=d>>>15;if(t+s+1>=this.length)throw new RangeError(\"out of bounds\");0==(1&_)&&(g=this.__digit(t+s+1),a=(32767&g)-b-l,l=1&a>>>15,this.__setDigit(t+e.length,1073709056&g|32767&a))}else{t>>=1;for(var m=0;m<e.length-1;m++){var c=this.__digit(t+m),v=e.__digit(m),y=(32767&c)-(32767&v)-l;l=1&y>>>15;var f=(c>>>15)-(v>>>15)-l;l=1&f>>>15,this.__setDigit(t+m,(32767&f)<<15|32767&y)}var k=this.__digit(t+m),D=e.__digit(m),p=(32767&k)-(32767&D)-l;l=1&p>>>15;var B=0;0==(1&_)&&(B=(k>>>15)-(D>>>15)-l,l=1&B>>>15),this.__setDigit(t+m,(32767&B)<<15|32767&p)}return l}},{key:\"__inplaceRightShift\",value:function t(e){if(0!==e){for(var _,n=this.__digit(0)>>>e,o=this.length-1,l=0;l<o;l++)_=this.__digit(l+1),this.__setDigit(l,1073741823&_<<30-e|n),n=_>>>e;this.__setDigit(o,n)}}},{key:\"__digit\",value:function t(e){return this[e]}},{key:\"__unsignedDigit\",value:function t(e){return this[e]>>>0}},{key:\"__setDigit\",value:function i(e,t){this[e]=0|t}},{key:\"__setDigitGrow\",value:function i(e,t){this[e]=0|t}},{key:\"__halfDigitLength\",value:function e(){var t=this.length;return 32767>=this.__unsignedDigit(t-1)?2*t-1:2*t}},{key:\"__halfDigit\",value:function t(e){return 32767&this[e>>>1]>>>15*(1&e)}},{key:\"__setHalfDigit\",value:function i(e,t){var _=e>>>1,n=this.__digit(_),o=1&e?32767&n|t<<15:1073709056&n|32767&t;this.__setDigit(_,o)}}],[{key:\"BigInt\",value:function t(e){var i=Number.isFinite;if(\"number\"==typeof e){if(0===e)return g.__zero();if(g.__isOneDigitInt(e))return 0>e?g.__oneDigit(-e,!0):g.__oneDigit(e,!1);if(!i(e)||_(e)!==e)throw new RangeError(\"The number \"+e+\" cannot be converted to BigInt because it is not an integer\");return g.__fromDouble(e)}if(\"string\"==typeof e){var n=g.__fromString(e);if(null===n)throw new SyntaxError(\"Cannot convert \"+e+\" to a BigInt\");return n}if(\"boolean\"==typeof e)return!0===e?g.__oneDigit(1,!1):g.__zero();if(\"object\"===p(e)){if(e.constructor===g)return e;var o=g.__toPrimitive(e);return g.BigInt(o)}throw new TypeError(\"Cannot convert \"+e+\" to a BigInt\")}},{key:\"toNumber\",value:function t(e){var i=e.length;if(0===i)return 0;if(1===i){var _=e.__unsignedDigit(0);return e.sign?-_:_}var n=e.__digit(i-1),o=g.__clz30(n),l=30*i-o;if(1024<l)return e.sign?-Infinity:1/0;var a=l-1,s=n,u=i-1,r=o+3,d=32===r?0:s<<r;d>>>=12;var h=r-12,b=12<=r?0:s<<20+r,m=20+r;for(0<h&&0<u&&(u--,s=e.__digit(u),d|=s>>>30-h,b=s<<h+2,m=h+2);0<m&&0<u;)u--,s=e.__digit(u),b|=30<=m?s<<m-30:s>>>30-m,m-=30;var c=g.__decideRounding(e,m,u,s);if((1===c||0===c&&1==(1&b))&&(b=b+1>>>0,0===b&&(d++,0!=d>>>20&&(d=0,a++,1023<a))))return e.sign?-Infinity:1/0;var v=e.sign?-2147483648:0;return a=a+1023<<20,g.__kBitConversionInts[g.__kBitConversionIntHigh]=v|a|d,g.__kBitConversionInts[g.__kBitConversionIntLow]=b,g.__kBitConversionDouble[0]}},{key:\"unaryMinus\",value:function t(e){if(0===e.length)return e;var i=e.__copy();return i.sign=!e.sign,i}},{key:\"bitwiseNot\",value:function t(e){return e.sign?g.__absoluteSubOne(e).__trim():g.__absoluteAddOne(e,!0)}},{key:\"exponentiate\",value:function i(e,t){if(t.sign)throw new RangeError(\"Exponent must be positive\");if(0===t.length)return g.__oneDigit(1,!1);if(0===e.length)return e;if(1===e.length&&1===e.__digit(0))return e.sign&&0==(1&t.__digit(0))?g.unaryMinus(e):e;if(1<t.length)throw new RangeError(\"BigInt too big\");var _=t.__unsignedDigit(0);if(1===_)return e;if(_>=g.__kMaxLengthBits)throw new RangeError(\"BigInt too big\");if(1===e.length&&2===e.__digit(0)){var n=1+(0|_/30),o=e.sign&&0!=(1&_),l=new g(n,o);l.__initializeDigits();var a=1<<_%30;return l.__setDigit(n-1,a),l}var s=null,u=e;for(0!=(1&_)&&(s=e),_>>=1;0!==_;_>>=1)u=g.multiply(u,u),0!=(1&_)&&(null===s?s=u:s=g.multiply(s,u));return s}},{key:\"multiply\",value:function _(e,t){if(0===e.length)return e;if(0===t.length)return t;var n=e.length+t.length;30<=e.__clzmsd()+t.__clzmsd()&&n--;var o=new g(n,e.sign!==t.sign);o.__initializeDigits();for(var l=0;l<e.length;l++)g.__multiplyAccumulate(t,e.__digit(l),o,l);return o.__trim()}},{key:\"divide\",value:function i(e,t){if(0===t.length)throw new RangeError(\"Division by zero\");if(0>g.__absoluteCompare(e,t))return g.__zero();var _,n=e.sign!==t.sign,o=t.__unsignedDigit(0);if(1===t.length&&32767>=o){if(1===o)return n===e.sign?e:g.unaryMinus(e);_=g.__absoluteDivSmall(e,o,null)}else _=g.__absoluteDivLarge(e,t,!0,!1);return _.sign=n,_.__trim()}},{key:\"remainder\",value:function i(e,t){if(0===t.length)throw new RangeError(\"Division by zero\");if(0>g.__absoluteCompare(e,t))return e;var _=t.__unsignedDigit(0);if(1===t.length&&32767>=_){if(1===_)return g.__zero();var n=g.__absoluteModSmall(e,_);return 0===n?g.__zero():g.__oneDigit(n,e.sign)}var i=g.__absoluteDivLarge(e,t,!1,!0);return i.sign=e.sign,i.__trim()}},{key:\"add\",value:function i(e,t){var _=e.sign;return _===t.sign?g.__absoluteAdd(e,t,_):0<=g.__absoluteCompare(e,t)?g.__absoluteSub(e,t,_):g.__absoluteSub(t,e,!_)}},{key:\"subtract\",value:function i(e,t){var _=e.sign;return _===t.sign?0<=g.__absoluteCompare(e,t)?g.__absoluteSub(e,t,_):g.__absoluteSub(t,e,!_):g.__absoluteAdd(e,t,_)}},{key:\"leftShift\",value:function i(e,t){return 0===t.length||0===e.length?e:t.sign?g.__rightShiftByAbsolute(e,t):g.__leftShiftByAbsolute(e,t)}},{key:\"signedRightShift\",value:function i(e,t){return 0===t.length||0===e.length?e:t.sign?g.__leftShiftByAbsolute(e,t):g.__rightShiftByAbsolute(e,t)}},{key:\"unsignedRightShift\",value:function e(){throw new TypeError(\"BigInts have no unsigned right shift; use >> instead\")}},{key:\"lessThan\",value:function i(e,t){return 0>g.__compareToBigInt(e,t)}},{key:\"lessThanOrEqual\",value:function i(e,t){return 0>=g.__compareToBigInt(e,t)}},{key:\"greaterThan\",value:function i(e,t){return 0<g.__compareToBigInt(e,t)}},{key:\"greaterThanOrEqual\",value:function i(e,t){return 0<=g.__compareToBigInt(e,t)}},{key:\"equal\",value:function _(e,t){if(e.sign!==t.sign)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e.__digit(n)!==t.__digit(n))return!1;return!0}},{key:\"notEqual\",value:function i(e,t){return!g.equal(e,t)}},{key:\"bitwiseAnd\",value:function _(e,t){if(!e.sign&&!t.sign)return g.__absoluteAnd(e,t).__trim();if(e.sign&&t.sign){var n=i(e.length,t.length)+1,o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return o=g.__absoluteOr(o,l,o),g.__absoluteAddOne(o,!0,o).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1]}return g.__absoluteAndNot(e,g.__absoluteSubOne(t)).__trim()}},{key:\"bitwiseXor\",value:function _(e,t){if(!e.sign&&!t.sign)return g.__absoluteXor(e,t).__trim();if(e.sign&&t.sign){var n=i(e.length,t.length),o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return g.__absoluteXor(o,l,o).__trim()}var a=i(e.length,t.length)+1;if(e.sign){var s=[t,e];e=s[0],t=s[1]}var u=g.__absoluteSubOne(t,a);return u=g.__absoluteXor(u,e,u),g.__absoluteAddOne(u,!0,u).__trim()}},{key:\"bitwiseOr\",value:function _(e,t){var n=i(e.length,t.length);if(!e.sign&&!t.sign)return g.__absoluteOr(e,t).__trim();if(e.sign&&t.sign){var o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return o=g.__absoluteAnd(o,l,o),g.__absoluteAddOne(o,!0,o).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1]}var s=g.__absoluteSubOne(t,n);return s=g.__absoluteAndNot(s,e,s),g.__absoluteAddOne(s,!0,s).__trim()}},{key:\"asIntN\",value:function o(e,t){if(0===t.length)return t;if(e=_(e),0>e)throw new RangeError(\"Invalid value: not (convertible to) a safe integer\");if(0===e)return g.__zero();if(e>=g.__kMaxLengthBits)return t;var l=0|(e+29)/30;if(t.length<l)return t;var a=t.__unsignedDigit(l-1),s=1<<(e-1)%30;if(t.length===l&&a<s)return t;var u=(a&s)===s;if(!u)return g.__truncateToNBits(e,t);if(!t.sign)return g.__truncateAndSubFromPowerOfTwo(e,t,!0);if(0==(a&s-1)){for(var r=l-2;0<=r;r--)if(0!==t.__digit(r))return g.__truncateAndSubFromPowerOfTwo(e,t,!1);return t.length===l&&a===s?t:g.__truncateToNBits(e,t)}return g.__truncateAndSubFromPowerOfTwo(e,t,!1)}},{key:\"asUintN\",value:function i(e,t){if(0===t.length)return t;if(e=_(e),0>e)throw new RangeError(\"Invalid value: not (convertible to) a safe integer\");if(0===e)return g.__zero();if(t.sign){if(e>g.__kMaxLengthBits)throw new RangeError(\"BigInt too big\");return g.__truncateAndSubFromPowerOfTwo(e,t,!1)}if(e>=g.__kMaxLengthBits)return t;var o=0|(e+29)/30;if(t.length<o)return t;var l=e%30;if(t.length==o){if(0===l)return t;var a=t.__digit(o-1);if(0==a>>>l)return t}return g.__truncateToNBits(e,t)}},{key:\"ADD\",value:function i(e,t){if(e=g.__toPrimitive(e),t=g.__toPrimitive(t),\"string\"==typeof e)return\"string\"!=typeof t&&(t=t.toString()),e+t;if(\"string\"==typeof t)return e.toString()+t;if(e=g.__toNumeric(e),t=g.__toNumeric(t),g.__isBigInt(e)&&g.__isBigInt(t))return g.add(e,t);if(\"number\"==typeof e&&\"number\"==typeof t)return e+t;throw new TypeError(\"Cannot mix BigInt and other types, use explicit conversions\")}},{key:\"LT\",value:function i(e,t){return g.__compare(e,t,0)}},{key:\"LE\",value:function i(e,t){return g.__compare(e,t,1)}},{key:\"GT\",value:function i(e,t){return g.__compare(e,t,2)}},{key:\"GE\",value:function i(e,t){return g.__compare(e,t,3)}},{key:\"EQ\",value:function i(e,t){for(;!0;){if(g.__isBigInt(e))return g.__isBigInt(t)?g.equal(e,t):g.EQ(t,e);if(\"number\"==typeof e){if(g.__isBigInt(t))return g.__equalToNumber(t,e);if(\"object\"!==p(t))return e==t;t=g.__toPrimitive(t)}else if(\"string\"==typeof e){if(g.__isBigInt(t))return e=g.__fromString(e),null!==e&&g.equal(e,t);if(\"object\"!==p(t))return e==t;t=g.__toPrimitive(t)}else if(\"boolean\"==typeof e){if(g.__isBigInt(t))return g.__equalToNumber(t,+e);if(\"object\"!==p(t))return e==t;t=g.__toPrimitive(t)}else if(\"symbol\"===p(e)){if(g.__isBigInt(t))return!1;if(\"object\"!==p(t))return e==t;t=g.__toPrimitive(t)}else if(\"object\"===p(e)){if(\"object\"===p(t)&&t.constructor!==g)return e==t;e=g.__toPrimitive(e)}else return e==t}}},{key:\"NE\",value:function i(e,t){return!g.EQ(e,t)}},{key:\"DataViewGetBigInt64\",value:function i(e,t){var _=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2];return g.asIntN(64,g.DataViewGetBigUint64(e,t,_))}},{key:\"DataViewGetBigUint64\",value:function i(e,t){var _=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],n=_?[4,0]:[0,4],o=f(n,2),a=o[0],s=o[1],l=e.getUint32(t+a,_),u=e.getUint32(t+s,_),r=new g(3,!1);return r.__setDigit(0,1073741823&u),r.__setDigit(1,(268435455&l)<<2|u>>>30),r.__setDigit(2,l>>>28),r.__trim()}},{key:\"DataViewSetBigInt64\",value:function _(e,t,i){var n=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3];g.DataViewSetBigUint64(e,t,i,n)}},{key:\"DataViewSetBigUint64\",value:function _(e,t,i){var n=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3];i=g.asUintN(64,i);var o=0,a=0;if(0<i.length&&(a=i.__digit(0),1<i.length)){var s=i.__digit(1);a|=s<<30,o=s>>>2,2<i.length&&(o|=i.__digit(2)<<28)}var u=n?[4,0]:[0,4],r=f(u,2),d=r[0],h=r[1];e.setUint32(t+d,o,n),e.setUint32(t+h,a,n)}},{key:\"__zero\",value:function e(){return new g(0,!1)}},{key:\"__oneDigit\",value:function i(e,t){var _=new g(1,t);return _.__setDigit(0,e),_}},{key:\"__decideRounding\",value:function n(e,t,i,_){if(0<t)return-1;var o;if(0>t)o=-t-1;else{if(0===i)return-1;i--,_=e.__digit(i),o=29}var l=1<<o;if(0==(_&l))return-1;if(l-=1,0!=(_&l))return 1;for(;0<i;)if(i--,0!==e.__digit(i))return 1;return 0}},{key:\"__fromDouble\",value:function t(e){var i=0>e;g.__kBitConversionDouble[0]=e;var _,n=2047&g.__kBitConversionInts[g.__kBitConversionIntHigh]>>>20,o=n-1023,l=(0|o/30)+1,a=new g(l,i),s=1048576,u=1048575&g.__kBitConversionInts[g.__kBitConversionIntHigh]|s,r=g.__kBitConversionInts[g.__kBitConversionIntLow],d=20,h=o%30,b=0;if(h<d){var m=d-h;b=m+32,_=u>>>m,u=u<<32-m|r>>>m,r<<=32-m}else if(h===d)b=32,_=u,u=r,r=0;else{var c=h-d;b=32-c,_=u<<c|r>>>32-c,u=r<<c,r=0}a.__setDigit(l-1,_);for(var v=l-2;0<=v;v--)0<b?(b-=30,_=u>>>2,u=u<<30|r>>>2,r<<=30):_=0,a.__setDigit(v,_);return a.__trim()}},{key:\"__isWhitespace\",value:function t(e){return!!(13>=e&&9<=e)||(159>=e?32==e:131071>=e?160==e||5760==e:196607>=e?(e&=131071,10>=e||40==e||41==e||47==e||95==e||4096==e):65279==e)}},{key:\"__fromString\",value:function t(e){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,_=0,n=e.length,o=0;if(o===n)return g.__zero();for(var l=e.charCodeAt(o);g.__isWhitespace(l);){if(++o===n)return g.__zero();l=e.charCodeAt(o)}if(43===l){if(++o===n)return null;l=e.charCodeAt(o),_=1}else if(45===l){if(++o===n)return null;l=e.charCodeAt(o),_=-1}if(0===i){if(i=10,48===l){if(++o===n)return g.__zero();if(l=e.charCodeAt(o),88===l||120===l){if(i=16,++o===n)return null;l=e.charCodeAt(o)}else if(79===l||111===l){if(i=8,++o===n)return null;l=e.charCodeAt(o)}else if(66===l||98===l){if(i=2,++o===n)return null;l=e.charCodeAt(o)}}}else if(16===i&&48===l){if(++o===n)return g.__zero();if(l=e.charCodeAt(o),88===l||120===l){if(++o===n)return null;l=e.charCodeAt(o)}}if(0!==_&&10!==i)return null;for(;48===l;){if(++o===n)return g.__zero();l=e.charCodeAt(o)}var a=n-o,s=g.__kMaxBitsPerChar[i],u=g.__kBitsPerCharTableMultiplier-1;if(a>1073741824/s)return null;var r=s*a+u>>>g.__kBitsPerCharTableShift,h=0|(r+29)/30,b=new g(h,!1),c=10>i?i:10,v=10<i?i-10:0;if(0==(i&i-1)){s>>=g.__kBitsPerCharTableShift;var y=[],f=[],k=!1;do{for(var D,p=0,B=0;!0;){if(D=void 0,l-48>>>0<c)D=l-48;else if((32|l)-97>>>0<v)D=(32|l)-87;else{k=!0;break}if(B+=s,p=p<<s|D,++o===n){k=!0;break}if(l=e.charCodeAt(o),30<B+s)break}y.push(p),f.push(B)}while(!k);g.__fillFromParts(b,y,f)}else{b.__initializeDigits();var S=!1,C=0;do{for(var I,A=0,T=1;!0;){if(I=void 0,l-48>>>0<c)I=l-48;else if((32|l)-97>>>0<v)I=(32|l)-87;else{S=!0;break}var P=T*i;if(1073741823<P)break;if(T=P,A=A*i+I,C++,++o===n){S=!0;break}l=e.charCodeAt(o)}u=30*g.__kBitsPerCharTableMultiplier-1;var O=0|(s*C+u>>>g.__kBitsPerCharTableShift)/30;b.__inplaceMultiplyAdd(T,A,O)}while(!S)}if(o!==n){if(!g.__isWhitespace(l))return null;for(o++;o<n;o++)if(l=e.charCodeAt(o),!g.__isWhitespace(l))return null}return b.sign=-1===_,b.__trim()}},{key:\"__fillFromParts\",value:function n(e,t,_){for(var o=0,l=0,g=0,a=t.length-1;0<=a;a--){var s=t[a],u=_[a];l|=s<<g,g+=u,30===g?(e.__setDigit(o++,l),g=0,l=0):30<g&&(e.__setDigit(o++,1073741823&l),g-=30,l=s>>>u-g)}if(0!==l){if(o>=e.length)throw new Error(\"implementation bug\");e.__setDigit(o++,l)}for(;o<e.length;o++)e.__setDigit(o,0)}},{key:\"__toStringBasePowerOfTwo\",value:function _(e,t){var n=e.length,o=t-1;o=(85&o>>>1)+(85&o),o=(51&o>>>2)+(51&o),o=(15&o>>>4)+(15&o);var l=o,a=t-1,s=e.__digit(n-1),u=g.__clz30(s),r=30*n-u,d=0|(r+l-1)/l;if(e.sign&&d++,268435456<d)throw new Error(\"string too long\");for(var h=Array(d),b=d-1,m=0,c=0,v=0;v<n-1;v++){var y=e.__digit(v),f=(m|y<<c)&a;h[b--]=g.__kConversionChars[f];var k=l-c;for(m=y>>>k,c=30-k;c>=l;)h[b--]=g.__kConversionChars[m&a],m>>>=l,c-=l}var D=(m|s<<c)&a;for(h[b--]=g.__kConversionChars[D],m=s>>>l-c;0!==m;)h[b--]=g.__kConversionChars[m&a],m>>>=l;if(e.sign&&(h[b--]=\"-\"),-1!==b)throw new Error(\"implementation bug\");return h.join(\"\")}},{key:\"__toStringGeneric\",value:function n(e,t,_){var o=e.length;if(0===o)return\"\";if(1===o){var l=e.__unsignedDigit(0).toString(t);return!1===_&&e.sign&&(l=\"-\"+l),l}var a=30*o-g.__clz30(e.__digit(o-1)),s=g.__kMaxBitsPerChar[t],u=s-1,r=a*g.__kBitsPerCharTableMultiplier;r+=u-1,r=0|r/u;var d,h,b=r+1>>1,m=g.exponentiate(g.__oneDigit(t,!1),g.__oneDigit(b,!1)),c=m.__unsignedDigit(0);if(1===m.length&&32767>=c){d=new g(e.length,!1),d.__initializeDigits();for(var v,y=0,f=2*e.length-1;0<=f;f--)v=y<<15|e.__halfDigit(f),d.__setHalfDigit(f,0|v/c),y=0|v%c;h=y.toString(t)}else{var k=g.__absoluteDivLarge(e,m,!0,!0);d=k.quotient;var D=k.remainder.__trim();h=g.__toStringGeneric(D,t,!0)}d.__trim();for(var p=g.__toStringGeneric(d,t,!0);h.length<b;)h=\"0\"+h;return!1===_&&e.sign&&(p=\"-\"+p),p+h}},{key:\"__unequalSign\",value:function t(e){return e?-1:1}},{key:\"__absoluteGreater\",value:function t(e){return e?-1:1}},{key:\"__absoluteLess\",value:function t(e){return e?1:-1}},{key:\"__compareToBigInt\",value:function i(e,t){var _=e.sign;if(_!==t.sign)return g.__unequalSign(_);var n=g.__absoluteCompare(e,t);return 0<n?g.__absoluteGreater(_):0>n?g.__absoluteLess(_):0}},{key:\"__compareToNumber\",value:function _(e,i){if(g.__isOneDigitInt(i)){var n=e.sign,o=0>i;if(n!==o)return g.__unequalSign(n);if(0===e.length){if(o)throw new Error(\"implementation bug\");return 0===i?0:-1}if(1<e.length)return g.__absoluteGreater(n);var l=t(i),a=e.__unsignedDigit(0);return a>l?g.__absoluteGreater(n):a<l?g.__absoluteLess(n):0}return g.__compareToDouble(e,i)}},{key:\"__compareToDouble\",value:function i(e,t){if(t!==t)return t;if(t===1/0)return-1;if(t===-Infinity)return 1;var _=e.sign,n=0>t;if(_!==n)return g.__unequalSign(_);if(0===t)throw new Error(\"implementation bug: should be handled elsewhere\");if(0===e.length)return-1;g.__kBitConversionDouble[0]=t;var o=2047&g.__kBitConversionInts[g.__kBitConversionIntHigh]>>>20;if(2047==o)throw new Error(\"implementation bug: handled elsewhere\");var l=o-1023;if(0>l)return g.__absoluteGreater(_);var a=e.length,s=e.__digit(a-1),u=g.__clz30(s),r=30*a-u,d=l+1;if(r<d)return g.__absoluteLess(_);if(r>d)return g.__absoluteGreater(_);var h=1048576,b=1048576|1048575&g.__kBitConversionInts[g.__kBitConversionIntHigh],m=g.__kBitConversionInts[g.__kBitConversionIntLow],c=20,v=29-u;if(v!==(0|(r-1)%30))throw new Error(\"implementation bug\");var y,f=0;if(v<c){var k=c-v;f=k+32,y=b>>>k,b=b<<32-k|m>>>k,m<<=32-k}else if(v===c)f=32,y=b,b=m,m=0;else{var D=v-c;f=32-D,y=b<<D|m>>>32-D,b=m<<D,m=0}if(s>>>=0,y>>>=0,s>y)return g.__absoluteGreater(_);if(s<y)return g.__absoluteLess(_);for(var p=a-2;0<=p;p--){0<f?(f-=30,y=b>>>2,b=b<<30|m>>>2,m<<=30):y=0;var B=e.__unsignedDigit(p);if(B>y)return g.__absoluteGreater(_);if(B<y)return g.__absoluteLess(_)}if(0!==b||0!==m){if(0===f)throw new Error(\"implementation bug\");return g.__absoluteLess(_)}return 0}},{key:\"__equalToNumber\",value:function _(e,i){return g.__isOneDigitInt(i)?0===i?0===e.length:1===e.length&&e.sign===0>i&&e.__unsignedDigit(0)===t(i):0===g.__compareToDouble(e,i)}},{key:\"__comparisonResultToBool\",value:function i(e,t){return 0===t?0>e:1===t?0>=e:2===t?0<e:3===t?0<=e:void 0}},{key:\"__compare\",value:function _(e,t,i){if(e=g.__toPrimitive(e),t=g.__toPrimitive(t),\"string\"==typeof e&&\"string\"==typeof t)switch(i){case 0:return e<t;case 1:return e<=t;case 2:return e>t;case 3:return e>=t}if(g.__isBigInt(e)&&\"string\"==typeof t)return t=g.__fromString(t),null!==t&&g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if(\"string\"==typeof e&&g.__isBigInt(t))return e=g.__fromString(e),null!==e&&g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if(e=g.__toNumeric(e),t=g.__toNumeric(t),g.__isBigInt(e)){if(g.__isBigInt(t))return g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return g.__comparisonResultToBool(g.__compareToNumber(e,t),i)}if(\"number\"!=typeof e)throw new Error(\"implementation bug\");if(g.__isBigInt(t))return g.__comparisonResultToBool(g.__compareToNumber(t,e),2^i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return 0===i?e<t:1===i?e<=t:2===i?e>t:3===i?e>=t:void 0}},{key:\"__absoluteAdd\",value:function n(e,t,_){if(e.length<t.length)return g.__absoluteAdd(t,e,_);if(0===e.length)return e;if(0===t.length)return e.sign===_?e:g.unaryMinus(e);var o=e.length;(0===e.__clzmsd()||t.length===e.length&&0===t.__clzmsd())&&o++;for(var l,a=new g(o,_),s=0,u=0;u<t.length;u++)l=e.__digit(u)+t.__digit(u)+s,s=l>>>30,a.__setDigit(u,1073741823&l);for(;u<e.length;u++){var d=e.__digit(u)+s;s=d>>>30,a.__setDigit(u,1073741823&d)}return u<a.length&&a.__setDigit(u,s),a.__trim()}},{key:\"__absoluteSub\",value:function n(e,t,_){if(0===e.length)return e;if(0===t.length)return e.sign===_?e:g.unaryMinus(e);for(var o,l=new g(e.length,_),a=0,s=0;s<t.length;s++)o=e.__digit(s)-t.__digit(s)-a,a=1&o>>>30,l.__setDigit(s,1073741823&o);for(;s<e.length;s++){var u=e.__digit(s)-a;a=1&u>>>30,l.__setDigit(s,1073741823&u)}return l.__trim()}},{key:\"__absoluteAddOne\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length;null===n?n=new g(o,t):n.sign=t;for(var l,a=1,s=0;s<o;s++)l=e.__digit(s)+a,a=l>>>30,n.__setDigit(s,1073741823&l);return 0!==a&&n.__setDigitGrow(o,1),n}},{key:\"__absoluteSubOne\",value:function _(e,t){var n=e.length;t=t||n;for(var o,l=new g(t,!1),a=1,s=0;s<n;s++)o=e.__digit(s)-a,a=1&o>>>30,l.__setDigit(s,1073741823&o);if(0!==a)throw new Error(\"implementation bug\");for(var u=n;u<t;u++)l.__setDigit(u,0);return l}},{key:\"__absoluteAnd\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u}var r=a;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)&t.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:\"__absoluteAndNot\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;o<l&&(a=o);var s=o;null===n?n=new g(s,!1):s=n.length;for(var u=0;u<a;u++)n.__setDigit(u,e.__digit(u)&~t.__digit(u));for(;u<o;u++)n.__setDigit(u,e.__digit(u));for(;u<s;u++)n.__setDigit(u,0);return n}},{key:\"__absoluteOr\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u}var r=o;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)|t.__digit(d));for(;d<o;d++)n.__setDigit(d,e.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:\"__absoluteXor\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u}var r=o;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)^t.__digit(d));for(;d<o;d++)n.__setDigit(d,e.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:\"__absoluteCompare\",value:function _(e,t){var n=e.length-t.length;if(0!=n)return n;for(var o=e.length-1;0<=o&&e.__digit(o)===t.__digit(o);)o--;return 0>o?0:e.__unsignedDigit(o)>t.__unsignedDigit(o)?1:-1}},{key:\"__multiplyAccumulate\",value:function o(e,t,_,n){if(0!==t){for(var l=32767&t,a=t>>>15,s=0,u=0,r=0;r<e.length;r++,n++){var d=_.__digit(n),h=e.__digit(r),b=32767&h,m=h>>>15,c=g.__imul(b,l),v=g.__imul(b,a),y=g.__imul(m,l),f=g.__imul(m,a);d+=u+c+s,s=d>>>30,d&=1073741823,d+=((32767&v)<<15)+((32767&y)<<15),s+=d>>>30,u=f+(v>>>15)+(y>>>15),_.__setDigit(n,1073741823&d)}for(;0!==s||0!==u;n++){var k=_.__digit(n);k+=s+u,u=0,s=k>>>30,_.__setDigit(n,1073741823&k)}}}},{key:\"__internalMultiplyAdd\",value:function a(e,t,_,o,l){for(var s=_,u=0,d=0;d<o;d++){var h=e.__digit(d),b=g.__imul(32767&h,t),m=g.__imul(h>>>15,t),c=b+((32767&m)<<15)+u+s;s=c>>>30,u=m>>>15,l.__setDigit(d,1073741823&c)}if(l.length>o)for(l.__setDigit(o++,s+u);o<l.length;)l.__setDigit(o++,0);else if(0!==s+u)throw new Error(\"implementation bug\")}},{key:\"__absoluteDivSmall\",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;null===n&&(n=new g(e.length,!1));for(var o=0,l=2*e.length-1;0<=l;l-=2){var a=(o<<15|e.__halfDigit(l))>>>0,s=0|a/t;o=0|a%t,a=(o<<15|e.__halfDigit(l-1))>>>0;var u=0|a/t;o=0|a%t,n.__setDigit(l>>>1,s<<15|u)}return n}},{key:\"__absoluteModSmall\",value:function _(e,t){for(var n,o=0,l=2*e.length-1;0<=l;l--)n=(o<<15|e.__halfDigit(l))>>>0,o=0|n%t;return o}},{key:\"__absoluteDivLarge\",value:function o(e,t,i,_){var l=t.__halfDigitLength(),n=t.length,a=e.__halfDigitLength()-l,s=null;i&&(s=new g(a+2>>>1,!1),s.__initializeDigits());var r=new g(l+2>>>1,!1);r.__initializeDigits();var d=g.__clz15(t.__halfDigit(l-1));0<d&&(t=g.__specialLeftShift(t,d,0));for(var h=g.__specialLeftShift(e,d,1),u=t.__halfDigit(l-1),b=0,m=a;0<=m;m--){var v=32767,y=h.__halfDigit(m+l);if(y!==u){var f=(y<<15|h.__halfDigit(m+l-1))>>>0;v=0|f/u;for(var k=0|f%u,D=t.__halfDigit(l-2),p=h.__halfDigit(m+l-2);g.__imul(v,D)>>>0>(k<<16|p)>>>0&&(v--,k+=u,!(32767<k)););}g.__internalMultiplyAdd(t,v,0,n,r);var B=h.__inplaceSub(r,m,l+1);0!==B&&(B=h.__inplaceAdd(t,m,l),h.__setHalfDigit(m+l,32767&h.__halfDigit(m+l)+B),v--),i&&(1&m?b=v<<15:s.__setDigit(m>>>1,b|v))}if(_)return h.__inplaceRightShift(d),i?{quotient:s,remainder:h}:h;if(i)return s;throw new Error(\"unreachable\")}},{key:\"__clz15\",value:function t(e){return g.__clz30(e)-15}},{key:\"__specialLeftShift\",value:function o(e,t,_){var l=e.length,n=l+_,a=new g(n,!1);if(0===t){for(var s=0;s<l;s++)a.__setDigit(s,e.__digit(s));return 0<_&&a.__setDigit(l,0),a}for(var u,r=0,h=0;h<l;h++)u=e.__digit(h),a.__setDigit(h,1073741823&u<<t|r),r=u>>>30-t;return 0<_&&a.__setDigit(l,r),a}},{key:\"__leftShiftByAbsolute\",value:function _(e,t){var n=g.__toShiftAmount(t);if(0>n)throw new RangeError(\"BigInt too big\");var o=0|n/30,l=n%30,a=e.length,s=0!==l&&0!=e.__digit(a-1)>>>30-l,u=a+o+(s?1:0),r=new g(u,e.sign);if(0===l){for(var h=0;h<o;h++)r.__setDigit(h,0);for(;h<u;h++)r.__setDigit(h,e.__digit(h-o))}else{for(var b=0,m=0;m<o;m++)r.__setDigit(m,0);for(var c,v=0;v<a;v++)c=e.__digit(v),r.__setDigit(v+o,1073741823&c<<l|b),b=c>>>30-l;if(s)r.__setDigit(a+o,b);else if(0!==b)throw new Error(\"implementation bug\")}return r.__trim()}},{key:\"__rightShiftByAbsolute\",value:function _(e,t){var n=e.length,o=e.sign,l=g.__toShiftAmount(t);if(0>l)return g.__rightShiftByMaximum(o);var a=0|l/30,s=l%30,u=n-a;if(0>=u)return g.__rightShiftByMaximum(o);var r=!1;if(o){var h=(1<<s)-1;if(0!=(e.__digit(a)&h))r=!0;else for(var b=0;b<a;b++)if(0!==e.__digit(b)){r=!0;break}}if(r&&0===s){var m=e.__digit(n-1),c=0==~m;c&&u++}var v=new g(u,o);if(0===s){v.__setDigit(u-1,0);for(var y=a;y<n;y++)v.__setDigit(y-a,e.__digit(y))}else{for(var f,k=e.__digit(a)>>>s,D=n-a-1,p=0;p<D;p++)f=e.__digit(p+a+1),v.__setDigit(p,1073741823&f<<30-s|k),k=f>>>s;v.__setDigit(D,k)}return r&&(v=g.__absoluteAddOne(v,!0,v)),v.__trim()}},{key:\"__rightShiftByMaximum\",value:function t(e){return e?g.__oneDigit(1,!0):g.__zero()}},{key:\"__toShiftAmount\",value:function t(e){if(1<e.length)return-1;var i=e.__unsignedDigit(0);return i>g.__kMaxLengthBits?-1:i}},{key:\"__toPrimitive\",value:function t(e){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:\"default\";if(\"object\"!==p(e))return e;if(e.constructor===g)return e;if(\"undefined\"!=typeof Symbol&&\"symbol\"===p(Symbol.toPrimitive)&&e[Symbol.toPrimitive]){var _=e[Symbol.toPrimitive](i);if(\"object\"!==p(_))return _;throw new TypeError(\"Cannot convert object to primitive value\")}var n=e.valueOf;if(n){var o=n.call(e);if(\"object\"!==p(o))return o}var l=e.toString;if(l){var a=l.call(e);if(\"object\"!==p(a))return a}throw new TypeError(\"Cannot convert object to primitive value\")}},{key:\"__toNumeric\",value:function t(e){return g.__isBigInt(e)?e:+e}},{key:\"__isBigInt\",value:function t(e){return\"object\"===p(e)&&null!==e&&e.constructor===g}},{key:\"__truncateToNBits\",value:function _(e,t){for(var n=0|(e+29)/30,o=new g(n,t.sign),l=n-1,a=0;a<l;a++)o.__setDigit(a,t.__digit(a));var s=t.__digit(l);if(0!=e%30){var u=32-e%30;s=s<<u>>>u}return o.__setDigit(l,s),o.__trim()}},{key:\"__truncateAndSubFromPowerOfTwo\",value:function n(e,t,_){for(var o=Math.min,l,a=0|(e+29)/30,s=new g(a,_),u=0,d=a-1,h=0,b=o(d,t.length);u<b;u++)l=0-t.__digit(u)-h,h=1&l>>>30,s.__setDigit(u,1073741823&l);for(;u<d;u++)s.__setDigit(u,0|1073741823&-h);var m,c=d<t.length?t.__digit(d):0,v=e%30;if(0===v)m=0-c-h,m&=1073741823;else{var y=32-v;c=c<<y>>>y;var f=1<<32-y;m=f-c-h,m&=f-1}return s.__setDigit(d,m),s.__trim()}},{key:\"__digitPow\",value:function i(e,t){for(var _=1;0<t;)1&t&&(_*=e),t>>>=1,e*=e;return _}},{key:\"__detectBigEndian\",value:function e(){return g.__kBitConversionDouble[0]=-0,0!==g.__kBitConversionInts[0]}},{key:\"__isOneDigitInt\",value:function t(e){return(1073741823&e)===e}}])}(S(Array));return C.__kMaxLength=33554432,C.__kMaxLengthBits=C.__kMaxLength<<5,C.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],C.__kBitsPerCharTableShift=5,C.__kBitsPerCharTableMultiplier=1<<C.__kBitsPerCharTableShift,C.__kConversionChars=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\"],C.__kBitConversionBuffer=new ArrayBuffer(8),C.__kBitConversionDouble=new Float64Array(C.__kBitConversionBuffer),C.__kBitConversionInts=new Int32Array(C.__kBitConversionBuffer),C.__kBitConversionIntHigh=C.__detectBigEndian()?0:1,C.__kBitConversionIntLow=C.__detectBigEndian()?1:0,C.__clz30=t?function(e){return t(e)-2}:function(e){var t=Math.LN2,i=Math.log;return 0===e?30:0|29-(0|i(e>>>0)/t)},C.__imul=e||function(e,t){return 0|e*t},C});\n//# sourceMappingURL=jsbi-umd.js.map\n","/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"it\"]=t[\"it\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 di %1\",\"Align center\":\"Allinea al centro\",\"Align left\":\"Allinea a sinistra\",\"Align right\":\"Allinea a destra\",\"Block quote\":\"Blocco citazione\",Bold:\"Grassetto\",\"Bulleted List\":\"Elenco puntato\",Cancel:\"Annulla\",\"Centered image\":\"Immagine centrata\",\"Change image text alternative\":\"Cambia testo alternativo dell'immagine\",\"Choose heading\":\"Seleziona intestazione\",Code:\"Codice\",Column:\"Colonna\",\"Decrease indent\":\"Riduci rientro\",\"Delete column\":\"Elimina colonna\",\"Delete row\":\"Elimina riga\",Downloadable:\"Scaricabile\",\"Dropdown toolbar\":\"Barra degli strumenti del menu a discesa\",\"Edit link\":\"Modifica collegamento\",\"Editor toolbar\":\"Barra degli strumenti dell'editor\",\"Enter image caption\":\"inserire didascalia dell'immagine\",\"Full size image\":\"Immagine a dimensione intera\",\"Header column\":\"Intestazione colonna\",\"Header row\":\"Riga d'intestazione\",Heading:\"Intestazione\",\"Heading 1\":\"Intestazione 1\",\"Heading 2\":\"Intestazione 2\",\"Heading 3\":\"Intestazione 3\",\"Heading 4\":\"Intestazione 4\",\"Heading 5\":\"Intestazione 5\",\"Heading 6\":\"Intestazione 6\",\"Image toolbar\":\"Barra degli strumenti dell'immagine\",\"image widget\":\"Widget immagine\",\"Increase indent\":\"Aumenta rientro\",\"Insert column left\":\"Inserisci colonna a sinistra\",\"Insert column right\":\"Inserisci colonna a destra\",\"Insert image\":\"Inserisci immagine\",\"Insert media\":\"Inserisci media\",\"Insert paragraph after block\":\"\",\"Insert paragraph before block\":\"\",\"Insert row above\":\"Inserisci riga sopra\",\"Insert row below\":\"Inserisci riga sotto\",\"Insert table\":\"Inserisci tabella\",Italic:\"Corsivo\",Justify:\"Giustifica\",\"Left aligned image\":\"Immagine allineata a sinistra\",Link:\"Collegamento\",\"Link URL\":\"URL del collegamento\",\"Media URL\":\"URL media\",\"media widget\":\"widget media\",\"Merge cell down\":\"Unisci cella sotto\",\"Merge cell left\":\"Unisci cella a sinistra\",\"Merge cell right\":\"Unisci cella a destra\",\"Merge cell up\":\"Unisci cella sopra\",\"Merge cells\":\"Unisci celle\",Next:\"Avanti\",\"Numbered List\":\"Elenco numerato\",\"Open in a new tab\":\"Apri in una nuova scheda\",\"Open link in new tab\":\"Apri collegamento in nuova scheda\",Paragraph:\"Paragrafo\",\"Paste the media URL in the input.\":\"Incolla l'URL del file multimediale nell'input.\",Previous:\"Indietro\",Redo:\"Ripristina\",\"Remove Format\":\"Rimuovi formato\",\"Rich Text Editor\":\"Editor di testo formattato\",\"Rich Text Editor, %0\":\"Editor di testo formattato, %0\",\"Right aligned image\":\"Immagine allineata a destra\",Row:\"Riga\",Save:\"Salva\",\"Select all\":\"Seleziona tutto\",\"Select column\":\"Seleziona colonna\",\"Select row\":\"Seleziona riga\",\"Show more items\":\"Mostra più elementi\",\"Side image\":\"Immagine laterale\",\"Split cell horizontally\":\"Dividi cella orizzontalmente\",\"Split cell vertically\":\"Dividi cella verticalmente\",Strikethrough:\"Barrato\",Subscript:\"Pedice\",Superscript:\"Apice\",\"Table toolbar\":\"Barra degli strumenti della tabella\",\"Text alignment\":\"Allineamento del testo\",\"Text alignment toolbar\":\"Barra degli strumenti dell'allineamento\",\"Text alternative\":\"Testo alternativo\",\"The URL must not be empty.\":\"L'URL non può essere vuoto.\",\"This link has no URL\":\"Questo collegamento non ha un URL\",\"This media URL is not supported.\":\"Questo URL di file multimediali non è supportato.\",\"Tip: Paste the URL into the content to embed faster.\":\"Consiglio: incolla l'URL nel contenuto per un'incorporazione più veloce.\",Undo:\"Annulla\",Unlink:\"Elimina collegamento\",\"Upload failed\":\"Caricamento fallito\",\"Upload in progress\":\"Caricamento in corso\",\"Widget toolbar\":\"Barra degli strumenti del widget\"});e.getPluralForm=function(t){return t!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(window,(function(){return function(t){var e={};function n(i){if(e[i]){return e[i].exports}var o=e[i]={i:i,l:false,exports:{}};t[i].call(o.exports,o,o.exports,n);o.l=true;return o.exports}n.m=t;n.c=e;n.d=function(t,e,i){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:i})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var i=Object.create(null);n.r(i);Object.defineProperty(i,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i};n.n=function(t){var e=t&&t.__esModule?function e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=102)}([function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return o}));n.d(e,\"a\",(function(){return s}));const i=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class o extends Error{constructor(t,e,n){t=s(t);if(n){t+=\" \"+JSON.stringify(n)}super(t);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new o(t.message,e);n.stack=t.stack;throw n}}function s(t){const e=t.match(/^([^:]+):/);if(!e){return t}return t+` Read more: ${i}#error-${e[1]}\\n`}},function(t,e,n){\"use strict\";var i=function t(){var e;return function t(){if(typeof e===\"undefined\"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]===\"undefined\"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var s=[];function r(t){var e=-1;for(var n=0;n<s.length;n++){if(s[n].identifier===t){e=n;break}}return e}function a(t,e){var n={};var i=[];for(var o=0;o<t.length;o++){var a=t[o];var c=e.base?a[0]+e.base:a[0];var l=n[c]||0;var d=\"\".concat(c,\" \").concat(l);n[c]=l+1;var u=r(d);var h={css:a[1],media:a[2],sourceMap:a[3]};if(u!==-1){s[u].references++;s[u].updater(h)}else{s.push({identifier:d,updater:m(h,e),references:1})}i.push(d)}return i}function c(t){var e=document.createElement(\"style\");var i=t.attributes||{};if(typeof i.nonce===\"undefined\"){var s=true?n.nc:undefined;if(s){i.nonce=s}}Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])}));if(typeof t.insert===\"function\"){t.insert(e)}else{var r=o(t.insert||\"head\");if(!r){throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\")}r.appendChild(e)}return e}function l(t){if(t.parentNode===null){return false}t.parentNode.removeChild(t)}var d=function t(){var e=[];return function t(n,i){e[n]=i;return e.filter(Boolean).join(\"\\n\")}}();function u(t,e,n,i){var o=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet){t.styleSheet.cssText=d(e,o)}else{var s=document.createTextNode(o);var r=t.childNodes;if(r[e]){t.removeChild(r[e])}if(r.length){t.insertBefore(s,r[e])}else{t.appendChild(s)}}}function h(t,e,n){var i=n.css;var o=n.media;var s=n.sourceMap;if(o){t.setAttribute(\"media\",o)}else{t.removeAttribute(\"media\")}if(s&&btoa){i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s)))),\" */\")}if(t.styleSheet){t.styleSheet.cssText=i}else{while(t.firstChild){t.removeChild(t.firstChild)}t.appendChild(document.createTextNode(i))}}var f=null;var g=0;function m(t,e){var n;var i;var o;if(e.singleton){var s=g++;n=f||(f=c(e));i=u.bind(null,n,s,false);o=u.bind(null,n,s,true)}else{n=c(e);i=h.bind(null,n,e);o=function t(){l(n)}}i(t);return function e(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap){return}i(t=n)}else{o()}}}t.exports=function(t,e){e=e||{};if(!e.singleton&&typeof e.singleton!==\"boolean\"){e.singleton=i()}t=t||[];var n=a(t,e);return function t(i){i=i||[];if(Object.prototype.toString.call(i)!==\"[object Array]\"){return}for(var o=0;o<n.length;o++){var c=n[o];var l=r(c);s[l].references--}var d=a(i,e);for(var u=0;u<n.length;u++){var h=n[u];var f=r(h);if(s[f].references===0){s[f].updater();s.splice(f,1)}}n=d}}},,function(t,e,n){\"use strict\";var i=n(7);var o=typeof self==\"object\"&&self&&self.Object===Object&&self;var s=i[\"a\"]||o||Function(\"return this\")();e[\"a\"]=s},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=n(13);var s=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var r=s&&typeof t==\"object\"&&t&&!t.nodeType&&t;var a=r&&r.exports===s;var c=a?i[\"a\"].Buffer:undefined;var l=c?c.isBuffer:undefined;var d=l||o[\"a\"];e[\"a\"]=d}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var i=n(7);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r&&i[\"a\"].process;var c=function(){try{var t=s&&s.require&&s.require(\"util\").types;if(t){return t}return a&&a.binding&&a.binding(\"util\")}catch(t){}}();e[\"a\"]=c}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var e=n(0);const i=\"19.1.1\";const o=typeof window===\"object\"?window:t;if(o.CKEDITOR_VERSION){throw new e[\"b\"](\"ckeditor-duplicated-modules: Some CKEditor 5 modules are duplicated.\",null)}else{o.CKEDITOR_VERSION=i}}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var n=typeof t==\"object\"&&t&&t.Object===Object&&t;e[\"a\"]=n}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r?i[\"a\"].Buffer:undefined,c=a?a.allocUnsafe:undefined;function l(t,e){if(e){return t.slice()}var n=t.length,i=c?c(n):new t.constructor(n);t.copy(i);return i}e[\"a\"]=l}).call(this,n(9)(t))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);if(!e.children)e.children=[];Object.defineProperty(e,\"loaded\",{enumerable:true,get:function(){return e.l}});Object.defineProperty(e,\"id\",{enumerable:true,get:function(){return e.i}});Object.defineProperty(e,\"exports\",{enumerable:true});e.webpackPolyfill=1}return e}},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){if(typeof window===\"object\")n=window}t.exports=n},function(t,e,n){var i=n(1);var o=n(46);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(47);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){\"use strict\";function i(){return false}e[\"a\"]=i},function(t,e,n){var i=n(1);var o=n(15);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-placeholder:before,.ck .ck-placeholder:before{content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}\"},function(t,e,n){var i=n(1);var o=n(17);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999);--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#5c5c5c;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\"},function(t,e,n){var i=n(1);var o=n(19);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}\"},function(t,e,n){var i=n(1);var o=n(21);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(23);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(25);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}:root{--ck-dropdown-arrow-size:calc(0.5*var(--ck-icon-size))}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(27);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}\"},function(t,e,n){var i=n(1);var o=n(29);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:\"\";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_n{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}'},function(t,e,n){var i=n(1);var o=n(31);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(-1*var(--ck-spacing-small));margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(-1*var(--ck-spacing-small));margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(33);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(0.2*var(--ck-line-height-base)*var(--ck-font-size-base)) calc(0.4*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(1.2*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(35);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2*var(--ck-switch-button-toggle-spacing))}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(2*var(--ck-spacing-large))}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(2*var(--ck-spacing-large))}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(0.5*var(--ck-border-radius))}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(-1*var(--ck-switch-button-translation)))}\"},function(t,e,n){var i=n(1);var o=n(37);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\"},function(t,e,n){var i=n(1);var o=n(39);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(41);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;margin-top:0;margin-bottom:0;background:var(--ck-color-toolbar-border)}.ck.ck-toolbar>.ck-toolbar__items>*{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>*,.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}\"},function(t,e,n){var i=n(1);var o=n(43);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(45);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}\"},function(t,e){t.exports=\".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}\"},function(t,e){t.exports=\".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}\"},function(t,e,n){var i=n(1);var o=n(49);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}'},function(t,e,n){var i=n(1);var o=n(51);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(-0.5*var(--ck-widget-outline-thickness));left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(-0.5*var(--ck-widget-outline-thickness));right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget:not(.ck-widget_can-type-around_after)>.ck-widget__type-around>.ck-widget__type-around__button_after,.ck .ck-widget:not(.ck-widget_can-type-around_before)>.ck-widget__type-around>.ck-widget__type-around__button_before{display:none}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;pointer-events:none;opacity:0;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:auto;opacity:1}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:none;opacity:0}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}'},function(t,e,n){var i=n(1);var o=n(53);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-resizer-size:10px;--ck-resizer-border-width:1px;--ck-resizer-border-radius:2px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-tooltip-offset:10px;--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness))}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\"},function(t,e,n){var i=n(1);var o=n(55);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view>.ck.ck-label{width:100%;text-overflow:ellipsis;overflow:hidden}\"},function(t,e,n){var i=n(1);var o=n(57);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{box-shadow:var(--ck-inner-shadow),0 0;background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .2s ease-in-out,border .2s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),var(--ck-inner-shadow)}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\"},function(t,e,n){var i=n(1);var o=n(59);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}.ck.ck-text-alternative-form{padding:var(--ck-spacing-standard)}.ck.ck-text-alternative-form:focus{outline:none}[dir=ltr] .ck.ck-text-alternative-form>:not(:first-child),[dir=rtl] .ck.ck-text-alternative-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-text-alternative-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-text-alternative-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-text-alternative-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-text-alternative-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-text-alternative-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-text-alternative-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(61);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\"},function(t,e,n){var i=n(1);var o=n(63);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\"},function(t,e,n){var i=n(1);var o=n(65);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image>img{display:block;margin:0 auto;max-width:100%;min-width:50px}\"},function(t,e,n){var i=n(1);var o=n(67);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(69);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0;outline:1px solid var(--ck-color-resizer)}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all;width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nesw-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nesw-resize}\"},function(t,e,n){var i=n(1);var o=n(71);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}\"},function(t,e,n){var i=n(1);var o=n(73);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-image-style-spacing:1.5em}.ck-content .image-style-align-center,.ck-content .image-style-align-left,.ck-content .image-style-align-right,.ck-content .image-style-side{max-width:50%}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}\"},function(t,e,n){var i=n(1);var o=n(75);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\"},function(t,e,n){var i=n(1);var o=n(77);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}'},function(t,e,n){var i=n(1);var o=n(79);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}'},function(t,e,n){var i=n(1);var o=n(81);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}\"},function(t,e,n){var i=n(1);var o=n(83);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form{padding:var(--ck-spacing-standard)}.ck.ck-link-form:focus{outline:none}[dir=ltr] .ck.ck-link-form>:not(:first-child),[dir=rtl] .ck.ck-link-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin-left:0}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\"},function(t,e,n){var i=n(1);var o=n(85);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions{padding:var(--ck-spacing-standard)}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}.ck.ck-link-actions:focus{outline:none}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(87);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(3*var(--ck-spacing-standard));background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*=\"open.spotify.com\"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}'},function(t,e,n){var i=n(1);var o=n(89);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}.ck.ck-media-form{padding:var(--ck-spacing-standard)}.ck.ck-media-form:focus{outline:none}[dir=ltr] .ck.ck-media-form>:not(:first-child),[dir=rtl] .ck.ck-media-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-media-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-media-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-media-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-media-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-media-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-media-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-media-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-media-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-media-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(91);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}\"},function(t,e,n){var i=n(1);var o=n(93);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(95);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(97);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}\"},function(t,e,n){var i=n(1);var o=n(99);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:\"\";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}'},function(t,e,n){var i=n(1);var o=n(101);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .table{margin:1em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}\"},function(t,e,n){\"use strict\";n.r(e);var i=n(3);var o=i[\"a\"].Symbol;var s=o;var r=Object.prototype;var a=r.hasOwnProperty;var c=r.toString;var l=s?s.toStringTag:undefined;function d(t){var e=a.call(t,l),n=t[l];try{t[l]=undefined;var i=true}catch(t){}var o=c.call(t);if(i){if(e){t[l]=n}else{delete t[l]}}return o}var u=d;var h=Object.prototype;var f=h.toString;function g(t){return f.call(t)}var m=g;var p=\"[object Null]\",b=\"[object Undefined]\";var w=s?s.toStringTag:undefined;function _(t){if(t==null){return t===undefined?b:p}return w&&w in Object(t)?u(t):m(t)}var k=_;function v(t,e){return function(n){return t(e(n))}}var y=v;var x=y(Object.getPrototypeOf,Object);var A=x;function T(t){return t!=null&&typeof t==\"object\"}var C=T;var S=\"[object Object]\";var P=Function.prototype,E=Object.prototype;var M=P.toString;var I=E.hasOwnProperty;var N=M.call(Object);function O(t){if(!C(t)||k(t)!=S){return false}var e=A(t);if(e===null){return true}var n=I.call(e,\"constructor\")&&e.constructor;return typeof n==\"function\"&&n instanceof n&&M.call(n)==N}var R=O;function D(){this.__data__=[];this.size=0}var L=D;function z(t,e){return t===e||t!==t&&e!==e}var V=z;function j(t,e){var n=t.length;while(n--){if(V(t[n][0],e)){return n}}return-1}var B=j;var F=Array.prototype;var H=F.splice;function U(t){var e=this.__data__,n=B(e,t);if(n<0){return false}var i=e.length-1;if(n==i){e.pop()}else{H.call(e,n,1)}--this.size;return true}var W=U;function q(t){var e=this.__data__,n=B(e,t);return n<0?undefined:e[n][1]}var $=q;function Y(t){return B(this.__data__,t)>-1}var G=Y;function Q(t,e){var n=this.__data__,i=B(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}var K=Q;function J(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}J.prototype.clear=L;J.prototype[\"delete\"]=W;J.prototype.get=$;J.prototype.has=G;J.prototype.set=K;var Z=J;function X(){this.__data__=new Z;this.size=0}var tt=X;function et(t){var e=this.__data__,n=e[\"delete\"](t);this.size=e.size;return n}var nt=et;function it(t){return this.__data__.get(t)}var ot=it;function st(t){return this.__data__.has(t)}var rt=st;function at(t){var e=typeof t;return t!=null&&(e==\"object\"||e==\"function\")}var ct=at;var lt=\"[object AsyncFunction]\",dt=\"[object Function]\",ut=\"[object GeneratorFunction]\",ht=\"[object Proxy]\";function ft(t){if(!ct(t)){return false}var e=k(t);return e==dt||e==ut||e==lt||e==ht}var gt=ft;var mt=i[\"a\"][\"__core-js_shared__\"];var pt=mt;var bt=function(){var t=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();function wt(t){return!!bt&&bt in t}var _t=wt;var kt=Function.prototype;var vt=kt.toString;function yt(t){if(t!=null){try{return vt.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}var xt=yt;var At=/[\\\\^$.*+?()[\\]{}|]/g;var Tt=/^\\[object .+?Constructor\\]$/;var Ct=Function.prototype,St=Object.prototype;var Pt=Ct.toString;var Et=St.hasOwnProperty;var Mt=RegExp(\"^\"+Pt.call(Et).replace(At,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function It(t){if(!ct(t)||_t(t)){return false}var e=gt(t)?Mt:Tt;return e.test(xt(t))}var Nt=It;function Ot(t,e){return t==null?undefined:t[e]}var Rt=Ot;function Dt(t,e){var n=Rt(t,e);return Nt(n)?n:undefined}var Lt=Dt;var zt=Lt(i[\"a\"],\"Map\");var Vt=zt;var jt=Lt(Object,\"create\");var Bt=jt;function Ft(){this.__data__=Bt?Bt(null):{};this.size=0}var Ht=Ft;function Ut(t){var e=this.has(t)&&delete this.__data__[t];this.size-=e?1:0;return e}var Wt=Ut;var qt=\"__lodash_hash_undefined__\";var $t=Object.prototype;var Yt=$t.hasOwnProperty;function Gt(t){var e=this.__data__;if(Bt){var n=e[t];return n===qt?undefined:n}return Yt.call(e,t)?e[t]:undefined}var Qt=Gt;var Kt=Object.prototype;var Jt=Kt.hasOwnProperty;function Zt(t){var e=this.__data__;return Bt?e[t]!==undefined:Jt.call(e,t)}var Xt=Zt;var te=\"__lodash_hash_undefined__\";function ee(t,e){var n=this.__data__;this.size+=this.has(t)?0:1;n[t]=Bt&&e===undefined?te:e;return this}var ne=ee;function ie(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}ie.prototype.clear=Ht;ie.prototype[\"delete\"]=Wt;ie.prototype.get=Qt;ie.prototype.has=Xt;ie.prototype.set=ne;var oe=ie;function se(){this.size=0;this.__data__={hash:new oe,map:new(Vt||Z),string:new oe}}var re=se;function ae(t){var e=typeof t;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?t!==\"__proto__\":t===null}var ce=ae;function le(t,e){var n=t.__data__;return ce(e)?n[typeof e==\"string\"?\"string\":\"hash\"]:n.map}var de=le;function ue(t){var e=de(this,t)[\"delete\"](t);this.size-=e?1:0;return e}var he=ue;function fe(t){return de(this,t).get(t)}var ge=fe;function me(t){return de(this,t).has(t)}var pe=me;function be(t,e){var n=de(this,t),i=n.size;n.set(t,e);this.size+=n.size==i?0:1;return this}var we=be;function _e(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}_e.prototype.clear=re;_e.prototype[\"delete\"]=he;_e.prototype.get=ge;_e.prototype.has=pe;_e.prototype.set=we;var ke=_e;var ve=200;function ye(t,e){var n=this.__data__;if(n instanceof Z){var i=n.__data__;if(!Vt||i.length<ve-1){i.push([t,e]);this.size=++n.size;return this}n=this.__data__=new ke(i)}n.set(t,e);this.size=n.size;return this}var xe=ye;function Ae(t){var e=this.__data__=new Z(t);this.size=e.size}Ae.prototype.clear=tt;Ae.prototype[\"delete\"]=nt;Ae.prototype.get=ot;Ae.prototype.has=rt;Ae.prototype.set=xe;var Te=Ae;function Ce(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)===false){break}}return t}var Se=Ce;var Pe=function(){try{var t=Lt(Object,\"defineProperty\");t({},\"\",{});return t}catch(t){}}();var Ee=Pe;function Me(t,e,n){if(e==\"__proto__\"&&Ee){Ee(t,e,{configurable:true,enumerable:true,value:n,writable:true})}else{t[e]=n}}var Ie=Me;var Ne=Object.prototype;var Oe=Ne.hasOwnProperty;function Re(t,e,n){var i=t[e];if(!(Oe.call(t,e)&&V(i,n))||n===undefined&&!(e in t)){Ie(t,e,n)}}var De=Re;function Le(t,e,n,i){var o=!n;n||(n={});var s=-1,r=e.length;while(++s<r){var a=e[s];var c=i?i(n[a],t[a],a,n,t):undefined;if(c===undefined){c=t[a]}if(o){Ie(n,a,c)}else{De(n,a,c)}}return n}var ze=Le;function Ve(t,e){var n=-1,i=Array(t);while(++n<t){i[n]=e(n)}return i}var je=Ve;var Be=\"[object Arguments]\";function Fe(t){return C(t)&&k(t)==Be}var He=Fe;var Ue=Object.prototype;var We=Ue.hasOwnProperty;var qe=Ue.propertyIsEnumerable;var $e=He(function(){return arguments}())?He:function(t){return C(t)&&We.call(t,\"callee\")&&!qe.call(t,\"callee\")};var Ye=$e;var Ge=Array.isArray;var Qe=Ge;var Ke=n(4);var Je=9007199254740991;var Ze=/^(?:0|[1-9]\\d*)$/;function Xe(t,e){var n=typeof t;e=e==null?Je:e;return!!e&&(n==\"number\"||n!=\"symbol\"&&Ze.test(t))&&(t>-1&&t%1==0&&t<e)}var tn=Xe;var en=9007199254740991;function nn(t){return typeof t==\"number\"&&t>-1&&t%1==0&&t<=en}var on=nn;var sn=\"[object Arguments]\",rn=\"[object Array]\",an=\"[object Boolean]\",cn=\"[object Date]\",ln=\"[object Error]\",dn=\"[object Function]\",un=\"[object Map]\",hn=\"[object Number]\",fn=\"[object Object]\",gn=\"[object RegExp]\",mn=\"[object Set]\",pn=\"[object String]\",bn=\"[object WeakMap]\";var wn=\"[object ArrayBuffer]\",_n=\"[object DataView]\",kn=\"[object Float32Array]\",vn=\"[object Float64Array]\",yn=\"[object Int8Array]\",xn=\"[object Int16Array]\",An=\"[object Int32Array]\",Tn=\"[object Uint8Array]\",Cn=\"[object Uint8ClampedArray]\",Sn=\"[object Uint16Array]\",Pn=\"[object Uint32Array]\";var En={};En[kn]=En[vn]=En[yn]=En[xn]=En[An]=En[Tn]=En[Cn]=En[Sn]=En[Pn]=true;En[sn]=En[rn]=En[wn]=En[an]=En[_n]=En[cn]=En[ln]=En[dn]=En[un]=En[hn]=En[fn]=En[gn]=En[mn]=En[pn]=En[bn]=false;function Mn(t){return C(t)&&on(t.length)&&!!En[k(t)]}var In=Mn;function Nn(t){return function(e){return t(e)}}var On=Nn;var Rn=n(5);var Dn=Rn[\"a\"]&&Rn[\"a\"].isTypedArray;var Ln=Dn?On(Dn):In;var zn=Ln;var Vn=Object.prototype;var jn=Vn.hasOwnProperty;function Bn(t,e){var n=Qe(t),i=!n&&Ye(t),o=!n&&!i&&Object(Ke[\"a\"])(t),s=!n&&!i&&!o&&zn(t),r=n||i||o||s,a=r?je(t.length,String):[],c=a.length;for(var l in t){if((e||jn.call(t,l))&&!(r&&(l==\"length\"||o&&(l==\"offset\"||l==\"parent\")||s&&(l==\"buffer\"||l==\"byteLength\"||l==\"byteOffset\")||tn(l,c)))){a.push(l)}}return a}var Fn=Bn;var Hn=Object.prototype;function Un(t){var e=t&&t.constructor,n=typeof e==\"function\"&&e.prototype||Hn;return t===n}var Wn=Un;var qn=y(Object.keys,Object);var $n=qn;var Yn=Object.prototype;var Gn=Yn.hasOwnProperty;function Qn(t){if(!Wn(t)){return $n(t)}var e=[];for(var n in Object(t)){if(Gn.call(t,n)&&n!=\"constructor\"){e.push(n)}}return e}var Kn=Qn;function Jn(t){return t!=null&&on(t.length)&&!gt(t)}var Zn=Jn;function Xn(t){return Zn(t)?Fn(t):Kn(t)}var ti=Xn;function ei(t,e){return t&&ze(e,ti(e),t)}var ni=ei;function ii(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}var oi=ii;var si=Object.prototype;var ri=si.hasOwnProperty;function ai(t){if(!ct(t)){return oi(t)}var e=Wn(t),n=[];for(var i in t){if(!(i==\"constructor\"&&(e||!ri.call(t,i)))){n.push(i)}}return n}var ci=ai;function li(t){return Zn(t)?Fn(t,true):ci(t)}var di=li;function ui(t,e){return t&&ze(e,di(e),t)}var hi=ui;var fi=n(8);function gi(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n<i){e[n]=t[n]}return e}var mi=gi;function pi(t,e){var n=-1,i=t==null?0:t.length,o=0,s=[];while(++n<i){var r=t[n];if(e(r,n,t)){s[o++]=r}}return s}var bi=pi;function wi(){return[]}var _i=wi;var ki=Object.prototype;var vi=ki.propertyIsEnumerable;var yi=Object.getOwnPropertySymbols;var xi=!yi?_i:function(t){if(t==null){return[]}t=Object(t);return bi(yi(t),(function(e){return vi.call(t,e)}))};var Ai=xi;function Ti(t,e){return ze(t,Ai(t),e)}var Ci=Ti;function Si(t,e){var n=-1,i=e.length,o=t.length;while(++n<i){t[o+n]=e[n]}return t}var Pi=Si;var Ei=Object.getOwnPropertySymbols;var Mi=!Ei?_i:function(t){var e=[];while(t){Pi(e,Ai(t));t=A(t)}return e};var Ii=Mi;function Ni(t,e){return ze(t,Ii(t),e)}var Oi=Ni;function Ri(t,e,n){var i=e(t);return Qe(t)?i:Pi(i,n(t))}var Di=Ri;function Li(t){return Di(t,ti,Ai)}var zi=Li;function Vi(t){return Di(t,di,Ii)}var ji=Vi;var Bi=Lt(i[\"a\"],\"DataView\");var Fi=Bi;var Hi=Lt(i[\"a\"],\"Promise\");var Ui=Hi;var Wi=Lt(i[\"a\"],\"Set\");var qi=Wi;var $i=Lt(i[\"a\"],\"WeakMap\");var Yi=$i;var Gi=\"[object Map]\",Qi=\"[object Object]\",Ki=\"[object Promise]\",Ji=\"[object Set]\",Zi=\"[object WeakMap]\";var Xi=\"[object DataView]\";var to=xt(Fi),eo=xt(Vt),no=xt(Ui),io=xt(qi),oo=xt(Yi);var so=k;if(Fi&&so(new Fi(new ArrayBuffer(1)))!=Xi||Vt&&so(new Vt)!=Gi||Ui&&so(Ui.resolve())!=Ki||qi&&so(new qi)!=Ji||Yi&&so(new Yi)!=Zi){so=function(t){var e=k(t),n=e==Qi?t.constructor:undefined,i=n?xt(n):\"\";if(i){switch(i){case to:return Xi;case eo:return Gi;case no:return Ki;case io:return Ji;case oo:return Zi}}return e}}var ro=so;var ao=Object.prototype;var co=ao.hasOwnProperty;function lo(t){var e=t.length,n=new t.constructor(e);if(e&&typeof t[0]==\"string\"&&co.call(t,\"index\")){n.index=t.index;n.input=t.input}return n}var uo=lo;var ho=i[\"a\"].Uint8Array;var fo=ho;function go(t){var e=new t.constructor(t.byteLength);new fo(e).set(new fo(t));return e}var mo=go;function po(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var bo=po;var wo=/\\w*$/;function _o(t){var e=new t.constructor(t.source,wo.exec(t));e.lastIndex=t.lastIndex;return e}var ko=_o;var vo=s?s.prototype:undefined,yo=vo?vo.valueOf:undefined;function xo(t){return yo?Object(yo.call(t)):{}}var Ao=xo;function To(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var Co=To;var So=\"[object Boolean]\",Po=\"[object Date]\",Eo=\"[object Map]\",Mo=\"[object Number]\",Io=\"[object RegExp]\",No=\"[object Set]\",Oo=\"[object String]\",Ro=\"[object Symbol]\";var Do=\"[object ArrayBuffer]\",Lo=\"[object DataView]\",zo=\"[object Float32Array]\",Vo=\"[object Float64Array]\",jo=\"[object Int8Array]\",Bo=\"[object Int16Array]\",Fo=\"[object Int32Array]\",Ho=\"[object Uint8Array]\",Uo=\"[object Uint8ClampedArray]\",Wo=\"[object Uint16Array]\",qo=\"[object Uint32Array]\";function $o(t,e,n){var i=t.constructor;switch(e){case Do:return mo(t);case So:case Po:return new i(+t);case Lo:return bo(t,n);case zo:case Vo:case jo:case Bo:case Fo:case Ho:case Uo:case Wo:case qo:return Co(t,n);case Eo:return new i;case Mo:case Oo:return new i(t);case Io:return ko(t);case No:return new i;case Ro:return Ao(t)}}var Yo=$o;var Go=Object.create;var Qo=function(){function t(){}return function(e){if(!ct(e)){return{}}if(Go){return Go(e)}t.prototype=e;var n=new t;t.prototype=undefined;return n}}();var Ko=Qo;function Jo(t){return typeof t.constructor==\"function\"&&!Wn(t)?Ko(A(t)):{}}var Zo=Jo;var Xo=\"[object Map]\";function ts(t){return C(t)&&ro(t)==Xo}var es=ts;var ns=Rn[\"a\"]&&Rn[\"a\"].isMap;var is=ns?On(ns):es;var os=is;var ss=\"[object Set]\";function rs(t){return C(t)&&ro(t)==ss}var as=rs;var cs=Rn[\"a\"]&&Rn[\"a\"].isSet;var ls=cs?On(cs):as;var ds=ls;var us=1,hs=2,fs=4;var gs=\"[object Arguments]\",ms=\"[object Array]\",ps=\"[object Boolean]\",bs=\"[object Date]\",ws=\"[object Error]\",_s=\"[object Function]\",ks=\"[object GeneratorFunction]\",vs=\"[object Map]\",ys=\"[object Number]\",xs=\"[object Object]\",As=\"[object RegExp]\",Ts=\"[object Set]\",Cs=\"[object String]\",Ss=\"[object Symbol]\",Ps=\"[object WeakMap]\";var Es=\"[object ArrayBuffer]\",Ms=\"[object DataView]\",Is=\"[object Float32Array]\",Ns=\"[object Float64Array]\",Os=\"[object Int8Array]\",Rs=\"[object Int16Array]\",Ds=\"[object Int32Array]\",Ls=\"[object Uint8Array]\",zs=\"[object Uint8ClampedArray]\",Vs=\"[object Uint16Array]\",js=\"[object Uint32Array]\";var Bs={};Bs[gs]=Bs[ms]=Bs[Es]=Bs[Ms]=Bs[ps]=Bs[bs]=Bs[Is]=Bs[Ns]=Bs[Os]=Bs[Rs]=Bs[Ds]=Bs[vs]=Bs[ys]=Bs[xs]=Bs[As]=Bs[Ts]=Bs[Cs]=Bs[Ss]=Bs[Ls]=Bs[zs]=Bs[Vs]=Bs[js]=true;Bs[ws]=Bs[_s]=Bs[Ps]=false;function Fs(t,e,n,i,o,s){var r,a=e&us,c=e&hs,l=e&fs;if(n){r=o?n(t,i,o,s):n(t)}if(r!==undefined){return r}if(!ct(t)){return t}var d=Qe(t);if(d){r=uo(t);if(!a){return mi(t,r)}}else{var u=ro(t),h=u==_s||u==ks;if(Object(Ke[\"a\"])(t)){return Object(fi[\"a\"])(t,a)}if(u==xs||u==gs||h&&!o){r=c||h?{}:Zo(t);if(!a){return c?Oi(t,hi(r,t)):Ci(t,ni(r,t))}}else{if(!Bs[u]){return o?t:{}}r=Yo(t,u,a)}}s||(s=new Te);var f=s.get(t);if(f){return f}s.set(t,r);if(ds(t)){t.forEach((function(i){r.add(Fs(i,e,n,i,t,s))}))}else if(os(t)){t.forEach((function(i,o){r.set(o,Fs(i,e,n,o,t,s))}))}var g=l?c?ji:zi:c?keysIn:ti;var m=d?undefined:g(t);Se(m||t,(function(i,o){if(m){o=i;i=t[o]}De(r,o,Fs(i,e,n,o,t,s))}));return r}var Hs=Fs;var Us=1,Ws=4;function qs(t,e){e=typeof e==\"function\"?e:undefined;return Hs(t,Us|Ws,e)}var $s=qs;function Ys(t){return C(t)&&t.nodeType===1&&!R(t)}var Gs=Ys;class Qs{constructor(t,e){this._config={};if(e){this.define(Ks(e))}if(t){this._setObjectToTarget(this._config,t)}}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){const n=true;this._setToTarget(this._config,t,e,n)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config)){yield t}}_setToTarget(t,e,n,i=false){if(R(e)){this._setObjectToTarget(t,e,i);return}const o=e.split(\".\");e=o.pop();for(const e of o){if(!R(t[e])){t[e]={}}t=t[e]}if(R(n)){if(!R(t[e])){t[e]={}}t=t[e];this._setObjectToTarget(t,n,i);return}if(i&&typeof t[e]!=\"undefined\"){return}t[e]=n}_getFromSource(t,e){const n=e.split(\".\");e=n.pop();for(const e of n){if(!R(t[e])){t=null;break}t=t[e]}return t?Ks(t[e]):undefined}_setObjectToTarget(t,e,n){Object.keys(e).forEach(i=>{this._setToTarget(t,i,e[i],n)})}}function Ks(t){return $s(t,Js)}function Js(t){return Gs(t)?t:undefined}function Zs(){return function t(){t.called=true}}var Xs=Zs;class tr{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=Xs();this.off=Xs()}}const er=new Array(256).fill().map((t,e)=>(\"0\"+e.toString(16)).slice(-2));function nr(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const i=Math.random()*4294967296>>>0;return\"e\"+er[t>>0&255]+er[t>>8&255]+er[t>>16&255]+er[t>>24&255]+er[e>>0&255]+er[e>>8&255]+er[e>>16&255]+er[e>>24&255]+er[n>>0&255]+er[n>>8&255]+er[n>>16&255]+er[n>>24&255]+er[i>>0&255]+er[i>>8&255]+er[i>>16&255]+er[i>>24&255]}const ir={get(t){if(typeof t!=\"number\"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};var or=ir;var sr=n(6);var rr=n(0);const ar=Symbol(\"listeningTo\");const cr=Symbol(\"emitterId\");const lr={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let i=false;const o=function(t,...n){if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,i={}){let o,s;if(!this[ar]){this[ar]={}}const r=this[ar];if(!fr(t)){hr(t)}const a=fr(t);if(!(o=r[a])){o=r[a]={emitter:t,callbacks:{}}}if(!(s=o.callbacks[e])){s=o.callbacks[e]=[]}s.push(n);pr(t,e);const c=br(t,e);const l=or.get(i.priority);const d={callback:n,priority:l};for(const t of c){let e=false;for(let n=0;n<t.length;n++){if(t[n].priority<l){t.splice(n,0,d);e=true;break}}if(!e){t.push(d)}}},stopListening(t,e,n){const i=this[ar];let o=t&&fr(t);const s=i&&o&&i[o];const r=s&&e&&s.callbacks[e];if(!i||t&&!s||e&&!r){return}if(n){kr(t,e,n)}else if(r){while(n=r.pop()){kr(t,e,n)}delete s.callbacks[e]}else if(s){for(e in s.callbacks){this.stopListening(t,e)}delete i[o]}else{for(o in i){this.stopListening(i[o].emitter)}delete this[ar]}},fire(t,...e){try{const n=t instanceof tr?t:new tr(this,t);const i=n.name;let o=wr(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e<o.length;e++){o[e].callback.apply(this,t);if(n.off.called){delete n.off.called;kr(this,i,o[e].callback)}if(n.stop.called){break}}}if(this._delegations){const t=this._delegations.get(i);const o=this._delegations.get(\"*\");if(t){_r(t,n,e)}if(o){_r(o,n,e)}}return n.return}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}},delegate(...t){return{to:(e,n)=>{if(!this._delegations){this._delegations=new Map}t.forEach(t=>{const i=this._delegations.get(t);if(!i){this._delegations.set(t,new Map([[e,n]]))}else{i.set(e,n)}})}}},stopDelegating(t,e){if(!this._delegations){return}if(!t){this._delegations.clear()}else if(!e){this._delegations.delete(t)}else{const n=this._delegations.get(t);if(n){n.delete(e)}}}};var dr=lr;function ur(t,e){if(t[ar]&&t[ar][e]){return t[ar][e].emitter}return null}function hr(t,e){if(!t[cr]){t[cr]=e||nr()}}function fr(t){return t[cr]}function gr(t){if(!t._events){Object.defineProperty(t,\"_events\",{value:{}})}return t._events}function mr(){return{callbacks:[],childEvents:[]}}function pr(t,e){const n=gr(t);if(n[e]){return}let i=e;let o=null;const s=[];while(i!==\"\"){if(n[i]){break}n[i]=mr();s.push(n[i]);if(o){n[i].childEvents.push(o)}o=i;i=i.substr(0,i.lastIndexOf(\":\"))}if(i!==\"\"){for(const t of s){t.callbacks=n[i].callbacks.slice()}n[i].childEvents.push(o)}}function br(t,e){const n=gr(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e<n.childEvents.length;e++){const o=br(t,n.childEvents[e]);i=i.concat(o)}return i}function wr(t,e){let n;if(!t._events||!(n=t._events[e])||!n.callbacks.length){if(e.indexOf(\":\")>-1){return wr(t,e.substr(0,e.lastIndexOf(\":\")))}else{return null}}return n.callbacks}function _r(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o==\"function\"){o=o(e.name)}const t=new tr(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function kr(t,e,n){const i=br(t,e);for(const t of i){for(let e=0;e<t.length;e++){if(t[e].callback==n){t.splice(e,1);e--}}}}function vr(t){return!!(t&&t[Symbol.iterator])}function yr(t,...e){e.forEach(e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach(n=>{if(n in t.prototype){return}const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=false;Object.defineProperty(t.prototype,n,i)})})}class xr{constructor(t={},e={}){const n=vr(t);if(!n){e=t}this._items=[];this._itemMap=new Map;this._idProperty=e.idProperty||\"id\";this._bindToExternalToInternalMap=new WeakMap;this._bindToInternalToExternalMap=new WeakMap;this._skippedIndexesFromExternal=[];if(n){for(const e of t){this._items.push(e);this._itemMap.set(this._getItemIdBeforeAdding(e),e)}}}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){const n=this._getItemIdBeforeAdding(t);if(e===undefined){e=this._items.length}else if(e>this._items.length||e<0){throw new rr[\"b\"](\"collection-add-item-invalid-index\",this)}this._items.splice(e,0,t);this._itemMap.set(n,t);this.fire(\"add\",t,e);return this}get(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else if(typeof t==\"number\"){e=this._items[t]}else{throw new rr[\"b\"](\"collection-get-invalid-arg: Index or id must be given.\",this)}return e||null}has(t){if(typeof t==\"string\"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return this._itemMap.has(n)}}getIndex(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else{e=t}return this._items.indexOf(e)}remove(t){let e,n,i;let o=false;const s=this._idProperty;if(typeof t==\"string\"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t==\"number\"){e=t;i=this._items[e];o=!i;if(i){n=i[s]}}else{i=t;n=i[s];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new rr[\"b\"](\"collection-remove-404: Item not found.\",this)}this._items.splice(e,1);this._itemMap.delete(n);const r=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(r);this.fire(\"remove\",i,e);return i}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}while(this.length){this.remove(0)}}bindTo(t){if(this._bindToCollection){throw new rr[\"b\"](\"collection-bind-to-rebind: The collection cannot be bound more than once.\",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding(e=>new t(e))},using:t=>{if(typeof t==\"function\"){this._setUpBindToBinding(e=>t(e))}else{this._setUpBindToBinding(e=>e[t])}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,i,o)=>{const s=e._bindToCollection==this;const r=e._bindToInternalToExternalMap.get(i);if(s&&r){this._bindToExternalToInternalMap.set(i,r);this._bindToInternalToExternalMap.set(r,i)}else{const n=t(i);if(!n){this._skippedIndexesFromExternal.push(o);return}let s=o;for(const t of this._skippedIndexesFromExternal){if(o>t){s--}}for(const t of e._skippedIndexesFromExternal){if(s>=t){s++}}this._bindToExternalToInternalMap.set(i,n);this._bindToInternalToExternalMap.set(n,i);this.add(n,s);for(let t=0;t<e._skippedIndexesFromExternal.length;t++){if(s<=e._skippedIndexesFromExternal[t]){e._skippedIndexesFromExternal[t]++}}}};for(const t of e){n(null,t,e.getIndex(t))}this.listenTo(e,\"add\",n);this.listenTo(e,\"remove\",(t,e,n)=>{const i=this._bindToExternalToInternalMap.get(e);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((t,e)=>{if(n<e){t.push(e-1)}if(n>e){t.push(e)}return t},[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!=\"string\"){throw new rr[\"b\"](\"collection-add-invalid-id\",this)}if(this.get(n)){throw new rr[\"b\"](\"collection-add-item-already-exists\",this)}}else{t[e]=n=nr()}return n}[Symbol.iterator](){return this._items[Symbol.iterator]()}}yr(xr,dr);class Ar{constructor(t,e=[],n=[]){this._context=t;this._plugins=new Map;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]==\"function\"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){const e=\"plugincollection-plugin-not-loaded: The requested plugin is not loaded.\";let n=t;if(typeof t==\"function\"){n=t.pluginName||t.name}throw new rr[\"b\"](e,this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[]){const n=this;const i=this._context;const o=new Set;const s=[];const r=g(t);const a=g(e);const c=f(t);if(c){const t=\"plugincollection-plugin-not-found: Some plugins are not available and could not be loaded.\";console.error(Object(rr[\"a\"])(t),{plugins:c});return Promise.reject(new rr[\"b\"](t,i,{plugins:c}))}return Promise.all(r.map(l)).then(()=>d(s,\"init\")).then(()=>d(s,\"afterInit\")).then(()=>s);function l(t){if(a.includes(t)){return}if(n._plugins.has(t)||o.has(t)){return}return u(t).catch(e=>{console.error(Object(rr[\"a\"])(\"plugincollection-load: It was not possible to load the plugin.\"),{plugin:t});throw e})}function d(t,e){return t.reduce((t,i)=>{if(!i[e]){return t}if(n._contextPlugins.has(i)){return t}return t.then(i[e].bind(i))},Promise.resolve())}function u(t){return new Promise(r=>{o.add(t);if(t.requires){t.requires.forEach(n=>{const o=h(n);if(t.isContextPlugin&&!o.isContextPlugin){throw new rr[\"b\"](\"plugincollection-context-required: Context plugin can not require plugin which is not a context plugin\",null,{plugin:o.name,requiredBy:t.name})}if(e.includes(o)){throw new rr[\"b\"](\"plugincollection-required: Cannot load a plugin because one of its dependencies is listed in\"+\"the `removePlugins` option.\",i,{plugin:o.name,requiredBy:t.name})}l(o)})}const a=n._contextPlugins.get(t)||new t(i);n._add(t,a);s.push(a);r()})}function h(t){if(typeof t==\"function\"){return t}return n._availablePlugins.get(t)}function f(t){const e=[];for(const n of t){if(!h(n)){e.push(n)}}return e.length?e:null}function g(t){return t.map(t=>h(t)).filter(t=>!!t)}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy==\"function\"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new rr[\"b\"](\"plugincollection-plugin-name-conflict: Two plugins with the same name were loaded.\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}yr(Ar,dr);if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function Tr(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const i=window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function Cr(t,e,n=1){if(typeof n!==\"number\"){throw new rr[\"b\"](\"translation-service-quantity-not-a-number: Expecting `quantity` to be a number.\",null,{quantity:n})}const i=Er();if(i===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!Pr(t,o)){if(n!==1){return e.plural}return e.string}const s=window.CKEDITOR_TRANSLATIONS[t].dictionary;const r=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);if(typeof s[o]===\"string\"){return s[o]}const a=Number(r(n));return s[o][a]}function Sr(){window.CKEDITOR_TRANSLATIONS={}}function Pr(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function Er(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Mr=[\"ar\",\"fa\",\"he\",\"ku\",\"ug\"];class Ir{constructor(t={}){this.uiLanguage=t.uiLanguage||\"en\";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Or(this.uiLanguage);this.contentLanguageDirection=Or(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn(\"locale-deprecated-language-property: \"+\"The Locale#language property has been deprecated and will be removed in the near future. \"+\"Please use #uiLanguage and #contentLanguage properties instead.\");return this.uiLanguage}_t(t,e=[]){if(!Array.isArray(e)){e=[e]}if(typeof t===\"string\"){t={string:t}}const n=!!t.plural;const i=n?e[0]:1;const o=Cr(this.uiLanguage,t,i);return Nr(o,e)}}function Nr(t,e){return t.replace(/%(\\d+)/g,(t,n)=>n<e.length?e[n]:t)}function Or(t){return Mr.includes(t)?\"rtl\":\"ltr\"}class Rr{constructor(t){this.config=new Qs(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define(\"plugins\",e);this.plugins=new Ar(this,e);const n=this.config.get(\"language\")||{};this.locale=new Ir({uiLanguage:typeof n===\"string\"?n:n.ui,contentLanguage:this.config.get(\"language.content\")});this.t=this.locale.t;this.editors=new xr;this._contextOwner=null}initPlugins(){const t=this.config.get(\"plugins\")||[];for(const e of t){if(typeof e!=\"function\"){throw new rr[\"b\"](\"context-initplugins-constructor-only: Only a constructor function is allowed as a context plugin.\",null,{Plugin:e})}if(e.isContextPlugin!==true){throw new rr[\"b\"](\"context-initplugins-invalid-plugin: Only a plugin marked as a context plugin is allowed to be used with a context.\",null,{Plugin:e})}}return this.plugins.init(t)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner){throw new rr[\"b\"](\"context-addEditor-private-context: Cannot add multiple editors to the context which is created by the editor.\")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(![\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}function Dr(t,e){const n=Math.min(t.length,e.length);for(let i=0;i<n;i++){if(t[i]!=e[i]){return i}}if(t.length==e.length){return\"same\"}else if(t.length<e.length){return\"prefix\"}else{return\"extension\"}}var Lr=4;function zr(t){return Hs(t,Lr)}var Vr=zr;class jr{constructor(t){this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new rr[\"b\"](\"view-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}_remove(){this.parent._removeChildren(this.index)}_fireChange(t,e){this.fire(\"change:\"+t,e);if(this.parent){this.parent._fireChange(t,e)}}toJSON(){const t=Vr(this);delete t.parent;return t}is(t){return t===\"node\"||t===\"view:node\"}}yr(jr,dr);class Br extends jr{constructor(t,e){super(t);this._textData=e}is(t){return t===\"text\"||t===\"view:text\"||t===\"node\"||t===\"view:node\"}get data(){return this._textData}get _data(){return this.data}set _data(t){this._fireChange(\"text\",this);this._textData=t}isSimilar(t){if(!(t instanceof Br)){return false}return this===t||this.data===t.data}_clone(){return new Br(this.document,this.data)}}class Fr{constructor(t,e,n){this.textNode=t;if(e<0||e>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return t===\"textProxy\"||t===\"view:textProxy\"}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}}function Hr(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function Ur(t){if(vr(t)){return new Map(t)}else{return Hr(t)}}class Wr{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e==\"string\"||e instanceof RegExp){e={name:e}}if(e.classes&&(typeof e.classes==\"string\"||e.classes instanceof RegExp)){e.classes=[e.classes]}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=qr(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const i=qr(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!=\"function\"&&e&&!(e instanceof RegExp)?e:null}}function qr(t,e){if(typeof e==\"function\"){return e(t)}const n={};if(e.name){n.name=$r(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Yr(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Gr(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Qr(e.styles,t);if(!n.styles){return false}}return n}function $r(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Yr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasAttribute(i)){const t=e.getAttribute(i);if(o===true){n.push(i)}else if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}function Gr(t,e){const n=[];for(const i of t){if(i instanceof RegExp){const t=e.getClassNames();for(const e of t){if(i.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(i)){n.push(i)}else{return null}}return n}function Qr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasStyle(i)){const t=e.getStyle(i);if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}var Kr=\"[object Symbol]\";function Jr(t){return typeof t==\"symbol\"||C(t)&&k(t)==Kr}var Zr=Jr;var Xr=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ta=/^\\w*$/;function ea(t,e){if(Qe(t)){return false}var n=typeof t;if(n==\"number\"||n==\"symbol\"||n==\"boolean\"||t==null||Zr(t)){return true}return ta.test(t)||!Xr.test(t)||e!=null&&t in Object(e)}var na=ea;var ia=\"Expected a function\";function oa(t,e){if(typeof t!=\"function\"||e!=null&&typeof e!=\"function\"){throw new TypeError(ia)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],s=n.cache;if(s.has(o)){return s.get(o)}var r=t.apply(this,i);n.cache=s.set(o,r)||s;return r};n.cache=new(oa.Cache||ke);return n}oa.Cache=ke;var sa=oa;var ra=500;function aa(t){var e=sa(t,(function(t){if(n.size===ra){n.clear()}return t}));var n=e.cache;return e}var ca=aa;var la=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;var da=/\\\\(\\\\)?/g;var ua=ca((function(t){var e=[];if(t.charCodeAt(0)===46){e.push(\"\")}t.replace(la,(function(t,n,i,o){e.push(i?o.replace(da,\"$1\"):n||t)}));return e}));var ha=ua;function fa(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++n<i){o[n]=e(t[n],n,t)}return o}var ga=fa;var ma=1/0;var pa=s?s.prototype:undefined,ba=pa?pa.toString:undefined;function wa(t){if(typeof t==\"string\"){return t}if(Qe(t)){return ga(t,wa)+\"\"}if(Zr(t)){return ba?ba.call(t):\"\"}var e=t+\"\";return e==\"0\"&&1/t==-ma?\"-0\":e}var _a=wa;function ka(t){return t==null?\"\":_a(t)}var va=ka;function ya(t,e){if(Qe(t)){return t}return na(t,e)?[t]:ha(va(t))}var xa=ya;function Aa(t){var e=t==null?0:t.length;return e?t[e-1]:undefined}var Ta=Aa;var Ca=1/0;function Sa(t){if(typeof t==\"string\"||Zr(t)){return t}var e=t+\"\";return e==\"0\"&&1/t==-Ca?\"-0\":e}var Pa=Sa;function Ea(t,e){e=xa(e,t);var n=0,i=e.length;while(t!=null&&n<i){t=t[Pa(e[n++])]}return n&&n==i?t:undefined}var Ma=Ea;function Ia(t,e,n){var i=-1,o=t.length;if(e<0){e=-e>o?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var s=Array(o);while(++i<o){s[i]=t[i+e]}return s}var Na=Ia;function Oa(t,e){return e.length<2?t:Ma(t,Na(e,0,-1))}var Ra=Oa;function Da(t,e){e=xa(e,t);t=Ra(t,e);return t==null||delete t[Pa(Ta(e))]}var La=Da;function za(t,e){return t==null?true:La(t,e)}var Va=za;function ja(t,e,n){var i=t==null?undefined:Ma(t,e);return i===undefined?n:i}var Ba=ja;function Fa(t,e,n){if(n!==undefined&&!V(t[e],n)||n===undefined&&!(e in t)){Ie(t,e,n)}}var Ha=Fa;function Ua(t){return function(e,n,i){var o=-1,s=Object(e),r=i(e),a=r.length;while(a--){var c=r[t?a:++o];if(n(s[c],c,s)===false){break}}return e}}var Wa=Ua;var qa=Wa();var $a=qa;function Ya(t){return C(t)&&Zn(t)}var Ga=Ya;function Qa(t,e){if(e===\"constructor\"&&typeof t[e]===\"function\"){return}if(e==\"__proto__\"){return}return t[e]}var Ka=Qa;function Ja(t){return ze(t,di(t))}var Za=Ja;function Xa(t,e,n,i,o,s,r){var a=Ka(t,n),c=Ka(e,n),l=r.get(c);if(l){Ha(t,n,l);return}var d=s?s(a,c,n+\"\",t,e,r):undefined;var u=d===undefined;if(u){var h=Qe(c),f=!h&&Object(Ke[\"a\"])(c),g=!h&&!f&&zn(c);d=c;if(h||f||g){if(Qe(a)){d=a}else if(Ga(a)){d=mi(a)}else if(f){u=false;d=Object(fi[\"a\"])(c,true)}else if(g){u=false;d=Co(c,true)}else{d=[]}}else if(R(c)||Ye(c)){d=a;if(Ye(a)){d=Za(a)}else if(!ct(a)||gt(a)){d=Zo(c)}}else{u=false}}if(u){r.set(c,d);o(d,c,i,s,r);r[\"delete\"](c)}Ha(t,n,d)}var tc=Xa;function ec(t,e,n,i,o){if(t===e){return}$a(e,(function(s,r){o||(o=new Te);if(ct(s)){tc(t,e,r,n,ec,i,o)}else{var a=i?i(Ka(t,r),s,r+\"\",t,e,o):undefined;if(a===undefined){a=s}Ha(t,r,a)}}),di)}var nc=ec;function ic(t){return t}var oc=ic;function sc(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var rc=sc;var ac=Math.max;function cc(t,e,n){e=ac(e===undefined?t.length-1:e,0);return function(){var i=arguments,o=-1,s=ac(i.length-e,0),r=Array(s);while(++o<s){r[o]=i[e+o]}o=-1;var a=Array(e+1);while(++o<e){a[o]=i[o]}a[e]=n(r);return rc(t,this,a)}}var lc=cc;function dc(t){return function(){return t}}var uc=dc;var hc=!Ee?oc:function(t,e){return Ee(t,\"toString\",{configurable:true,enumerable:false,value:uc(e),writable:true})};var fc=hc;var gc=800,mc=16;var pc=Date.now;function bc(t){var e=0,n=0;return function(){var i=pc(),o=mc-(i-n);n=i;if(o>0){if(++e>=gc){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var wc=bc;var _c=wc(fc);var kc=_c;function vc(t,e){return kc(lc(t,e,oc),t+\"\")}var yc=vc;function xc(t,e,n){if(!ct(n)){return false}var i=typeof e;if(i==\"number\"?Zn(n)&&tn(e,n.length):i==\"string\"&&e in n){return V(n[e],t)}return false}var Ac=xc;function Tc(t){return yc((function(e,n){var i=-1,o=n.length,s=o>1?n[o-1]:undefined,r=o>2?n[2]:undefined;s=t.length>3&&typeof s==\"function\"?(o--,s):undefined;if(r&&Ac(n[0],n[1],r)){s=o<3?undefined:s;o=1}e=Object(e);while(++i<o){var a=n[i];if(a){t(e,a,i,s)}}return e}))}var Cc=Tc;var Sc=Cc((function(t,e,n){nc(t,e,n)}));var Pc=Sc;function Ec(t,e,n,i){if(!ct(t)){return t}e=xa(e,t);var o=-1,s=e.length,r=s-1,a=t;while(a!=null&&++o<s){var c=Pa(e[o]),l=n;if(o!=r){var d=a[c];l=i?i(d,c,a):undefined;if(l===undefined){l=ct(d)?d:tn(e[o+1])?[]:{}}}De(a,c,l);a=a[c]}return t}var Mc=Ec;function Ic(t,e,n){return t==null?t:Mc(t,e,n)}var Nc=Ic;class Oc{constructor(t){this._styles={};this._styleProcessor=t}get isEmpty(){const t=Object.entries(this._styles);const e=Array.from(t);return!e.length}get size(){if(this.isEmpty){return 0}return this.getStyleNames().length}setTo(t){this.clear();const e=Array.from(Dc(t).entries());for(const[t,n]of e){this._styleProcessor.toNormalizedForm(t,n,this._styles)}}has(t){if(this.isEmpty){return false}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);return Array.isArray(n)}set(t,e){if(ct(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=Lc(t);Va(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return\"\"}return this._getStylesEntries().map(t=>t.join(\":\")).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!ct(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);if(Array.isArray(n)){return n[1]}}getStyleNames(){if(this.isEmpty){return[]}const t=this._getStylesEntries();return t.map(([t])=>t)}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");const n=e.length>1;if(!n){return}const i=e.splice(0,e.length-1).join(\".\");const o=Ba(this._styles,i);if(!o){return}const s=!Array.from(Object.keys(o)).length;if(s){this.remove(i)}}}class Rc{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(ct(e)){zc(n,Lc(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:s}=i(e);zc(n,o,s)}else{zc(n,t,e)}}getNormalized(t,e){if(!t){return Pc({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n===\"string\"){return Ba(e,n)}const i=n(t,e);if(i){return i}}return Ba(e,Lc(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function Dc(t){let e=null;let n=0;let i=0;let o=null;const s=new Map;if(t===\"\"){return s}if(t.charAt(t.length-1)!=\";\"){t=t+\";\"}for(let r=0;r<t.length;r++){const a=t.charAt(r);if(e===null){switch(a){case\":\":if(!o){o=t.substr(n,r-n);i=r+1}break;case'\"':case\"'\":e=a;break;case\";\":{const e=t.substr(i,r-i);if(o){s.set(o.trim(),e.trim())}o=null;n=r+1;break}}}else if(a===e){e=null}}return s}function Lc(t){return t.replace(\"-\",\".\")}function zc(t,e,n){let i=n;if(ct(n)){i=Pc({},Ba(t,e),n)}Nc(t,e,i)}class Vc extends jr{constructor(t,e,n,i){super(t);this.name=e;this._attrs=jc(n);this._children=[];if(i){this._insertChild(0,i)}this._classes=new Set;if(this._attrs.has(\"class\")){const t=this._attrs.get(\"class\");Bc(this._classes,t);this._attrs.delete(\"class\")}this._styles=new Oc(this.document.stylesProcessor);if(this._attrs.has(\"style\")){this._styles.setTo(this._attrs.get(\"style\"));this._attrs.delete(\"style\")}this._customProperties=new Map}get childCount(){return this._children.length}get isEmpty(){return this._children.length===0}is(t,e=null){if(!e){return t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"element\"||t===\"view:element\")}}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){if(this._classes.size>0){yield\"class\"}if(!this._styles.isEmpty){yield\"style\"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield[\"class\",this.getAttribute(\"class\")]}if(!this._styles.isEmpty){yield[\"style\",this.getAttribute(\"style\")]}}getAttribute(t){if(t==\"class\"){if(this._classes.size>0){return[...this._classes].join(\" \")}return undefined}if(t==\"style\"){const t=this._styles.toString();return t==\"\"?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t==\"class\"){return this._classes.size>0}if(t==\"style\"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof Vc)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(){return this._styles.getStyleNames()}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new Wr(...t);let n=this.parent;while(n){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\");const e=this._styles.toString();const n=Array.from(this._attrs).map(t=>`${t[0]}=\"${t[1]}\"`).sort().join(\" \");return this.name+(t==\"\"?\"\":` class=\"${t}\"`)+(!e?\"\":` style=\"${e}\"`)+(n==\"\"?\"\":` ${n}`)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=Fc(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_setAttribute(t,e){e=String(e);this._fireChange(\"attributes\",this);if(t==\"class\"){Bc(this._classes,e)}else if(t==\"style\"){this._styles.setTo(e)}else{this._attrs.set(t,e)}}_removeAttribute(t){this._fireChange(\"attributes\",this);if(t==\"class\"){if(this._classes.size>0){this._classes.clear();return true}return false}if(t==\"style\"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.add(t))}_removeClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.delete(t))}_setStyle(t,e){this._fireChange(\"attributes\",this);this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._styles.remove(t))}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function jc(t){t=Ur(t);for(const[e,n]of t){if(n===null){t.delete(e)}else if(typeof n!=\"string\"){t.set(e,String(n))}}return t}function Bc(t,e){const n=e.split(/\\s+/);t.clear();n.forEach(e=>t.add(e))}function Fc(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class Hc extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Uc}is(t,e=null){if(!e){return t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}}function Uc(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\")){return this.childCount}for(const e of t){if(!e.is(\"uiElement\")){return null}}return this.childCount}var Wc=Cc((function(t,e){ze(e,di(e),t)}));var qc=Wc;const $c=Symbol(\"observableProperties\");const Yc=Symbol(\"boundObservables\");const Gc=Symbol(\"boundProperties\");const Qc={set(t,e){if(ct(t)){Object.keys(t).forEach(e=>{this.set(e,t[e])},this);return}Jc(this);const n=this[$c];if(t in this&&!n.has(t)){throw new rr[\"b\"](\"observable-set-cannot-override: Cannot override an existing property.\",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire(\"set:\"+t,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire(\"change:\"+t,t,o,i)}}});this[t]=e},bind(...t){if(!t.length||!el(t)){throw new rr[\"b\"](\"observable-bind-wrong-properties: All properties must be strings.\",this)}if(new Set(t).size!==t.length){throw new rr[\"b\"](\"observable-bind-duplicate-properties: Properties must be unique.\",this)}Jc(this);const e=this[Gc];t.forEach(t=>{if(e.has(t)){throw new rr[\"b\"](\"observable-bind-rebind: Cannot bind the same property more than once.\",this)}});const n=new Map;t.forEach(t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)});return{to:Zc,toMany:Xc,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[$c]){return}const e=this[Gc];const n=this[Yc];if(t.length){if(!el(t)){throw new rr[\"b\"](\"observable-unbind-wrong-properties: Properties must be strings.\",this)}t.forEach(t=>{const i=e.get(t);if(!i){return}let o,s,r,a;i.to.forEach(t=>{o=t[0];s=t[1];r=n.get(o);a=r[s];a.delete(i);if(!a.size){delete r[s]}if(!Object.keys(r).length){n.delete(o);this.stopListening(o,\"change\")}});e.delete(t)})}else{n.forEach((t,e)=>{this.stopListening(e,\"change\")});n.clear();e.clear()}},decorate(t){const e=this[t];if(!e){throw new rr[\"b\"](\"observablemixin-cannot-decorate-undefined: Cannot decorate an undefined method.\",this,{object:this,methodName:t})}this.on(t,(t,n)=>{t.return=e.apply(this,n)});this[t]=function(...e){return this.fire(t,e)}}};qc(Qc,dr);var Kc=Qc;function Jc(t){if(t[$c]){return}Object.defineProperty(t,$c,{value:new Map});Object.defineProperty(t,Yc,{value:new Map});Object.defineProperty(t,Gc,{value:new Map})}function Zc(...t){const e=nl(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new rr[\"b\"](\"observable-bind-to-no-callback: Binding multiple observables only possible with callback.\",this)}if(i>1&&e.callback){throw new rr[\"b\"](\"observable-bind-to-extra-callback: Cannot bind multiple properties and use a callback in one binding.\",this)}e.to.forEach(t=>{if(t.properties.length&&t.properties.length!==i){throw new rr[\"b\"](\"observable-bind-to-properties-length: The number of properties must match.\",this)}if(!t.properties.length){t.properties=this._bindProperties}});this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}rl(this._observable,this._to);ol(this);this._bindProperties.forEach(t=>{sl(this._observable,t)})}function Xc(t,e,n){if(this._bindings.size>1){throw new rr[\"b\"](\"observable-bind-to-many-not-one-binding: Cannot bind multiple properties with toMany().\",this)}this.to(...tl(t,e),n)}function tl(t,e){const n=t.map(t=>[t,e]);return Array.prototype.concat.apply([],n)}function el(t){return t.every(t=>typeof t==\"string\")}function nl(...t){if(!t.length){throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}const e={to:[]};let n;if(typeof t[t.length-1]==\"function\"){e.callback=t.pop()}t.forEach(t=>{if(typeof t==\"string\"){n.properties.push(t)}else if(typeof t==\"object\"){n={observable:t,properties:[]};e.to.push(n)}else{throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}});return e}function il(t,e,n,i){const o=t[Yc];const s=o.get(n);const r=s||{};if(!r[i]){r[i]=new Set}r[i].add(e);if(!s){o.set(n,r)}}function ol(t){let e;t._bindings.forEach((n,i)=>{t._to.forEach(o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)];n.to.push([o.observable,e]);il(t._observable,n,o.observable,e)})})}function sl(t,e){const n=t[Gc];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map(t=>t[0][t[1]]))}else{o=i.to[0];o=o[0][o[1]]}if(t.hasOwnProperty(e)){t[e]=o}else{t.set(e,o)}}function rl(t,e){e.forEach(e=>{const n=t[Yc];let i;if(!n.get(e.observable)){t.listenTo(e.observable,\"change\",(o,s)=>{i=n.get(e.observable)[s];if(i){i.forEach(e=>{sl(t,e.property)})}})}})}class al extends Hc{constructor(t,e,n,i){super(t,e,n,i);this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.bind(\"isReadOnly\").to(t);this.bind(\"isFocused\").to(t,\"isFocused\",e=>e&&t.selection.editableElement==this);this.listenTo(t.selection,\"change\",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}is(t,e=null){if(!e){return t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}destroy(){this.stopListening()}}yr(al,Kc);const cl=Symbol(\"rootName\");class ll extends al{constructor(t,e){super(t,e);this.rootName=\"main\"}is(t,e=null){if(!e){return t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}get rootName(){return this.getCustomProperty(cl)}set rootName(t){this._setCustomProperty(cl,t)}set _name(t){this.name=t}}class dl{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"view-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}if(t.direction&&t.direction!=\"forward\"&&t.direction!=\"backward\"){throw new rr[\"b\"](\"view-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=ul._createAt(t.startPosition)}else{this.position=ul._createAt(t.boundaries[t.direction==\"backward\"?\"end\":\"start\"])}this.direction=t.direction||\"forward\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,i;do{i=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtEnd){this.position=ul._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,0)}else{t.offset++}this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,0);this.position=t;return this._next()}else{let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new Fr(i,0,n);t=ul._createAfter(o)}else{o=new Fr(i,0,i.data.length);t.offset++}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new Fr(n,t.offset,i);t.offset+=i;this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createAfter(n);this.position=t;if(this.ignoreElementEnd){return this._next()}else{return this._formatReturnValue(\"elementEnd\",n,e,t)}}}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtStart){this.position=ul._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,i.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue(\"elementEnd\",i,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,i.data.length);this.position=t;return this._previous()}else{let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new Fr(i,e,i.data.length-e);n=o.data.length;t=ul._createBefore(o)}else{o=new Fr(i,0,i.data.length);t.offset--}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new Fr(n,t.offset,i);this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createBefore(n);this.position=t;return this._formatReturnValue(\"elementStart\",n,e,t,1)}}_formatReturnValue(t,e,n,i,o){if(e instanceof Fr){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction==\"forward\"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=ul._createAfter(e.textNode);this.position=i}else{n=ul._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction==\"backward\"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=ul._createBefore(e.textNode);this.position=i}else{n=ul._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class ul{constructor(t,e){this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is(\"text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof al)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=ul._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new dl(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is(\"documentFragment\")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}is(t){return t===\"position\"||t===\"view:position\"}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)==\"before\"}isAfter(t){return this.compareWith(t)==\"after\"}compareWith(t){if(this.root!==t.root){return\"different\"}if(this.isEqual(t)){return\"same\"}const e=this.parent.is(\"node\")?this.parent.getPath():[];const n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const i=Dr(e,n);switch(i){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[i]<n[i]?\"before\":\"after\"}}getWalker(t={}){t.startPosition=this;return new dl(t)}clone(){return new ul(this.parent,this.offset)}static _createAt(t,e){if(t instanceof ul){return new this(t.parent,t.offset)}else{const n=t;if(e==\"end\"){e=n.is(\"text\")?n.data.length:n.childCount}else if(e==\"before\"){return this._createBefore(n)}else if(e==\"after\"){return this._createAfter(n)}else if(e!==0&&!e){throw new rr[\"b\"](\"view-createPositionAt-offset-required: \"+\"View#createPositionAt() requires the offset when the first parameter is a view item.\",n)}return new ul(n,e)}}static _createAfter(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText+t.data.length)}if(!t.parent){throw new rr[\"b\"](\"view-position-after-root: You can not make position after root.\",t,{root:t})}return new ul(t.parent,t.index+1)}static _createBefore(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText)}if(!t.parent){throw new rr[\"b\"](\"view-position-before-root: You can not make position before root.\",t,{root:t})}return new ul(t.parent,t.index)}}class hl{constructor(t,e=null){this.start=t.clone();this.end=e?e.clone():t.clone()}*[Symbol.iterator](){yield*new dl({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let t=this.start.getLastMatchingPosition(fl,{direction:\"backward\"});let e=this.end.getLastMatchingPosition(fl);if(t.parent.is(\"text\")&&t.isAtStart){t=ul._createBefore(t.parent)}if(e.parent.is(\"text\")&&e.isAtEnd){e=ul._createAfter(e.parent)}return new hl(t,e)}getTrimmed(){let t=this.start.getLastMatchingPosition(fl);if(t.isAfter(this.end)||t.isEqual(this.end)){return new hl(t,t)}let e=this.end.getLastMatchingPosition(fl,{direction:\"backward\"});const n=t.nodeAfter;const i=e.nodeBefore;if(n&&n.is(\"text\")){t=new ul(n,0)}if(i&&i.is(\"text\")){e=new ul(i,i.data.length)}return new hl(t,e)}isEqual(t){return this==t||this.start.isEqual(t.start)&&this.end.isEqual(t.end)}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new hl(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new hl(t.end,this.end))}}else{e.push(this.clone())}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new hl(e,n)}return null}getWalker(t={}){t.boundaries=this;return new dl(t)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}let t=this.start.nodeAfter;let e=this.end.nodeBefore;if(this.start.parent.is(\"text\")&&this.start.isAtEnd&&this.start.parent.nextSibling){t=this.start.parent.nextSibling}if(this.end.parent.is(\"text\")&&this.end.isAtStart&&this.end.parent.previousSibling){e=this.end.parent.previousSibling}if(t&&t.is(\"element\")&&t===e){return t}return null}clone(){return new hl(this.start,this.end)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new dl(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new dl(t);yield e.position;for(const t of e){yield t.nextPosition}}is(t){return t===\"range\"||t===\"view:range\"}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}static _createFromParentsAndOffsets(t,e,n,i){return new this(new ul(t,e),new ul(n,i))}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(ul._createBefore(t),e)}}function fl(t){if(t.item.is(\"attributeElement\")||t.item.is(\"uiElement\")){return true}return false}function gl(t){let e=0;for(const n of t){e++}return e}class ml{constructor(t=null,e,n){this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel=\"\";this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=gl(this.getRanges());const n=gl(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(t,e,n){if(t===null){this._setRanges([]);this._setFakeOptions(e)}else if(t instanceof ml||t instanceof pl){this._setRanges(t.getRanges(),t.isBackward);this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel})}else if(t instanceof hl){this._setRanges([t],e&&e.backward);this._setFakeOptions(e)}else if(t instanceof ul){this._setRanges([new hl(t)]);this._setFakeOptions(e)}else if(t instanceof jr){const i=!!n&&!!n.backward;let o;if(e===undefined){throw new rr[\"b\"](\"view-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",this)}else if(e==\"in\"){o=hl._createIn(t)}else if(e==\"on\"){o=hl._createOn(t)}else{o=new hl(ul._createAt(t,e))}this._setRanges([o],i);this._setFakeOptions(n)}else if(vr(t)){this._setRanges(t,e&&e.backward);this._setFakeOptions(e)}else{throw new rr[\"b\"](\"view-selection-setTo-not-selectable: Cannot set selection to given place.\",this)}this.fire(\"change\")}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"view-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",this)}const n=ul._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)==\"before\"){this._addRange(new hl(n,i),true)}else{this._addRange(new hl(i,n))}this.fire(\"change\")}is(t){return t===\"selection\"||t===\"view:selection\"}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||\"\":\"\"}_addRange(t,e=false){if(!(t instanceof hl)){throw new rr[\"b\"](\"view-selection-add-range-not-range: \"+\"Selection range set to an object that is not an instance of view.Range\",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new rr[\"b\"](\"view-selection-range-intersects: Trying to add a range that intersects with another range from selection.\",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new hl(t.start,t.end))}}yr(ml,dr);class pl{constructor(t=null,e,n){this._selection=new ml;this._selection.delegate(\"change\").to(this);this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return t===\"selection\"||t==\"documentSelection\"||t==\"view:selection\"||t==\"view:documentSelection\"}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}yr(pl,dr);class bl{constructor(t){this.selection=new pl;this.roots=new xr({idProperty:\"rootName\"});this.stylesProcessor=t;this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"isComposing\",false);this._postFixers=new Set}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map(t=>t.destroy());this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}yr(bl,Kc);const wl=10;class _l extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=kl;this._priority=wl;this._id=null;this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new rr[\"b\"](\"attribute-element-get-elements-with-same-id-no-id: \"+\"Cannot get elements with the same id for an attribute element without id.\",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t===\"attributeElement\"||t===\"view:attributeElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\")}}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}_l.DEFAULT_PRIORITY=wl;function kl(){if(vl(this)){return null}let t=this.parent;while(t&&t.is(\"attributeElement\")){if(vl(t)>1){return null}t=t.parent}if(!t||vl(t)>1){return null}return this.childCount}function vl(t){return Array.from(t.getChildren()).filter(t=>!t.is(\"uiElement\")).length}class yl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=xl}is(t,e=null){if(!e){return t===\"emptyElement\"||t===\"view:emptyElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-emptyelement-cannot-add: Cannot add child nodes to EmptyElement instance.\",[this,e])}}}function xl(){return null}const Al=navigator.userAgent.toLowerCase();const Tl={isMac:Sl(Al),isGecko:Pl(Al),isSafari:El(Al),isAndroid:Ml(Al),features:{isRegExpUnicodePropertySupported:Il()}};var Cl=Tl;function Sl(t){return t.indexOf(\"macintosh\")>-1}function Pl(t){return!!t.match(/gecko\\/\\d+/)}function El(t){return t.indexOf(\" applewebkit/\")>-1&&t.indexOf(\"chrome\")===-1}function Ml(t){return t.indexOf(\"android\")>-1}function Il(){let t=false;try{t=\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))===0}catch(t){}return t}const Nl={\"⌘\":\"ctrl\",\"⇧\":\"shift\",\"⌥\":\"alt\"};const Ol={ctrl:\"⌘\",shift:\"⇧\",alt:\"⌥\"};const Rl=Vl();function Dl(t){let e;if(typeof t==\"string\"){e=Rl[t.toLowerCase()];if(!e){throw new rr[\"b\"](\"keyboard-unknown-key: Unknown key name.\",null,{key:t})}}else{e=t.keyCode+(t.altKey?Rl.alt:0)+(t.ctrlKey?Rl.ctrl:0)+(t.shiftKey?Rl.shift:0)}return e}function Ll(t){if(typeof t==\"string\"){t=jl(t)}return t.map(t=>typeof t==\"string\"?Dl(t):t).reduce((t,e)=>e+t,0)}function zl(t){if(!Cl.isMac){return t}return jl(t).map(t=>Ol[t.toLowerCase()]||t).reduce((t,e)=>{if(t.slice(-1)in Nl){return t+e}else{return t+\"+\"+e}})}function Vl(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,cmd:1114112,shift:2228224,alt:4456448};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t[\"f\"+(e-111)]=e}return t}function jl(t){return t.split(/\\s*\\+\\s*/)}class Bl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Hl}is(t,e=null){if(!e){return t===\"uiElement\"||t===\"view:uiElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-uielement-cannot-add: Cannot add child nodes to UIElement instance.\",this)}}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}function Fl(t){t.document.on(\"keydown\",(e,n)=>Ul(e,n,t.domConverter))}function Hl(){return null}function Ul(t,e,n){if(e.keyCode==Rl.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const s=n.domPositionToView(e,o);if(s===null){return}let r=false;const a=s.getLastMatchingPosition(t=>{if(t.item.is(\"uiElement\")){r=true}if(t.item.is(\"uiElement\")||t.item.is(\"attributeElement\")){return true}return false});if(r){const e=n.viewPositionToDom(a);if(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Wl{constructor(t,e){this.document=t;this._children=[];if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"view:documentFragment\"}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=ql(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_fireChange(t,e){this.fire(\"change:\"+t,e)}}yr(Wl,dr);function ql(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class $l{constructor(t){this.document=t;this._cloneGroups=new Map}setSelection(t,e,n){this.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createText(t){return new Br(this.document,t)}createAttributeElement(t,e,n={}){const i=new _l(this.document,t,e);if(n.priority){i._priority=n.priority}if(n.id){i._id=n.id}return i}createContainerElement(t,e){return new Hc(this.document,t,e)}createEditableElement(t,e){const n=new al(this.document,t,e);n._document=this.document;return n}createEmptyElement(t,e){return new yl(this.document,t,e)}createUIElement(t,e,n){const i=new Bl(this.document,t,e);if(n){i.render=n}return i}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof ul){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-break-non-container-element: Trying to break an element which is not a container element.\",this.document)}if(!e.parent){throw new rr[\"b\"](\"view-writer-break-root: Trying to break root element.\",this.document)}if(t.isAtStart){return ul._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(ul._createAfter(e),n);const i=new hl(t,ul._createAt(e,\"end\"));const o=new ul(n,0);this.move(i,o)}return ul._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is(\"text\")){return t}if(n.is(\"attributeElement\")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new ul(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is(\"text\")&&o.is(\"text\")){return Zl(i,o)}else if(i.is(\"attributeElement\")&&o.is(\"attributeElement\")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new ul(i,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is(\"containerElement\")||!n.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-merge-containers-invalid-position: \"+\"Element before and after given position cannot be merged.\",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof Br?ul._createAt(i,\"end\"):ul._createAt(e,\"end\");this.move(hl._createIn(n),ul._createAt(e,\"end\"));this.remove(hl._createOn(n));return o}insert(t,e){e=vr(e)?[...e]:[e];Xl(e,this.document);const n=Gl(t);if(!n){throw new rr[\"b\"](\"view-writer-invalid-position-container\",this.document)}const i=this._breakAttributes(t,true);const o=n._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=i.getShiftedBy(o);const r=this.mergeAttributes(i);if(o===0){return new hl(r,r)}else{if(!r.isEqual(i)){s.offset--}const t=this.mergeAttributes(s);return new hl(r,t)}}remove(t){const e=t instanceof hl?t:hl._createOn(t);nd(e,this.document);if(e.isCollapsed){return new Wl(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const s=i.offset-n.offset;const r=o._removeChildren(n.offset,s);for(const t of r){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new Wl(this.document,r)}clear(t,e){nd(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is(\"element\")&&e.isSimilar(n)){o=hl._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is(\"textProxy\")){const t=n.getAncestors().find(t=>t.is(\"element\")&&e.isSimilar(t));if(t){o=hl._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-wrap-invalid-attribute\",this.document)}nd(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is(\"element\")&&!Yl(n.parent)){n=n.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new hl(n)}}unwrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-unwrap-invalid-attribute\",this.document)}nd(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._unwrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}rename(t,e){const n=new Hc(this.document,t,e.getAttributes());this.insert(ul._createAfter(e),n);this.move(hl._createIn(e),ul._createAt(n,0));this.remove(hl._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_wrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);const n=e.is(\"text\");const r=e.is(\"attributeElement\");const a=e.is(\"emptyElement\");const c=e.is(\"uiElement\");if(r&&this._wrapAttributeElement(i,e)){s.push(new ul(t,o))}else if(n||a||c||r&&Ql(i,e)){const n=i._clone();e._remove();n._appendChild(e);t._insertChild(o,n);this._addToClonedElementsGroup(n);s.push(new ul(t,o))}else if(r){this._wrapChildren(e,0,e.childCount,i)}o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_unwrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);if(!e.is(\"attributeElement\")){o++;continue}if(e.isSimilar(i)){const i=e.getChildren();const r=e.childCount;e._remove();t._insertChild(o,i);this._removeFromClonedElementsGroup(e);s.push(new ul(t,o),new ul(t,o+r));o+=r;n+=r-1;continue}if(this._unwrapAttributeElement(i,e)){s.push(new ul(t,o),new ul(t,o+1));o++;continue}this._unwrapChildren(e,0,e.childCount,i);o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e||t.offset==n){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_wrapRange(t,e){const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._wrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}_wrapPosition(t,e){if(e.isSimilar(t.parent)){return Kl(t.clone())}if(t.parent.is(\"text\")){t=Jl(t)}const n=this.createAttributeElement();n._priority=Number.POSITIVE_INFINITY;n.isSimilar=()=>false;t.parent._insertChild(t.offset,n);const i=new hl(t,t.getShiftedBy(1));this.wrap(i,e);const o=new ul(n.parent,n.index);n._remove();const s=o.nodeBefore;const r=o.nodeAfter;if(s instanceof Br&&r instanceof Br){return Zl(s,r)}return Kl(o)}_wrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const i=t.end;nd(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new hl(n,n)}const o=this._breakAttributes(i,e);const s=o.parent.childCount;const r=this._breakAttributes(n,e);o.offset+=o.parent.childCount-s;return new hl(r,o)}_breakAttributes(t,e=false){const n=t.offset;const i=t.parent;if(t.parent.is(\"emptyElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-empty-element\",this.document)}if(t.parent.is(\"uiElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-ui-element\",this.document)}if(!e&&i.is(\"text\")&&ed(i.parent)){return t.clone()}if(ed(i)){return t.clone()}if(i.is(\"text\")){return this._breakAttributes(Jl(t),e)}const o=i.childCount;if(n==o){const t=new ul(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new ul(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const s=i.childCount-n;const r=i._removeChildren(n,s);o._appendChild(r);const a=new ul(i.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\")){return}if(t.is(\"element\")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function Yl(t){return Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"))}function Gl(t){let e=t.parent;while(!ed(e)){if(!e){return undefined}e=e.parent}return e}function Ql(t,e){if(t.priority<e.priority){return true}else if(t.priority>e.priority){return false}return t.getIdentity()<e.getIdentity()}function Kl(t){const e=t.nodeBefore;if(e&&e.is(\"text\")){return new ul(e,e.data.length)}const n=t.nodeAfter;if(n&&n.is(\"text\")){return new ul(n,0)}return t}function Jl(t){if(t.offset==t.parent.data.length){return new ul(t.parent.parent,t.parent.index+1)}if(t.offset===0){return new ul(t.parent.parent,t.parent.index)}const e=t.parent.data.slice(t.offset);t.parent._data=t.parent.data.slice(0,t.offset);t.parent.parent._insertChild(t.parent.index+1,new Br(t.root.document,e));return new ul(t.parent.parent,t.parent.index+1)}function Zl(t,e){const n=t.data.length;t._data+=e.data;e._remove();return new ul(t,n)}function Xl(t,e){for(const n of t){if(!td.some(t=>n instanceof t)){throw new rr[\"b\"](\"view-writer-insert-invalid-node\",e)}if(!n.is(\"text\")){Xl(n.getChildren(),e)}}}const td=[Br,_l,Hc,yl,Bl];function ed(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function nd(t,e){const n=Gl(t.start);const i=Gl(t.end);if(!n||!i||n!==i){throw new rr[\"b\"](\"view-writer-invalid-range-container\",e)}}function id(t,e){return t.id===null&&e.id===null}function od(t){return Object.prototype.toString.call(t)==\"[object Text]\"}const sd=t=>t.createTextNode(\" \");const rd=t=>{const e=t.createElement(\"br\");e.dataset.ckeFiller=true;return e};const ad=7;const cd=(()=>{let t=\"\";for(let e=0;e<ad;e++){t+=\"​\"}return t})();function ld(t){return od(t)&&t.data.substr(0,ad)===cd}function dd(t){return t.data.length==ad&&ld(t)}function ud(t){if(ld(t)){return t.data.slice(ad)}else{return t.data}}function hd(t){t.document.on(\"keydown\",fd)}function fd(t,e){if(e.keyCode==Rl.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(ld(e)&&n<=ad){t.collapse(e,0)}}}}function gd(t,e,n,i=false){n=n||function(t,e){return t===e};if(!Array.isArray(t)){t=Array.prototype.slice.call(t)}if(!Array.isArray(e)){e=Array.prototype.slice.call(e)}const o=md(t,e,n);return i?_d(o,e.length):wd(e,o)}function md(t,e,n){const i=pd(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=bd(t,i);const s=bd(e,i);const r=pd(o,s,n);const a=t.length-r;const c=e.length-r;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function pd(t,e,n){for(let i=0;i<Math.max(t.length,e.length);i++){if(t[i]===undefined||e[i]===undefined||!n(t[i],e[i])){return i}}return-1}function bd(t,e){return t.slice(e).reverse()}function wd(t,e){const n=[];const{firstIndex:i,lastIndexOld:o,lastIndexNew:s}=e;if(s-i>0){n.push({index:i,type:\"insert\",values:t.slice(i,s)})}if(o-i>0){n.push({index:i+(s-i),type:\"delete\",howMany:o-i})}return n}function _d(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill(\"equal\")}let s=[];if(n>0){s=s.concat(Array(n).fill(\"equal\"))}if(o-n>0){s=s.concat(Array(o-n).fill(\"insert\"))}if(i-n>0){s=s.concat(Array(i-n).fill(\"delete\"))}if(o<e){s=s.concat(Array(e-o).fill(\"equal\"))}return s}function kd(t,e,n){n=n||function(t,e){return t===e};const i=t.length;const o=e.length;if(i>200||o>200||i+o>300){return kd.fastDiff(t,e,n,true)}let s,r;if(o<i){const n=t;t=e;e=n;s=\"delete\";r=\"insert\"}else{s=\"insert\";r=\"delete\"}const a=t.length;const c=e.length;const l=c-a;const d={};const u={};function h(i){const o=(u[i-1]!==undefined?u[i-1]:-1)+1;const l=u[i+1]!==undefined?u[i+1]:-1;const h=o>l?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?s:r);let f=Math.max(o,l);let g=f-i;while(g<a&&f<c&&n(t[g],e[f])){g++;f++;d[i].push(\"equal\")}return f}let f=0;let g;do{for(g=-f;g<l;g++){u[g]=h(g)}for(g=l+f;g>l;g--){u[g]=h(g)}u[l]=h(l);f++}while(u[l]!==c);return d[l].slice(1)}kd.fastDiff=gd;function vd(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function yd(t){const e=t.parentNode;if(e){e.removeChild(t)}}function xd(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}class Ad{constructor(t,e){this.domDocuments=new Set;this.domConverter=t;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this.selection=e;this.isFocused=false;this._inlineFiller=null;this._fakeSelectionContainer=null}markToSync(t,e){if(t===\"text\"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t===\"attributes\"){this.markedAttributes.add(e)}else if(t===\"children\"){this.markedChildren.add(e)}else{throw new rr[\"b\"](\"view-renderer-unknown-type: Unknown type passed to Renderer.markToSync.\",this)}}}render(){let t;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!ld(e.parent)){this._inlineFiller=Cd(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}this._updateSelection();this._updateFocus();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=this.domConverter.mapViewToDom(t).childNodes;const i=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const o=this._diffNodeLists(n,i);const s=this._findReplaceActions(o,n,i);if(s.indexOf(\"replace\")!==-1){const e={equal:0,insert:0,delete:0};for(const o of s){if(o===\"replace\"){const o=e.equal+e.insert;const s=e.equal+e.delete;const r=t.getChild(o);if(r&&!r.is(\"uiElement\")){this._updateElementMappings(r,n[s])}yd(i[o]);e.equal++}else{e[o]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is(\"text\")){return ul._createBefore(this.selection.getFirstPosition().parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&od(e.parent)&&ld(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!ld(t)){throw new rr[\"b\"](\"view-renderer-filler-was-lost: The inline filler node was lost.\",this)}if(dd(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(ad)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is(\"element\")){return false}if(!Td(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof Br||o instanceof Br){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t,n.ownerDocument);const o=n.data;let s=i.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){s=cd+s}if(o!=s){const t=gd(o,s);for(const e of t){if(e.type===\"insert\"){n.insertData(e.index,e.values.join(\"\"))}else{n.deleteData(e.index,e.howMany)}}}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map(t=>t.name);const i=t.getAttributeKeys();for(const n of i){e.setAttribute(n,t.getAttribute(n))}for(const i of n){if(!t.hasAttribute(i)){e.removeAttribute(i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const i=e.inlineFillerPosition;const o=this.domConverter.mapViewToDom(t).childNodes;const s=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:i}));if(i&&i.parent===t){Cd(n.ownerDocument,s,i.offset)}const r=this._diffNodeLists(o,s);let a=0;const c=new Set;for(const t of r){if(t===\"delete\"){c.add(o[a]);yd(o[a])}else if(t===\"equal\"){a++}}a=0;for(const t of r){if(t===\"insert\"){vd(n,a,s[a]);a++}else if(t===\"equal\"){this._markDescendantTextToSync(this.domConverter.domToView(s[a]));a++}}for(const t of c){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Md(t,this._fakeSelectionContainer);return kd(t,e,Pd.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf(\"insert\")===-1||t.indexOf(\"delete\")===-1){return t}let i=[];let o=[];let s=[];const r={equal:0,insert:0,delete:0};for(const a of t){if(a===\"insert\"){s.push(n[r.equal+r.insert])}else if(a===\"delete\"){o.push(e[r.equal+r.delete])}else{i=i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t));i.push(\"equal\");o=[];s=[]}r[a]++}return i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t))}_markDescendantTextToSync(t){if(!t){return}if(t.is(\"text\")){this.markedTexts.add(t)}else if(t.is(\"element\")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else{this._removeFakeSelection();this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Id(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||\" \";const i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);t.focus();e.collapse(n.parent,n.offset);e.extend(i.parent,i.offset);if(Cl.isGecko){Ed(i,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const e=t.activeElement;const n=this.domConverter.mapDomToView(e);if(e&&n){t.getSelection().removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}yr(Ad,Kc);function Td(t){if(t.getAttribute(\"contenteditable\")==\"false\"){return false}const e=t.findAncestor(t=>t.hasAttribute(\"contenteditable\"));return!e||e.getAttribute(\"contenteditable\")==\"true\"}function Cd(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(od(o)){o.data=cd+o.data;return o}else{const o=t.createTextNode(cd);if(Array.isArray(e)){i.splice(n,0,o)}else{vd(e,n,o)}return o}}function Sd(t,e){return xd(t)&&xd(e)&&!od(t)&&!od(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Pd(t,e,n){if(e===n){return true}else if(od(e)&&od(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Ed(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName==\"BR\"){e.addRange(e.getRangeAt(0))}}function Md(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function Id(t){const e=t.createElement(\"div\");Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"});e.textContent=\" \";return e}var Nd={window:window,document:document};function Od(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function Rd(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function Dd(t,e){const n=Rd(t);const i=Rd(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}const Ld=rd(document);class zd{constructor(t,e={}){this.document=t;this.blockFillerMode=e.blockFillerMode||\"br\";this.preElements=[\"pre\"];this.blockElements=[\"p\",\"div\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"dd\",\"dt\",\"figcaption\"];this._blockFiller=this.blockFillerMode==\"br\"?rd:sd;this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new ml(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of t.childNodes){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is(\"text\")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}else{if(this.mapViewToDom(t)){return this.mapViewToDom(t)}let i;if(t.is(\"documentFragment\")){i=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(i,t)}}else if(t.is(\"uiElement\")){i=t.render(e);if(n.bind){this.bindElements(i,t)}return i}else{if(t.hasAttribute(\"xmlns\")){i=e.createElementNS(t.getAttribute(\"xmlns\"),t.name)}else{i=e.createElement(t.name)}if(n.bind){this.bindElements(i,t)}for(const e of t.getAttributeKeys()){i.setAttribute(e,t.getAttribute(e))}}if(n.withChildren||n.withChildren===undefined){for(const o of this.viewChildrenToDom(t,e,n)){i.appendChild(o)}}return i}}*viewChildrenToDom(t,e,n={}){const i=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const s of t.getChildren()){if(i===o){yield this._blockFiller(e)}yield this.viewToDom(s,e,n);o++}if(i===o){yield this._blockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=document.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is(\"text\")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(ld(n)){i+=ad}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is(\"text\")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(od(o)&&ld(o)){return{parent:o,offset:ad}}const s=i?Od(i)+1:0;return{parent:n,offset:s}}}domToView(t,e={}){if(this.isBlockFiller(t,this.blockFillerMode)){return null}const n=this.getParentUIElement(t,this._domToViewMapping);if(n){return n}if(od(t)){if(dd(t)){return null}else{const e=this._processDataFromDomText(t);return e===\"\"?null:new Br(this.document,e)}}else if(this.isComment(t)){return null}else{if(this.mapDomToView(t)){return this.mapDomToView(t)}let n;if(this.isDocumentFragment(t)){n=new Wl(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const i=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new Vc(this.document,i);if(e.bind){this.bindElements(t,n)}const o=t.attributes;for(let t=o.length-1;t>=0;t--){n._setAttribute(o[t].name,o[t].value)}}if(e.withChildren||e.withChildren===undefined){for(const i of this.domChildrenToView(t,e)){n._appendChild(i)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n<t.childNodes.length;n++){const i=t.childNodes[n];const o=this.domToView(i,e);if(o!==null){yield o}}}domSelectionToView(t){if(t.rangeCount===1){let e=t.getRangeAt(0).startContainer;if(od(e)){e=e.parentNode}const n=this.fakeSelectionToView(e);if(n){return n}}const e=this.isDomSelectionBackward(t);const n=[];for(let e=0;e<t.rangeCount;e++){const i=t.getRangeAt(e);const o=this.domRangeToView(i);if(o){n.push(o)}}return new ml(n,{backward:e})}domRangeToView(t){const e=this.domPositionToView(t.startContainer,t.startOffset);const n=this.domPositionToView(t.endContainer,t.endOffset);if(e&&n){return new hl(e,n)}return null}domPositionToView(t,e){if(this.isBlockFiller(t,this.blockFillerMode)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return ul._createBefore(n)}if(od(t)){if(dd(t)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.findCorrespondingViewText(t);let i=e;if(!n){return null}if(ld(t)){i-=ad;i=i<0?0:i}return new ul(n,i)}else{if(e===0){const e=this.mapDomToView(t);if(e){return new ul(e,0)}}else{const n=t.childNodes[e-1];const i=od(n)?this.findCorrespondingViewText(n):this.mapDomToView(n);if(i&&i.parent){return new ul(i.parent,i.index+1)}}return null}}mapDomToView(t){return this.getParentUIElement(t)||this._domToViewMapping.get(t)}findCorrespondingViewText(t){if(dd(t)){return null}const e=this.getParentUIElement(t);if(e){return e}const n=t.previousSibling;if(n){if(!this.isElement(n)){return null}const t=this.mapDomToView(n);if(t){const e=t.nextSibling;if(e instanceof Br){return t.nextSibling}else{return null}}}else{const e=this.mapDomToView(t.parentNode);if(e){const t=e.getChild(0);if(t instanceof Br){return t}else{return null}}}return null}mapViewToDom(t){return this._viewToDomMapping.get(t)}findCorrespondingDomText(t){const e=t.previousSibling;if(e&&this.mapViewToDom(e)){return this.mapViewToDom(e).nextSibling}if(!e&&t.parent&&this.mapViewToDom(t.parent)){return this.mapViewToDom(t.parent).childNodes[0]}return null}focus(t){const e=this.mapViewToDom(t);if(e&&e.ownerDocument.activeElement!==e){const{scrollX:t,scrollY:n}=Nd.window;const i=[];jd(e,t=>{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])});e.focus();jd(e,t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n});Nd.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){if(this.blockFillerMode==\"br\"){return t.isEqualNode(Ld)}if(t.tagName===\"BR\"&&Fd(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return Bd(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;e.detach();return n}getParentUIElement(t){const e=Rd(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&n.is(\"uiElement\")){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}_isDomSelectionPositionCorrect(t,e){if(od(t)&&ld(t)&&e<ad){return false}if(this.isElement(t)&&ld(t.childNodes[e])){return false}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return false}return true}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return e}if(e.charAt(0)==\" \"){const n=this._getTouchingViewTextNode(t,false);const i=n&&this._nodeEndsWithSpace(n);if(i||!n){e=\" \"+e.substr(1)}}if(e.charAt(e.length-1)==\" \"){const n=this._getTouchingViewTextNode(t,true);if(e.charAt(e.length-2)==\" \"||!n||n.data.charAt(0)==\" \"){e=e.substr(0,e.length-1)+\" \"}}return e.replace(/ {2}/g,\"  \")}_nodeEndsWithSpace(t){if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==\" \"}_processDataFromDomText(t){let e=t.data;if(Vd(t,this.preElements)){return ud(t)}e=e.replace(/[ \\n\\t\\r]{1,}/g,\" \");const n=this._getTouchingInlineDomNode(t,false);const i=this._getTouchingInlineDomNode(t,true);const o=this._checkShouldLeftTrimDomText(n);const s=this._checkShouldRightTrimDomText(t,i);if(o){e=e.replace(/^ /,\"\")}if(s){e=e.replace(/ $/,\"\")}e=ud(new Text(e));e=e.replace(/ \\u00A0/g,\"  \");if(/( |\\u00A0)\\u00A0$/.test(e)||!i||i.data&&i.data.charAt(0)==\" \"){e=e.replace(/\\u00A0$/,\" \")}if(o){e=e.replace(/^\\u00A0/,\" \")}return e}_checkShouldLeftTrimDomText(t){if(!t){return true}if(Gs(t)){return true}return/[^\\S\\u00A0]/.test(t.data.charAt(t.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!ld(t)}_getTouchingViewTextNode(t,e){const n=new dl({startPosition:e?ul._createAfter(t):ul._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"containerElement\")){return null}else if(t.item.is(\"br\")){return null}else if(t.item.is(\"textProxy\")){return t.item}}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode){return null}const n=e?\"nextNode\":\"previousNode\";const i=t.ownerDocument;const o=Rd(t)[0];const s=i.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(od(t)){return NodeFilter.FILTER_ACCEPT}if(t.tagName==\"BR\"){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});s.currentNode=t;const r=s[n]();if(r!==null){const e=Dd(t,r);if(e&&!Vd(t,this.blockElements,e)&&!Vd(r,this.blockElements,e)){return r}}return null}}function Vd(t,e,n){let i=Rd(t);if(n){i=i.slice(i.indexOf(n)+1)}return i.some(t=>t.tagName&&e.includes(t.tagName.toLowerCase()))}function jd(t,e){while(t&&t!=Nd.document){e(t);t=t.parentNode}}function Bd(t,e){const n=od(t)&&t.data==\" \";return n&&Fd(t,e)&&t.parentNode.childNodes.length===1}function Fd(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function Hd(t){const e=Object.prototype.toString.apply(t);if(e==\"[object Window]\"){return true}if(e==\"[object global]\"){return true}return false}const Ud=qc({},dr,{listenTo(t,...e){if(xd(t)||Hd(t)){const n=this._getProxyEmitter(t)||new qd(t);n.attach(...e);t=n}dr.listenTo.call(this,t,...e)},stopListening(t,e,n){if(xd(t)||Hd(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}dr.stopListening.call(this,t,e,n);if(t instanceof qd){t.detach(e)}},_getProxyEmitter(t){return ur(this,$d(t))}});var Wd=Ud;class qd{constructor(t){hr(this,$d(t));this._domNode=t}}qc(qd.prototype,dr,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const i=this._createDomListener(t,!!n.useCapture);this._domNode.addEventListener(t,i,!!n.useCapture);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=i},detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}},_createDomListener(t,e){const n=e=>{this.fire(t,e)};n.removeListener=()=>{this._domNode.removeEventListener(t,n,e);delete this._domListeners[t]};return n}});function $d(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=nr())}class Yd{constructor(t){this.view=t;this.document=t.document;this.isEnabled=false}enable(){this.isEnabled=true}disable(){this.isEnabled=false}destroy(){this.disable();this.stopListening()}}yr(Yd,Wd);var Gd=\"__lodash_hash_undefined__\";function Qd(t){this.__data__.set(t,Gd);return this}var Kd=Qd;function Jd(t){return this.__data__.has(t)}var Zd=Jd;function Xd(t){var e=-1,n=t==null?0:t.length;this.__data__=new ke;while(++e<n){this.add(t[e])}}Xd.prototype.add=Xd.prototype.push=Kd;Xd.prototype.has=Zd;var tu=Xd;function eu(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)){return true}}return false}var nu=eu;function iu(t,e){return t.has(e)}var ou=iu;var su=1,ru=2;function au(t,e,n,i,o,s){var r=n&su,a=t.length,c=e.length;if(a!=c&&!(r&&c>a)){return false}var l=s.get(t);if(l&&s.get(e)){return l==e}var d=-1,u=true,h=n&ru?new tu:undefined;s.set(t,e);s.set(e,t);while(++d<a){var f=t[d],g=e[d];if(i){var m=r?i(g,f,d,e,t,s):i(f,g,d,t,e,s)}if(m!==undefined){if(m){continue}u=false;break}if(h){if(!nu(e,(function(t,e){if(!ou(h,e)&&(f===t||o(f,t,n,i,s))){return h.push(e)}}))){u=false;break}}else if(!(f===g||o(f,g,n,i,s))){u=false;break}}s[\"delete\"](t);s[\"delete\"](e);return u}var cu=au;function lu(t){var e=-1,n=Array(t.size);t.forEach((function(t,i){n[++e]=[i,t]}));return n}var du=lu;function uu(t){var e=-1,n=Array(t.size);t.forEach((function(t){n[++e]=t}));return n}var hu=uu;var fu=1,gu=2;var mu=\"[object Boolean]\",pu=\"[object Date]\",bu=\"[object Error]\",wu=\"[object Map]\",_u=\"[object Number]\",ku=\"[object RegExp]\",vu=\"[object Set]\",yu=\"[object String]\",xu=\"[object Symbol]\";var Au=\"[object ArrayBuffer]\",Tu=\"[object DataView]\";var Cu=s?s.prototype:undefined,Su=Cu?Cu.valueOf:undefined;function Pu(t,e,n,i,o,s,r){switch(n){case Tu:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset){return false}t=t.buffer;e=e.buffer;case Au:if(t.byteLength!=e.byteLength||!s(new fo(t),new fo(e))){return false}return true;case mu:case pu:case _u:return V(+t,+e);case bu:return t.name==e.name&&t.message==e.message;case ku:case yu:return t==e+\"\";case wu:var a=du;case vu:var c=i&fu;a||(a=hu);if(t.size!=e.size&&!c){return false}var l=r.get(t);if(l){return l==e}i|=gu;r.set(t,e);var d=cu(a(t),a(e),i,o,s,r);r[\"delete\"](t);return d;case xu:if(Su){return Su.call(t)==Su.call(e)}}return false}var Eu=Pu;var Mu=1;var Iu=Object.prototype;var Nu=Iu.hasOwnProperty;function Ou(t,e,n,i,o,s){var r=n&Mu,a=zi(t),c=a.length,l=zi(e),d=l.length;if(c!=d&&!r){return false}var u=c;while(u--){var h=a[u];if(!(r?h in e:Nu.call(e,h))){return false}}var f=s.get(t);if(f&&s.get(e)){return f==e}var g=true;s.set(t,e);s.set(e,t);var m=r;while(++u<c){h=a[u];var p=t[h],b=e[h];if(i){var w=r?i(b,p,h,e,t,s):i(p,b,h,t,e,s)}if(!(w===undefined?p===b||o(p,b,n,i,s):w)){g=false;break}m||(m=h==\"constructor\")}if(g&&!m){var _=t.constructor,k=e.constructor;if(_!=k&&(\"constructor\"in t&&\"constructor\"in e)&&!(typeof _==\"function\"&&_ instanceof _&&typeof k==\"function\"&&k instanceof k)){g=false}}s[\"delete\"](t);s[\"delete\"](e);return g}var Ru=Ou;var Du=1;var Lu=\"[object Arguments]\",zu=\"[object Array]\",Vu=\"[object Object]\";var ju=Object.prototype;var Bu=ju.hasOwnProperty;function Fu(t,e,n,i,o,s){var r=Qe(t),a=Qe(e),c=r?zu:ro(t),l=a?zu:ro(e);c=c==Lu?Vu:c;l=l==Lu?Vu:l;var d=c==Vu,u=l==Vu,h=c==l;if(h&&Object(Ke[\"a\"])(t)){if(!Object(Ke[\"a\"])(e)){return false}r=true;d=false}if(h&&!d){s||(s=new Te);return r||zn(t)?cu(t,e,n,i,o,s):Eu(t,e,c,n,i,o,s)}if(!(n&Du)){var f=d&&Bu.call(t,\"__wrapped__\"),g=u&&Bu.call(e,\"__wrapped__\");if(f||g){var m=f?t.value():t,p=g?e.value():e;s||(s=new Te);return o(m,p,n,i,s)}}if(!h){return false}s||(s=new Te);return Ru(t,e,n,i,o,s)}var Hu=Fu;function Uu(t,e,n,i,o){if(t===e){return true}if(t==null||e==null||!C(t)&&!C(e)){return t!==t&&e!==e}return Hu(t,e,n,i,Uu,o)}var Wu=Uu;function qu(t,e,n){n=typeof n==\"function\"?n:undefined;var i=n?n(t,e):undefined;return i===undefined?Wu(t,e,undefined,n):!!i}var $u=qu;class Yu extends Yd{constructor(t){super(t);this._config={childList:true,characterData:true,characterDataOldValue:true,subtree:true};this.domConverter=t.domConverter;this.renderer=t._renderer;this._domElements=[];this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(t){this._domElements.push(t);if(this.isEnabled){this._mutationObserver.observe(t,this._config)}}enable(){super.enable();for(const t of this._domElements){this._mutationObserver.observe(t,this._config)}}disable(){super.disable();this._mutationObserver.disconnect()}destroy(){super.destroy();this._mutationObserver.disconnect()}_onMutations(t){if(t.length===0){return}const e=this.domConverter;const n=new Map;const i=new Set;for(const n of t){if(n.type===\"childList\"){const t=e.mapDomToView(n.target);if(t&&t.is(\"uiElement\")){continue}if(t&&!this._isBogusBrMutation(n)){i.add(t)}}}for(const o of t){const t=e.mapDomToView(o.target);if(t&&t.is(\"uiElement\")){continue}if(o.type===\"characterData\"){const t=e.findCorrespondingViewText(o.target);if(t&&!i.has(t.parent)){n.set(t,{type:\"text\",oldText:t.data,newText:ud(o.target),node:t})}else if(!t&&ld(o.target)){i.add(e.mapDomToView(o.target.parentNode))}}}const o=[];for(const t of n.values()){this.renderer.markToSync(\"text\",t.node);o.push(t)}for(const t of i){const n=e.mapViewToDom(t);const i=Array.from(t.getChildren());const s=Array.from(e.domChildrenToView(n,{withChildren:false}));if(!$u(i,s,a)){this.renderer.markToSync(\"children\",t);o.push({type:\"children\",oldChildren:i,newChildren:s,node:t})}}const s=t[0].target.ownerDocument.getSelection();let r=null;if(s&&s.anchorNode){const t=e.domPositionToView(s.anchorNode,s.anchorOffset);const n=e.domPositionToView(s.focusNode,s.focusOffset);if(t&&n){r=new ml(t);r.setFocus(n)}}if(o.length){this.document.fire(\"mutations\",o,r);this.view.forceRender()}function a(t,e){if(Array.isArray(t)){return}if(t===e){return true}else if(t.is(\"text\")&&e.is(\"text\")){return t.data===e.data}return false}}_isBogusBrMutation(t){let e=null;if(t.nextSibling===null&&t.removedNodes.length===0&&t.addedNodes.length==1){e=this.domConverter.domToView(t.addedNodes[0],{withChildren:false})}return e&&e.is(\"element\",\"br\")}}class Gu{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;qc(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Qu extends Yd{constructor(t){super(t);this.useCapture=false}observe(t){const e=typeof this.domEventType==\"string\"?[this.domEventType]:this.domEventType;e.forEach(e=>{this.listenTo(t,e,(t,e)=>{if(this.isEnabled){this.onDomEvent(e)}},{useCapture:this.useCapture})})}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new Gu(this.view,e,n))}}}class Ku extends Qu{constructor(t){super(t);this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey||t.metaKey,shiftKey:t.shiftKey,get keystroke(){return Dl(this)}})}}var Ju=function(){return i[\"a\"].Date.now()};var Zu=Ju;var Xu=0/0;var th=/^\\s+|\\s+$/g;var eh=/^[-+]0x[0-9a-f]+$/i;var nh=/^0b[01]+$/i;var ih=/^0o[0-7]+$/i;var oh=parseInt;function sh(t){if(typeof t==\"number\"){return t}if(Zr(t)){return Xu}if(ct(t)){var e=typeof t.valueOf==\"function\"?t.valueOf():t;t=ct(e)?e+\"\":e}if(typeof t!=\"string\"){return t===0?t:+t}t=t.replace(th,\"\");var n=nh.test(t);return n||ih.test(t)?oh(t.slice(2),n?2:8):eh.test(t)?Xu:+t}var rh=sh;var ah=\"Expected a function\";var ch=Math.max,lh=Math.min;function dh(t,e,n){var i,o,s,r,a,c,l=0,d=false,u=false,h=true;if(typeof t!=\"function\"){throw new TypeError(ah)}e=rh(e)||0;if(ct(n)){d=!!n.leading;u=\"maxWait\"in n;s=u?ch(rh(n.maxWait)||0,e):s;h=\"trailing\"in n?!!n.trailing:h}function f(e){var n=i,s=o;i=o=undefined;l=e;r=t.apply(s,n);return r}function g(t){l=t;a=setTimeout(b,e);return d?f(t):r}function m(t){var n=t-c,i=t-l,o=e-n;return u?lh(o,s-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=s}function b(){var t=Zu();if(p(t)){return w(t)}a=setTimeout(b,m(t))}function w(t){a=undefined;if(h&&i){return f(t)}i=o=undefined;return r}function _(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function k(){return a===undefined?r:w(Zu())}function v(){var t=Zu(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return g(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return r}v.cancel=_;v.flush=k;return v}var uh=dh;class hh extends Yd{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200)}observe(){const t=this.document;t.on(\"keydown\",(e,n)=>{const i=t.selection;if(i.isFake&&fh(n.keyCode)&&this.isEnabled){n.preventDefault();this._handleSelectionMove(n.keyCode)}},{priority:\"lowest\"})}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new ml(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Rl.arrowleft||t==Rl.arrowup){n.setTo(n.getFirstPosition())}if(t==Rl.arrowright||t==Rl.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",i);this._fireSelectionChangeDoneDebounced(i)}}function fh(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}class gh extends Yd{constructor(t){super(t);this.mutationObserver=t.getObserver(Yu);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200);this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;if(this._documents.has(e)){return}this.listenTo(e,\"selectionchange\",()=>{this._handleSelectionChange(e)});this._documents.add(e)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t){if(!this.isEnabled){return}this.mutationObserver.flush();const e=t.defaultView.getSelection();const n=this.domConverter.domSelectionToView(e);if(n.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;if(this.selection.isEqual(n)&&this.domConverter.isDomSelectionCorrect(e)){return}if(++this._loopbackCounter>60){return}if(this.selection.isSimilar(n)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire(\"selectionChange\",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class mh extends Qu{constructor(t){super(t);this.domEventType=[\"focus\",\"blur\"];this.useCapture=true;const e=this.document;e.on(\"focus\",()=>{e.isFocused=true;this._renderTimeoutId=setTimeout(()=>t.forceRender(),50)});e.on(\"blur\",(n,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;t.forceRender()}})}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class ph extends Qu{constructor(t){super(t);this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",()=>{e.isComposing=true});e.on(\"compositionend\",()=>{e.isComposing=false})}onDomEvent(t){this.fire(t.type,t)}}class bh extends Qu{constructor(t){super(t);this.domEventType=[\"beforeinput\"]}onDomEvent(t){this.fire(t.type,t)}}function wh(t){return Object.prototype.toString.apply(t)==\"[object Range]\"}function _h(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const kh=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class vh{constructor(t){const e=wh(t);Object.defineProperty(this,\"_source\",{value:t._source||t,writable:true,enumerable:false});if(Gs(t)||e){if(e){yh(this,vh.getDomRangeRects(t)[0])}else{yh(this,t.getBoundingClientRect())}}else if(Hd(t)){const{innerWidth:e,innerHeight:n}=t;yh(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{yh(this,t)}}clone(){return new vh(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{return new vh(e)}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!xh(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!xh(n)){const t=new vh(n);const i=e.getIntersection(t);if(i){if(i.getArea()<e.getArea()){e=i}}else{return null}n=n.parentNode}}return e}isEqual(t){for(const e of kh){if(this[e]!==t[e]){return false}}return true}contains(t){const e=this.getIntersection(t);return!!(e&&e.isEqual(t))}excludeScrollbarsAndBorders(){const t=this._source;let e,n,i;if(Hd(t)){e=t.innerWidth-t.document.documentElement.clientWidth;n=t.innerHeight-t.document.documentElement.clientHeight;i=t.getComputedStyle(t.document.documentElement).direction}else{const o=_h(this._source);e=t.offsetWidth-t.clientWidth-o.left-o.right;n=t.offsetHeight-t.clientHeight-o.top-o.bottom;i=t.ownerDocument.defaultView.getComputedStyle(t).direction;this.left+=o.left;this.top+=o.top;this.right-=o.right;this.bottom-=o.bottom;this.width=this.right-this.left;this.height=this.bottom-this.top}this.width-=e;if(i===\"ltr\"){this.right-=e}else{this.left+=e}this.height-=n;this.bottom-=n;return this}static getDomRangeRects(t){const e=[];const n=Array.from(t.getClientRects());if(n.length){for(const t of n){e.push(new vh(t))}}else{let n=t.startContainer;if(od(n)){n=n.parentNode}const i=new vh(n.getBoundingClientRect());i.right=i.left;i.width=0;e.push(i)}return e}}function yh(t,e){for(const n of kh){t[n]=e[n]}}function xh(t){if(!Gs(t)){return false}return t===t.ownerDocument.body}const Ah={};function Th({target:t,viewportOffset:e=0}){const n=Oh(t);let i=n;let o=null;while(i){let s;if(i==n){s=Rh(t)}else{s=Rh(o)}Ph(s,()=>Dh(t,i));const r=Dh(t,i);Sh(i,r,e);if(i.parent!=i){o=i.frameElement;i=i.parent;if(!o){return}}else{i=null}}}function Ch(t){const e=Rh(t);Ph(e,()=>new vh(t))}Object.assign(Ah,{scrollViewportToShowTarget:Th,scrollAncestorsToShowTarget:Ch});function Sh(t,e,n){const i=e.clone().moveBy(0,n);const o=e.clone().moveBy(0,-n);const s=new vh(t).excludeScrollbarsAndBorders();const r=[o,i];if(!r.every(t=>s.contains(t))){let{scrollX:r,scrollY:a}=t;if(Mh(o,s)){a-=s.top-e.top+n}else if(Eh(i,s)){a+=e.bottom-s.bottom+n}if(Ih(e,s)){r-=s.left-e.left+n}else if(Nh(e,s)){r+=e.right-s.right+n}t.scrollTo(r,a)}}function Ph(t,e){const n=Oh(t);let i,o;while(t!=n.document.body){o=e();i=new vh(t).excludeScrollbarsAndBorders();if(!i.contains(o)){if(Mh(o,i)){t.scrollTop-=i.top-o.top}else if(Eh(o,i)){t.scrollTop+=o.bottom-i.bottom}if(Ih(o,i)){t.scrollLeft-=i.left-o.left}else if(Nh(o,i)){t.scrollLeft+=o.right-i.right}}t=t.parentNode}}function Eh(t,e){return t.bottom>e.bottom}function Mh(t,e){return t.top<e.top}function Ih(t,e){return t.left<e.left}function Nh(t,e){return t.right>e.right}function Oh(t){if(wh(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Rh(t){if(wh(t)){let e=t.commonAncestorContainer;if(od(e)){e=e.parentNode}return e}else{return t.parentNode}}function Dh(t,e){const n=Oh(t);const i=new vh(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new vh(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}class Lh{constructor(t){this.document=new bl(t);this.domConverter=new zd(this.document);this.domRoots=new Map;this.set(\"isRenderingInProgress\",false);this.set(\"hasDomSelection\",false);this._renderer=new Ad(this.domConverter,this.document.selection);this._renderer.bind(\"isFocused\").to(this.document);this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this._writer=new $l(this.document);this.addObserver(Yu);this.addObserver(gh);this.addObserver(mh);this.addObserver(Ku);this.addObserver(hh);this.addObserver(ph);if(Cl.isAndroid){this.addObserver(bh)}hd(this);Fl(this);this.on(\"render\",()=>{this._render();this.document.fire(\"layoutChanged\");this._hasChangedSinceTheLastRendering=false});this.listenTo(this.document.selection,\"change\",()=>{this._hasChangedSinceTheLastRendering=true})}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e===\"class\"){this._writer.addClass(o.split(\" \"),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute(\"contenteditable\",!n.isReadOnly,n);if(n.isReadOnly){this._writer.addClass(\"ck-read-only\",n)}else{this._writer.removeClass(\"ck-read-only\",n)}};o();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync(\"children\",n);this._renderer.markToSync(\"attributes\",n);this._renderer.domDocuments.add(t.ownerDocument);n.on(\"change:children\",(t,e)=>this._renderer.markToSync(\"children\",e));n.on(\"change:attributes\",(t,e)=>this._renderer.markToSync(\"attributes\",e));n.on(\"change:text\",(t,e)=>this._renderer.markToSync(\"text\",e));n.on(\"change:isReadOnly\",()=>this.change(o));n.on(\"change\",()=>{this._hasChangedSinceTheLastRendering=true});for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:t})=>e.removeAttribute(t));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection(){const t=this.document.selection.getFirstRange();if(t){Th({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new rr[\"b\"](\"cannot-change-view-tree: \"+\"Attempting to make changes to the view when it is in an incorrect state: rendering or post-fixers are in progress. \"+\"This may cause some unexpected behavior and inconsistency between the DOM and the view.\",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire(\"render\")}return e}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.change(()=>{})}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change(()=>{})}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}yr(Lh,Kc);class zh{constructor(t){this.parent=null;this._attrs=Ur(t)}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}hasAttribute(t){return this._attrs.has(t)}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const t={};if(this._attrs.size){t.attributes=Array.from(this._attrs).reduce((t,e)=>{t[e[0]]=e[1];return t},{})}return t}is(t){return t===\"node\"||t===\"model:node\"}_clone(){return new zh(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Ur(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class Vh extends zh{constructor(t,e){super(e);this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return t===\"text\"||t===\"model:text\"||t===\"node\"||t===\"model:node\"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Vh(this.data,this.getAttributes())}static fromJSON(t){return new Vh(t.data,t.attributes)}}class jh{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return t===\"textProxy\"||t===\"model:textProxy\"}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Bh{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce((t,e)=>t+e.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new rr[\"b\"](\"model-nodelist-index-out-of-bounds: Given index cannot be found in the node list.\",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t<e+n.offsetSize){return this.getNodeIndex(n)}e+=n.offsetSize}if(e!=t){throw new rr[\"b\"](\"model-nodelist-offset-out-of-bounds: Given offset cannot be found in the node list.\",this,{offset:t,nodeList:this})}return this.length}_insertNodes(t,e){for(const t of e){if(!(t instanceof zh)){throw new rr[\"b\"](\"model-nodelist-insertNodes-not-node: Trying to insert an object which is not a Node instance.\",this)}}this._nodes.splice(t,0,...e)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map(t=>t.toJSON())}}class Fh extends zh{constructor(t,e,n){super(e);this.name=t;this._children=new Bh;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}is(t,e=null){if(!e){return t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"element\"||t===\"model:element\")}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map(t=>t._clone(true)):null;return new Fh(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Hh(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}}return new Fh(t.name,t.attributes,e)}}function Hh(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}class Uh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"model-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}const e=t.direction||\"forward\";if(e!=\"forward\"&&e!=\"backward\"){throw new rr[\"b\"](\"model-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=qh._createAt(this.boundaries[this.direction==\"backward\"?\"end\":\"start\"])}this.position.stickiness=\"toNone\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i;this._visitedParent=o}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Yh(e,i,o);if(s instanceof Fh){if(!this.shallow){e.path.push(0);this._visitedParent=s}else{e.offset++}this.position=e;return Wh(\"elementStart\",s,t,e,1)}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offset<t){t=this.boundaries.end.offset}i=t-e.offset}const o=e.offset-s.startOffset;const r=new jh(s,o,i);e.offset+=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();e.offset++;this.position=e;this._visitedParent=n.parent;if(this.ignoreElementEnd){return this._next()}else{return Wh(\"elementEnd\",n,t,e)}}}_previous(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===0){return{done:true}}if(n==this._boundaryStartParent&&e.offset==this.boundaries.start.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Gh(e,i,o);if(s instanceof Fh){e.offset--;if(!this.shallow){e.path.push(s.maxOffset);this.position=e;this._visitedParent=s;if(this.ignoreElementEnd){return this._previous()}else{return Wh(\"elementEnd\",s,t,e)}}else{this.position=e;return Wh(\"elementStart\",s,t,e,1)}}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.startOffset;if(this._boundaryStartParent==n&&this.boundaries.start.offset>t){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-s.startOffset;const r=new jh(s,o-i,i);e.offset-=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return Wh(\"elementStart\",n,t,e,1)}}}function Wh(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class qh{constructor(t,e,n=\"toNone\"){if(!t.is(\"element\")&&!t.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-root-invalid: Position root invalid.\",t)}if(!(e instanceof Array)||e.length===0){throw new rr[\"b\"](\"model-position-path-incorrect-format: Position path must be an array with at least one item.\",t,{path:e})}if(t.is(\"rootElement\")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e<this.path.length-1;e++){t=t.getChild(t.offsetToIndex(this.path[e]));if(!t){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}}if(t.is(\"text\")){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}return t}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return $h(this,this.parent)}get nodeAfter(){const t=this.parent;return Yh(this,t,$h(this,t))}get nodeBefore(){const t=this.parent;return Gh(this,t,$h(this,t))}get isAtStart(){return this.offset===0}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(t){if(this.root!=t.root){return\"different\"}const e=Dr(this.path,t.path);switch(e){case\"same\":return\"same\";case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return this.path[e]<t.path[e]?\"before\":\"after\"}}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Uh(e);n.skip(t);return n.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const t=this.parent;if(t.is(\"documentFragment\")){return[t]}else{return t.getAncestors({includeSelf:true})}}getCommonPath(t){if(this.root!=t.root){return[]}const e=Dr(this.path,t.path);const n=typeof e==\"string\"?Math.min(this.path.length,t.path.length):e;return this.path.slice(0,n)}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}getShiftedBy(t){const e=this.clone();const n=e.offset+t;e.offset=n<0?0:n;return e}isAfter(t){return this.compareWith(t)==\"after\"}isBefore(t){return this.compareWith(t)==\"before\"}isEqual(t){return this.compareWith(t)==\"same\"}isTouching(t){let e=null;let n=null;const i=this.compareWith(t);switch(i){case\"same\":return true;case\"before\":e=qh._createAt(this);n=qh._createAt(t);break;case\"after\":e=qh._createAt(t);n=qh._createAt(this);break;default:return false}let o=e.parent;while(e.path.length+n.path.length){if(e.isEqual(n)){return true}if(e.path.length>n.path.length){if(e.offset!==o.maxOffset){return false}e.path=e.path.slice(0,-1);o=o.parent;e.offset++}else{if(n.offset!==0){return false}n.path=n.path.slice(0,-1)}}}is(t){return t===\"position\"||t===\"model:position\"}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Dr(e,n)==\"same\"}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=qh._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness==\"toNext\";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=qh._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset){if(t.offset+e>this.offset){return null}else{n.offset-=e}}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset||t.offset==this.offset&&this.stickiness!=\"toPrevious\"){n.offset+=e}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){n.path[i]+=e}}return n}_getTransformedByMove(t,e,n){e=e._getTransformedByDeletion(t,n);if(t.isEqual(e)){return qh._createAt(this)}const i=this._getTransformedByDeletion(t,n);const o=i===null||t.isEqual(this)&&this.stickiness==\"toNext\"||t.getShiftedBy(n).isEqual(this)&&this.stickiness==\"toPrevious\";if(o){return this._getCombined(t,e)}else{return i._getTransformedByInsertion(e,n)}}_getCombined(t,e){const n=t.path.length-1;const i=qh._createAt(e);i.stickiness=this.stickiness;i.offset=i.offset+this.path[n]-t.offset;i.path=[...i.path,...this.path.slice(n+1)];return i}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(t,e,n=\"toNone\"){if(t instanceof qh){return new qh(t.root,t.path,t.stickiness)}else{const i=t;if(e==\"end\"){e=i.maxOffset}else if(e==\"before\"){return this._createBefore(i,n)}else if(e==\"after\"){return this._createAfter(i,n)}else if(e!==0&&!e){throw new rr[\"b\"](\"model-createPositionAt-offset-required: \"+\"Model#createPositionAt() requires the offset when the first parameter is a model item.\",[this,t])}if(!i.is(\"element\")&&!i.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-parent-incorrect: Position parent have to be a element or document fragment.\",[this,t])}const o=i.getPath();o.push(e);return new this(i.root,o,n)}}static _createAfter(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-after-root: You cannot make a position after root.\",[this,t],{root:t})}return this._createAt(t.parent,t.endOffset,e)}static _createBefore(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-before-root: You cannot make a position before root.\",t,{root:t})}return this._createAt(t.parent,t.startOffset,e)}static fromJSON(t,e){if(t.root===\"$graveyard\"){const n=new qh(e.graveyard,t.path);n.stickiness=t.stickiness;return n}if(!e.getRoot(t.root)){throw new rr[\"b\"](\"model-position-fromjson-no-root: Cannot create position for document. Root with specified name does not exist.\",e,{rootName:t.root})}return new qh(e.getRoot(t.root),t.path,t.stickiness)}}function $h(t,e){const n=e.getChild(e.offsetToIndex(t.offset));if(n&&n.is(\"text\")&&n.startOffset<t.offset){return n}return null}function Yh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset))}function Gh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset)-1)}class Qh{constructor(t,e=null){this.start=qh._createAt(t);this.end=e?qh._createAt(e):qh._createAt(t);this.start.stickiness=this.isCollapsed?\"toNone\":\"toNext\";this.end.stickiness=this.isCollapsed?\"toNone\":\"toPrevious\"}*[Symbol.iterator](){yield*new Uh({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Dr(t,e)==\"same\"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=qh._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}is(t){return t===\"range\"||t===\"model:range\"}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Qh(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Qh(t.end,this.end))}}else{e.push(new Qh(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Qh(e,n)}return null}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=qh._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new Qh(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new Qh(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Uh(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Uh(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Uh(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new Qh(this.start,this.end)]}getTransformedByOperations(t){const e=[new Qh(this.start,this.end)];for(const n of t){for(let t=0;t<e.length;t++){const i=e[t].getTransformedByOperation(n);e.splice(t,1,...i);t+=i.length-1}}for(let t=0;t<e.length;t++){const n=e[t];for(let i=t+1;i<e.length;i++){const t=e[i];if(n.containsRange(t)||t.containsRange(n)||n.isEqual(t)){e.splice(i,1)}}}return e}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}const t=this.start.nodeAfter;const e=this.end.nodeBefore;if(t&&t.is(\"element\")&&t===e){return t}return null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(t,e=false){return this._getTransformedByInsertion(t.position,t.howMany,e)}_getTransformedByMoveOperation(t,e=false){const n=t.sourcePosition;const i=t.howMany;const o=t.targetPosition;return this._getTransformedByMove(n,o,i,e)}_getTransformedBySplitOperation(t){const e=this.start._getTransformedBySplitOperation(t);let n=this.end._getTransformedBySplitOperation(t);if(this.end.isEqual(t.insertionPosition)){n=this.end.getShiftedBy(1)}if(e.root!=n.root){n=this.end.getShiftedBy(-1)}return new Qh(e,n)}_getTransformedByMergeOperation(t){if(this.start.isEqual(t.targetPosition)&&this.end.isEqual(t.deletionPosition)){return new Qh(this.start)}let e=this.start._getTransformedByMergeOperation(t);let n=this.end._getTransformedByMergeOperation(t);if(e.root!=n.root){n=this.end.getShiftedBy(-1)}if(e.isAfter(n)){if(t.sourcePosition.isBefore(t.targetPosition)){e=qh._createAt(n);e.offset=0}else{if(!t.deletionPosition.isEqual(e)){n=t.deletionPosition}e=t.targetPosition}return new Qh(e,n)}return new Qh(e,n)}_getTransformedByInsertion(t,e,n=false){if(n&&this.containsPosition(t)){return[new Qh(this.start,t),new Qh(t.getShiftedBy(e),this.end._getTransformedByInsertion(t,e))]}else{const n=new Qh(this.start,this.end);n.start=n.start._getTransformedByInsertion(t,e);n.end=n.end._getTransformedByInsertion(t,e);return[n]}}_getTransformedByMove(t,e,n,i=false){if(this.isCollapsed){const i=this.start._getTransformedByMove(t,e,n);return[new Qh(i)]}const o=Qh._createFromPositionAndShift(t,n);const s=e._getTransformedByDeletion(t,n);if(this.containsPosition(e)&&!i){if(o.containsPosition(this.start)||o.containsPosition(this.end)){const i=this.start._getTransformedByMove(t,e,n);const o=this.end._getTransformedByMove(t,e,n);return[new Qh(i,o)]}}let r;const a=this.getDifference(o);let c=null;const l=this.getIntersection(o);if(a.length==1){c=new Qh(a[0].start._getTransformedByDeletion(t,n),a[0].end._getTransformedByDeletion(t,n))}else if(a.length==2){c=new Qh(this.start,this.end._getTransformedByDeletion(t,n))}if(c){r=c._getTransformedByInsertion(s,n,l!==null||i)}else{r=[]}if(l){const t=new Qh(l.start._getCombined(o.start,s),l.end._getCombined(o.start,s));if(r.length==2){r.splice(1,0,t)}else{r.push(t)}}return r}_getTransformedByDeletion(t,e){let n=this.start._getTransformedByDeletion(t,e);let i=this.end._getTransformedByDeletion(t,e);if(n==null&&i==null){return null}if(n==null){n=t}if(i==null){i=t}return new Qh(n,i)}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return new this(qh._createAt(t,0),qh._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(qh._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new rr[\"b\"](\"range-create-from-ranges-empty-array: At least one range has to be passed.\",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort((t,e)=>t.start.isAfter(e.start)?1:-1);const n=t.indexOf(e);const i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=qh._createAt(t[e].start)}else{break}}}for(let e=n+1;e<t.length;e++){if(t[e].start.isEqual(i.end)){i.end=qh._createAt(t[e].end)}else{break}}return i}static fromJSON(t,e){return new this(qh.fromJSON(t.start,e),qh.fromJSON(t.end,e))}}class Kh{constructor(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._viewToModelLengthCallbacks=new Map;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this.on(\"modelToViewPosition\",(t,e)=>{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this._findPositionIn(n,e.modelPosition.offset)},{priority:\"low\"});this.on(\"viewToModelPosition\",(t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=qh._createAt(i,o)},{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);this._viewToModelMapping.delete(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(this._modelToViewMapping.get(e)==t){this._modelToViewMapping.delete(e)}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Qh(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new hl(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire(\"viewToModelPosition\",e);return e.modelPosition}toViewPosition(t,e={isPhantom:false}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire(\"modelToViewPosition\",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is(\"attributeElement\")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is(\"text\")){return e}let i=0;for(let n=0;n<e;n++){i+=this.getModelLength(t.getChild(n))}return i}getModelLength(t){if(this._viewToModelLengthCallbacks.get(t.name)){const e=this._viewToModelLengthCallbacks.get(t.name);return e(t)}else if(this._viewToModelMapping.has(t)){return 1}else if(t.is(\"text\")){return t.data.length}else if(t.is(\"uiElement\")){return 0}else{let e=0;for(const n of t.getChildren()){e+=this.getModelLength(n)}return e}}_findPositionIn(t,e){let n;let i=0;let o=0;let s=0;if(t.is(\"text\")){return new ul(t,e)}while(o<e){n=t.getChild(s);i=this.getModelLength(n);o+=i;s++}if(o==e){return this._moveViewPositionToTextNode(new ul(t,s))}else{return this._findPositionIn(n,e-(o-i))}}_moveViewPositionToTextNode(t){const e=t.nodeBefore;const n=t.nodeAfter;if(e instanceof Br){return new ul(e,e.data.length)}else if(n instanceof Br){return new ul(n,0)}return t}}yr(Kh,dr);class Jh{constructor(){this._consumable=new Map;this._textProxyRegistry=new Map}add(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(!this._consumable.has(t)){this._consumable.set(t,new Map)}this._consumable.get(t).set(e,true)}consume(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(this.test(t,e)){this._consumable.get(t).set(e,false);return true}else{return false}}test(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this._consumable.get(t);if(n===undefined){return null}const i=n.get(e);if(i===undefined){return null}return i}revert(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this.test(t,e);if(n===false){this._consumable.get(t).set(e,true);return true}else if(n===true){return false}return null}_getSymbolForTextProxy(t){let e=null;const n=this._textProxyRegistry.get(t.startOffset);if(n){const i=n.get(t.endOffset);if(i){e=i.get(t.parent)}}if(!e){e=this._addSymbolForTextProxy(t.startOffset,t.endOffset,t.parent)}return e}_addSymbolForTextProxy(t,e,n){const i=Symbol(\"textProxySymbol\");let o,s;o=this._textProxyRegistry.get(t);if(!o){o=new Map;this._textProxyRegistry.set(t,o)}s=o.get(e);if(!s){s=new Map;o.set(e,s)}s.set(n,i);return i}}function Zh(t){const e=t.split(\":\");return e.length>1?e[0]+\":\"+e[1]:e[0]}class Xh{constructor(t){this.conversionApi=qc({dispatcher:this},t)}convertChanges(t,e,n){for(const e of t.getMarkersToRemove()){this.convertMarkerRemove(e.name,e.range,n)}for(const e of t.getChanges()){if(e.type==\"insert\"){this.convertInsert(Qh._createFromPositionAndShift(e.position,e.length),n)}else if(e.type==\"remove\"){this.convertRemove(e.position,e.length,e.name,n)}else{this.convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n)}}for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const i=e.get(t).getRange();this.convertMarkerRemove(t,i,n);this.convertMarkerAdd(t,i,n)}for(const e of t.getMarkersToAdd()){this.convertMarkerAdd(e.name,e.range,n)}}convertInsert(t,e){this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of t){const t=e.item;const n=Qh._createFromPositionAndShift(e.previousPosition,e.length);const i={item:t,range:n};this._testAndFire(\"insert\",i);for(const e of t.getAttributeKeys()){i.attributeKey=e;i.attributeOldValue=null;i.attributeNewValue=t.getAttribute(e);this._testAndFire(`attribute:${e}`,i)}}this._clearConversionApi()}convertRemove(t,e,n,i){this.conversionApi.writer=i;this.fire(\"remove:\"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,i,o){this.conversionApi.writer=o;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const o of t){const t=o.item;const s=Qh._createFromPositionAndShift(o.previousPosition,o.length);const r={item:t,range:s,attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,r)}this._clearConversionApi()}convertSelection(t,e,n){const i=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,i);this.fire(\"selection\",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of i){const n=e.getRange();if(!tf(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const i={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,\"addMarker:\"+e.name)){this.fire(\"addMarker:\"+e.name,i,this.conversionApi)}}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};if(this.conversionApi.consumable.test(t,\"attribute:\"+n.attributeKey)){this.fire(\"attribute:\"+n.attributeKey+\":$text\",n,this.conversionApi)}}this._clearConversionApi()}convertMarkerAdd(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;const i=\"addMarker:\"+t;const o=new Jh;o.add(e,i);this.conversionApi.consumable=o;this.fire(i,{markerName:t,markerRange:e},this.conversionApi);if(!o.test(e,i)){return}this.conversionApi.consumable=this._createConsumableForRange(e,i);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,i)){continue}const o={item:n,range:Qh._createOn(n),markerName:t,markerRange:e};this.fire(i,o,this.conversionApi)}this._clearConversionApi()}convertMarkerRemove(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;this.fire(\"removeMarker:\"+t,{markerName:t,markerRange:e},this.conversionApi);this._clearConversionApi()}_createInsertConsumable(t){const e=new Jh;for(const n of t){const t=n.item;e.add(t,\"insert\");for(const n of t.getAttributeKeys()){e.add(t,\"attribute:\"+n)}}return e}_createConsumableForRange(t,e){const n=new Jh;for(const i of t.getItems()){n.add(i,e)}return n}_createSelectionConsumable(t,e){const n=new Jh;n.add(t,\"selection\");for(const i of e){n.add(t,\"addMarker:\"+i.name)}for(const e of t.getAttributeKeys()){n.add(t,\"attribute:\"+e)}return n}_testAndFire(t,e){if(!this.conversionApi.consumable.test(e.item,t)){return}const n=e.item.name||\"$text\";this.fire(t+\":\"+n,e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer;delete this.conversionApi.consumable}}yr(Xh,dr);function tf(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const s=o.some(t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty(\"addHighlight\")}});return!s}class ef{constructor(t,e,n){this._lastRangeBackward=false;this._ranges=[];this._attrs=new Map;if(t){this.setTo(t,e,n)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Qh(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Qh(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Qh(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(t===null){this._setRanges([])}else if(t instanceof ef){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges==\"function\"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof Qh){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof qh){this._setRanges([new Qh(t)])}else if(t instanceof zh){const i=!!n&&!!n.backward;let o;if(e==\"in\"){o=Qh._createIn(t)}else if(e==\"on\"){o=Qh._createOn(t)}else if(e!==undefined){o=new Qh(qh._createAt(t,e))}else{throw new rr[\"b\"](\"model-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",[this,t])}this._setRanges([o],i)}else if(vr(t)){this._setRanges(t,e&&!!e.backward)}else{throw new rr[\"b\"](\"model-selection-setTo-not-selectable: Cannot set the selection to the given place.\",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some(e=>{if(!(e instanceof Qh)){throw new rr[\"b\"](\"model-selection-set-ranges-not-range: \"+\"Selection range set to an object that is not an instance of model.Range.\",[this,t])}return this._ranges.every(t=>!t.isEqual(e))});if(t.length===this._ranges.length&&!n){return}this._removeAllRanges();for(const e of t){this._pushRange(e)}this._lastRangeBackward=!!e;this.fire(\"change:range\",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"model-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",[this,t])}const n=qh._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)==\"before\"){this._pushRange(new Qh(n,i));this._lastRangeBackward=true}else{this._pushRange(new Qh(i,n));this._lastRangeBackward=false}this.fire(\"change:range\",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}is(t){return t===\"selection\"||t===\"model:selection\"}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=sf(e.start,t);if(n&&rf(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type==\"elementEnd\"&&of(i,t,e)){yield i}}const i=sf(e.end,t);if(i&&!e.end.isTouching(qh._createAt(i,0))&&rf(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=qh._createAt(t,0);const n=qh._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Qh(t.start,t.end))}_checkRange(t){for(let e=0;e<this._ranges.length;e++){if(t.isIntersecting(this._ranges[e])){throw new rr[\"b\"](\"model-selection-range-intersects: Trying to add a range that intersects with another range in the selection.\",[this,t],{addedRange:t,intersectingRange:this._ranges[e]})}}}_removeAllRanges(){while(this._ranges.length>0){this._popRange()}}_popRange(){this._ranges.pop()}}yr(ef,dr);function nf(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function of(t,e,n){return nf(t,e)&&rf(t,n)}function sf(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let s=false;const r=o.find(t=>{if(s){return false}s=i.isLimit(t);return!s&&nf(t,e)});o.forEach(t=>e.add(t));return r}function rf(t,e){const n=af(t);if(!n){return true}const i=e.containsRange(Qh._createOn(n),true);return!i}function af(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class cf extends Qh{constructor(t,e){super(t,e);lf.call(this)}detach(){this.stopListening()}is(t){return t===\"liveRange\"||t===\"model:liveRange\"||t==\"range\"||t===\"model:range\"}toRange(){return new Qh(this.start,this.end)}static fromRange(t){return new cf(t.start,t.end)}}function lf(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}df.call(this,n)},{priority:\"low\"})}function df(t){const e=this.getTransformedByOperation(t);const n=Qh._createFromRanges(e);const i=!n.isEqual(this);const o=uf(this,t);let s=null;if(i){if(n.root.rootName==\"$graveyard\"){if(t.type==\"remove\"){s=t.sourcePosition}else{s=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire(\"change:range\",e,{deletionPosition:s})}else if(o){this.fire(\"change:content\",this.toRange(),{deletionPosition:s})}}function uf(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}yr(cf,dr);const hf=\"selection:\";class ff{constructor(t){this._selection=new gf(t);this._selection.delegate(\"change:range\").to(this);this._selection.delegate(\"change:attribute\").to(this);this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers();this._selection._updateAttributes(false)}is(t){return t===\"selection\"||t==\"model:selection\"||t==\"documentSelection\"||t==\"model:documentSelection\"}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return hf+t}static _isStoreAttributeKey(t){return t.startsWith(hf)}}yr(ff,dr);class gf extends ef{constructor(t){super();this.markers=new xr({idProperty:\"name\"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._fixGraveyardRangesData=[];this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this.listenTo(this._model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type==\"marker\"||n.type==\"rename\"||n.type==\"noop\"){return}while(this._fixGraveyardRangesData.length){const{liveRange:t,sourcePosition:e}=this._fixGraveyardRangesData.shift();this._fixGraveyardSelection(t,e)}if(this._hasChangedRange){this._hasChangedRange=false;this.fire(\"change:range\",{directChange:false})}},{priority:\"lowest\"});this.on(\"change:range\",()=>{for(const t of this.getRanges()){if(!this._document._validateSelectionRange(t)){throw new rr[\"b\"](\"document-selection-wrong-position: Range from document selection starts or ends at incorrect position.\",this,{range:t})}}});this.listenTo(this._model.markers,\"update\",()=>this._updateMarkers());this.listenTo(this._document,\"change\",(t,e)=>{pf(this._model,e)})}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t<this._ranges.length;t++){this._ranges[t].detach()}this.stopListening()}*getRanges(){if(this._ranges.length){yield*super.getRanges()}else{yield this._document._getDefaultRange()}}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(t,e,n){super.setTo(t,e,n);this._updateAttributes(true);this._updateMarkers()}setFocus(t,e){super.setFocus(t,e);this._updateAttributes(true);this._updateMarkers()}setAttribute(t,e){if(this._setAttribute(t,e)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}removeAttribute(t){if(this._removeAttribute(t)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}overrideGravity(){const t=nr();this._overriddenGravityRegister.add(t);if(this._overriddenGravityRegister.size===1){this._updateAttributes(true)}return t}restoreGravity(t){if(!this._overriddenGravityRegister.has(t)){throw new rr[\"b\"](\"document-selection-gravity-wrong-restore: Attempting to restore the selection gravity for an unknown UID.\",this,{uid:t})}this._overriddenGravityRegister.delete(t);if(!this.isGravityOverridden){this._updateAttributes(true)}}_popRange(){this._ranges.pop().detach()}_pushRange(t){const e=this._prepareRange(t);if(e){this._ranges.push(e)}}_prepareRange(t){this._checkRange(t);if(t.root==this._document.graveyard){return}const e=cf.fromRange(t);e.on(\"change:range\",(t,n,i)=>{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._fixGraveyardRangesData.push({liveRange:e,sourcePosition:i.deletionPosition})}});return e}_updateMarkers(){const t=[];let e=false;for(const e of this._model.markers){const n=e.getRange();for(const i of this.getRanges()){if(n.containsRange(i,!i.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire(\"change:marker\",{oldMarkers:n,directChange:false})}}_updateAttributes(t){const e=Ur(this._getSurroundingAttributes());const n=Ur(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e==\"low\"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire(\"change:attribute\",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?\"normal\":\"low\";if(i==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);return true}_removeAttribute(t,e=true){const n=e?\"normal\":\"low\";if(n==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,i]of t){const t=this._setAttribute(n,i,false);if(t){e.add(n)}}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(hf)){const n=e.substr(hf.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const i of t){if(i.item.is(\"element\")&&e.isObject(i.item)){break}if(i.type==\"text\"){n=i.item.getAttributes();break}}}else{const e=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=mf(e)}if(!n){n=mf(i)}if(!this.isGravityOverridden&&!n){let t=e;while(t&&!n){t=t.previousSibling;n=mf(t)}}if(!n){let t=i;while(t&&!n){t=t.nextSibling;n=mf(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t,e){const n=e.clone();const i=this._model.schema.getNearestSelectionRange(n);const o=this._ranges.indexOf(t);this._ranges.splice(o,1);t.detach();if(i&&!bf(i,this)){const t=this._prepareRange(i);this._ranges.splice(o,0,t)}}}function mf(t){if(t instanceof jh||t instanceof Vh){return t.getAttributes()}return null}function pf(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!=\"insert\"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,t=>{const e=Array.from(n.getAttributeKeys()).filter(t=>t.startsWith(hf));for(const i of e){t.removeAttribute(i,n)}})}}}function bf(t,e){return!e._ranges.every(e=>!t.isEqual(e))}class wf{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var _f=1,kf=4;function vf(t){return Hs(t,_f|kf)}var yf=vf;class xf extends wf{elementToElement(t){return this.add(Vf(t))}attributeToElement(t){return this.add(jf(t))}attributeToAttribute(t){return this.add(Bf(t))}markerToElement(t){return this.add(Ff(t))}markerToHighlight(t){return this.add(Hf(t))}}function Af(){return(t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\")){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const s=i.createText(e.item.data);i.insert(o,s)}}function Tf(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const s=n.mapper.toViewPosition(o,{isPhantom:true});const r=n.writer.createRange(i,s);const a=n.writer.remove(r.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function Cf(t,e){const n=t.createAttributeElement(\"span\",e.attributes);if(e.classes){n._addClass(e.classes)}if(e.priority){n._priority=e.priority}n._id=e.id;return n}function Sf(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=[];for(const t of i.getRanges()){const e=n.mapper.toViewRange(t);o.push(e)}n.writer.setSelection(o,{backward:i.isBackward})}}function Pf(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=n.writer;const s=i.getFirstPosition();const r=n.mapper.toViewPosition(s);const a=o.breakAttributes(r);o.setSelection(a)}}function Ef(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Mf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,i.writer);const s=t(n.attributeNewValue,i.writer);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const a=r.document.selection;if(n.item instanceof ef||n.item instanceof ff){r.wrap(a.getFirstRange(),s)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=r.unwrap(t,o)}if(n.attributeNewValue!==null&&s){r.wrap(t,s)}}}}function If(t){return(e,n,i)=>{const o=t(n.item,i.writer);if(!o){return}if(!i.consumable.consume(n.item,\"insert\")){return}const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,o);i.writer.insert(s,o)}}function Nf(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i.writer);n.isOpening=false;const s=t(n,i.writer);if(!o||!s){return}const r=n.markerRange;if(r.isCollapsed&&!i.consumable.consume(r,e.name)){return}for(const t of r){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(r.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!r.isCollapsed){c.insert(a.toViewPosition(r.end),s);i.mapper.bindElementToMarker(s,n.markerName)}e.stop()}}function Of(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Rf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,n);const s=t(n.attributeNewValue,n);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);const a=i.writer;if(!r){throw new rr[\"b\"](\"conversion-attribute-to-attribute-on-text: \"+\"Trying to convert text node's attribute with attribute-to-attribute converter.\",[n,i])}if(n.attributeOldValue!==null&&o){if(o.key==\"class\"){const t=Array.isArray(o.value)?o.value:[o.value];for(const e of t){a.removeClass(e,r)}}else if(o.key==\"style\"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,r)}}else{a.removeAttribute(o.key,r)}}if(n.attributeNewValue!==null&&s){if(s.key==\"class\"){const t=Array.isArray(s.value)?s.value:[s.value];for(const e of t){a.addClass(e,r)}}else if(s.key==\"style\"){const t=Object.keys(s.value);for(const e of t){a.setStyle(e,s.value[e],r)}}else{a.setAttribute(s.key,s.value,r)}}}}function Df(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof ef||n.item instanceof ff)&&!n.item.is(\"textProxy\")){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const s=i.writer;const r=Cf(s,o);const a=s.document.selection;if(n.item instanceof ef||n.item instanceof ff){s.wrap(a.getFirstRange(),r,a)}else{const t=i.mapper.toViewRange(n.range);const e=s.wrap(t,r);for(const t of e.getItems()){if(t.is(\"attributeElement\")&&t.isSimilar(r)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Lf(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Fh)){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const s=i.mapper.toViewElement(n.item);if(s&&s.getCustomProperty(\"addHighlight\")){i.consumable.consume(n.item,e.name);for(const t of Qh._createIn(n.item)){i.consumable.consume(t.item,e.name)}s.getCustomProperty(\"addHighlight\")(s,o,i.writer);i.mapper.bindElementToMarker(s,n.markerName)}}}function zf(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=Yf(t,n,i);if(!o){return}const s=Cf(i.writer,o);const r=i.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"attributeElement\")){i.writer.unwrap(i.writer.createRangeOn(t),s)}else{t.getCustomProperty(\"removeHighlight\")(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Vf(t){t=yf(t);t.view=Uf(t.view,\"container\");return e=>{e.on(\"insert:\"+t.model,If(t.view),{priority:t.converterPriority||\"normal\"})}}function jf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=Uf(t.view[e],\"attribute\")}}else{t.view=Uf(t.view,\"attribute\")}const i=qf(t);return e=>{e.on(n,Mf(i),{priority:t.converterPriority||\"normal\"})}}function Bf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=$f(t.view[e])}}else{t.view=$f(t.view)}const i=qf(t);return e=>{e.on(n,Rf(i),{priority:t.converterPriority||\"normal\"})}}function Ff(t){t=yf(t);t.view=Uf(t.view,\"ui\");return e=>{e.on(\"addMarker:\"+t.model,Nf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,Of(t.view),{priority:t.converterPriority||\"normal\"})}}function Hf(t){return e=>{e.on(\"addMarker:\"+t.model,Df(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"addMarker:\"+t.model,Lf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,zf(t.view),{priority:t.converterPriority||\"normal\"})}}function Uf(t,e){if(typeof t==\"function\"){return t}return(n,i)=>Wf(t,i,e)}function Wf(t,e,n){if(typeof t==\"string\"){t={name:t}}let i;const o=Object.assign({},t.attributes);if(n==\"container\"){i=e.createContainerElement(t.name,o)}else if(n==\"attribute\"){const n={priority:t.priority||_l.DEFAULT_PRIORITY};i=e.createAttributeElement(t.name,o,n)}else{i=e.createUIElement(t.name,o)}if(t.styles){const n=Object.keys(t.styles);for(const o of n){e.setStyle(o,t.styles[o],i)}}if(t.classes){const n=t.classes;if(typeof n==\"string\"){e.addClass(n,i)}else{for(const t of n){e.addClass(t,i)}}}return i}function qf(t){if(t.model.values){return(e,n)=>{const i=t.view[e];if(i){return i(e,n)}return null}}else{return t.view}}function $f(t){if(typeof t==\"string\"){return e=>({key:t,value:e})}else if(typeof t==\"object\"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function Yf(t,e,n){const i=typeof t==\"function\"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}class Gf extends wf{elementToElement(t){return this.add(Zf(t))}elementToAttribute(t){return this.add(Xf(t))}attributeToAttribute(t){return this.add(tg(t))}elementToMarker(t){return this.add(eg(t))}}function Qf(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function Kf(){return(t,e,n)=>{if(n.schema.checkChild(e.modelCursor,\"$text\")){if(n.consumable.consume(e.viewItem)){const t=n.writer.createText(e.viewItem.data);n.writer.insert(t,e.modelCursor);e.modelRange=Qh._createFromPositionAndShift(e.modelCursor,t.offsetSize);e.modelCursor=e.modelRange.end}}}}function Jf(t,e){return(n,i)=>{const o=i.newSelection;const s=new ef;const r=[];for(const t of o.getRanges()){r.push(e.toModelRange(t))}s.setTo(r,{backward:o.isBackward});if(!s.isEqual(t.document.selection)){t.change(t=>{t.setSelection(s)})}}}function Zf(t){t=yf(t);const e=ig(t);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"normal\"})}}function Xf(t){t=yf(t);rg(t);const e=ag(t,false);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"low\"})}}function tg(t){t=yf(t);let e=null;if(typeof t.view==\"string\"||t.view.key){e=sg(t)}rg(t,e);const n=ag(t,true);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}function eg(t){t=yf(t);dg(t);return Zf(t)}function ng(t){if(typeof t==\"string\"){return t}if(typeof t==\"object\"&&typeof t.name==\"string\"){return t.name}return null}function ig(t){const e=t.view?new Wr(t.view):null;return(n,i,o)=>{let s={};if(e){const t=e.match(i.viewItem);if(!t){return}s=t.match}s.name=true;const r=og(t.model,i.viewItem,o.writer);if(!r){return}if(!o.consumable.test(i.viewItem,s)){return}const a=o.splitToAllowedParent(r,i.modelCursor);if(!a){return}o.writer.insert(r,a.position);o.convertChildren(i.viewItem,o.writer.createPositionAt(r,0));o.consumable.consume(i.viewItem,s);const c=o.getSplitParts(r);i.modelRange=new Qh(o.writer.createPositionBefore(r),o.writer.createPositionAfter(c[c.length-1]));if(a.cursorParent){i.modelCursor=o.writer.createPositionAt(a.cursorParent,0)}else{i.modelCursor=i.modelRange.end}}}function og(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.createElement(t)}}function sg(t){if(typeof t.view==\"string\"){t.view={key:t.view}}const e=t.view.key;let n;if(e==\"class\"||e==\"style\"){const i=e==\"class\"?\"classes\":\"styles\";n={[i]:t.view.value}}else{const i=typeof t.view.value==\"undefined\"?/[\\s\\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function rg(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!=\"object\"?t.model:t.model.key;const o=typeof t.model!=\"object\"||typeof t.model.value==\"undefined\"?n:t.model.value;t.model={key:i,value:o}}function ag(t,e){const n=new Wr(t.view);return(i,o,s)=>{const r=n.match(o.viewItem);if(!r){return}const a=t.model.key;const c=typeof t.model.value==\"function\"?t.model.value(o.viewItem):t.model.value;if(c===null){return}if(cg(t.view,o.viewItem)){r.match.name=true}else{delete r.match.name}if(!s.consumable.test(o.viewItem,r.match)){return}if(!o.modelRange){o=Object.assign(o,s.convertChildren(o.viewItem,o.modelCursor))}const l=lg(o.modelRange,{key:a,value:c},e,s);if(l){s.consumable.consume(o.viewItem,r.match)}}}function cg(t,e){const n=typeof t==\"function\"?t(e):t;if(typeof n==\"object\"&&!ng(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function lg(t,e,n,i){let o=false;for(const s of Array.from(t.getItems({shallow:n}))){if(i.schema.checkAttribute(s,e.key)){i.writer.setAttribute(e.key,e.value,s);o=true}}return o}function dg(t){const e=t.model;t.model=(t,n)=>{const i=typeof e==\"string\"?e:e(t);return n.createElement(\"$marker\",{\"data-name\":i})}}class ug{constructor(t,e){this.model=t;this.view=new Lh(e);this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});const n=this.model.document;const i=n.selection;const o=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",()=>{this.view._disableRendering(true)},{priority:\"highest\"});this.listenTo(this.model,\"_afterChanges\",()=>{this.view._disableRendering(false)},{priority:\"lowest\"});this.listenTo(n,\"change\",()=>{this.view.change(t=>{this.downcastDispatcher.convertChanges(n.differ,o,t);this.downcastDispatcher.convertSelection(i,o,t)})},{priority:\"low\"});this.listenTo(this.view.document,\"selectionChange\",Jf(this.model,this.mapper));this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.downcastDispatcher.on(\"remove\",Tf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Ef(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Sf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Pf(),{priority:\"low\"});this.view.document.roots.bindTo(this.model.document.roots).using(t=>{if(t.rootName==\"$graveyard\"){return null}const e=new ll(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e})}destroy(){this.view.destroy();this.stopListening()}}yr(ug,Kc);class hg{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new rr[\"b\"](\"commandcollection-command-not-found: Command does not exist.\",this,{commandName:t})}n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class fg{constructor(){this._consumables=new Map}add(t,e){let n;if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true);return}if(!this._consumables.has(t)){n=new gg(t);this._consumables.set(t,n)}else{n=this._consumables.get(t)}n.add(e)}test(t,e){const n=this._consumables.get(t);if(n===undefined){return null}if(t.is(\"text\")||t.is(\"documentFragment\")){return n}return n.test(e)}consume(t,e){if(this.test(t,e)){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,false)}else{this._consumables.get(t).consume(e)}return true}return false}revert(t,e){const n=this._consumables.get(t);if(n!==undefined){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true)}else{n.revert(e)}}}static consumablesFromElement(t){const e={element:t,name:true,attributes:[],classes:[],styles:[]};const n=t.getAttributeKeys();for(const t of n){if(t==\"style\"||t==\"class\"){continue}e.attributes.push(t)}const i=t.getClassNames();for(const t of i){e.classes.push(t)}const o=t.getStyleNames();for(const t of o){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new fg(t)}if(t.is(\"text\")){e.add(t);return e}if(t.is(\"element\")){e.add(t,fg.consumablesFromElement(t))}if(t.is(\"documentFragment\")){e.add(t)}for(const n of t.getChildren()){e=fg.createFrom(n,e)}return e}}class gg{constructor(t){this.element=t;this._canConsumeName=null;this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._add(e,t[e])}}}test(t){if(t.name&&!this._canConsumeName){return this._canConsumeName}for(const e in this._consumables){if(e in t){const n=this._test(e,t[e]);if(n!==true){return n}}}return true}consume(t){if(t.name){this._canConsumeName=false}for(const e in this._consumables){if(e in t){this._consume(e,t[e])}}}revert(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._revert(e,t[e])}}}_add(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){throw new rr[\"b\"](\"viewconsumable-invalid-attribute: Classes and styles should be handled separately.\",this)}i.set(e,true);if(t===\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,true)}}}}_test(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";const n=this._test(t,[...this._consumables[t].keys()]);if(n!==true){return n}}else{const t=i.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}else{i.set(e,false);if(t==\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,false)}}}}}_revert(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}else{const t=i.get(e);if(t===false){i.set(e,true)}}}}}class mg{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate(\"checkChild\");this.decorate(\"checkAttribute\");this.on(\"checkAttribute\",(t,e)=>{e[0]=new pg(e[0])},{priority:\"highest\"});this.on(\"checkChild\",(t,e)=>{e[0]=new pg(e[0]);e[1]=this.getDefinition(e[1])},{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-register-item-twice: A single item cannot be registered twice in the schema.\",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-extend-missing-item: Cannot extend an item which was not registered yet.\",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t==\"string\"){e=t}else if(t.is&&(t.is(\"text\")||t.is(\"textProxy\"))){e=\"$text\"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);return!!(e&&e.isObject)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof qh){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-before: The node before the merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-after: The node after the merge position must be an element.\",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on(\"checkChild\",(e,[n,i])=>{if(!i){return}const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",(e,[n,i])=>{const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof qh){e=t.parent}else{const n=t instanceof Qh?[t]:Array.from(t.getRanges());e=n.reduce((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})},null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const i=[...n.getAncestors(),new Vh(\"\",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=Ig(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e=\"both\"){if(this.checkChild(t,\"$text\")){return new Qh(t)}let n,i;const o=t.getAncestors().reverse().find(t=>this.isLimit(t))||t.root;if(e==\"both\"||e==\"backward\"){n=new Uh({boundaries:Qh._createIn(o),startPosition:t,direction:\"backward\"})}if(e==\"both\"||e==\"forward\"){i=new Uh({boundaries:Qh._createIn(o),startPosition:t})}for(const t of Mg(n,i)){const e=t.walker==n?\"elementEnd\":\"elementStart\";const i=t.value;if(i.type==e&&this.isObject(i.item)){return Qh._createOn(i.item)}if(this.checkChild(i.nextPosition,\"$text\")){return new Qh(i.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t){if(n.is(\"text\")){Ng(this,n,e)}else{const t=Qh._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;Ng(this,n,e)}}}}createContext(t){return new pg(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=bg(e[i],i)}for(const e of n){wg(t,e)}for(const e of n){_g(t,e)}for(const e of n){kg(t,e);vg(t,e)}for(const e of n){yg(t,e);xg(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is(\"element\")){yield*this._getValidRangesForRange(Qh._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new Qh(n,i)}n=qh._createAfter(o)}i=qh._createAfter(o)}if(!n.isEqual(i)){yield new Qh(n,i)}}}yr(mg,Kc);class pg{constructor(t){if(t instanceof pg){return t}if(typeof t==\"string\"){t=[t]}else if(!Array.isArray(t)){t=t.getAncestors({includeSelf:true})}if(t[0]&&typeof t[0]!=\"string\"&&t[0].is(\"documentFragment\")){t.shift()}this._items=t.map(Eg)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new pg([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function bg(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};Ag(t,n);Tg(t,n,\"allowIn\");Tg(t,n,\"allowContentOf\");Tg(t,n,\"allowWhere\");Tg(t,n,\"allowAttributes\");Tg(t,n,\"allowAttributesOf\");Tg(t,n,\"inheritTypesFrom\");Cg(t,n);return n}function wg(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=Sg(t,n);i.forEach(t=>{t.allowIn.push(e)})}}delete t[e].allowContentOf}function _g(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function kg(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function vg(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter(t=>t.startsWith(\"is\"));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function yg(t,e){const n=t[e];const i=n.allowIn.filter(e=>t[e]);n.allowIn=Array.from(new Set(i))}function xg(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Ag(t,e){for(const n of t){const t=Object.keys(n).filter(t=>t.startsWith(\"is\"));for(const i of t){e[i]=n[i]}}}function Tg(t,e,n){for(const i of t){if(typeof i[n]==\"string\"){e[n].push(i[n])}else if(Array.isArray(i[n])){e[n].push(...i[n])}}}function Cg(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function Sg(t,e){const n=t[e];return Pg(t).filter(t=>t.allowIn.includes(n.name))}function Pg(t){return Object.keys(t).map(e=>t[e])}function Eg(t){if(typeof t==\"string\"){return{name:t,*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*Mg(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*Ig(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Ng(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class Og{constructor(t={}){this._splitParts=new Map;this._modelCursor=null;this.conversionApi=Object.assign({},t);this.conversionApi.convertItem=this._convertItem.bind(this);this.conversionApi.convertChildren=this._convertChildren.bind(this);this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t);this._modelCursor=Dg(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=fg.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=Rg(o,e)}this._modelCursor=null;this._splitParts.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is(\"element\")){this.fire(\"element:\"+t.name,n,this.conversionApi)}else if(t.is(\"text\")){this.fire(\"text\",n,this.conversionApi)}else{this.fire(\"documentFragment\",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Qh)){throw new rr[\"b\"](\"view-conversion-dispatcher-incorrect-result: Incorrect conversion result was dropped.\",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){const n=new Qh(e);let i=e;for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,i);if(t.modelRange instanceof Qh){n.end=t.modelRange.end;i=t.modelCursor}}return{modelRange:n,modelCursor:i}}_splitToAllowedParent(t,e){const n=this.conversionApi.schema.findAllowedParent(e,t);if(!n){return null}if(n===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(n)){return null}const i=this.conversionApi.writer.split(e,n);const o=[];for(const t of i.range.getWalker()){if(t.type==\"elementEnd\"){o.push(t.item)}else{const e=o.pop();const n=t.item;this._registerSplitPair(e,n)}}return{position:i.position,cursorParent:i.range.end.parent}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}yr(Og,dr);function Rg(t,e){const n=new Set;const i=new Map;const o=Qh._createIn(t).getItems();for(const t of o){if(t.name==\"$marker\"){n.add(t)}}for(const t of n){const n=t.getAttribute(\"data-name\");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new Qh(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function Dg(t,e){let n;for(const i of new pg(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.append(o,n)}n=qh._createAt(o,0)}return n}class Lg{constructor(t,e){this.model=t;this.stylesProcessor=e;this.processor;this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.upcastDispatcher=new Og({schema:t.schema});this.viewDocument=new bl(e);this._viewWriter=new $l(this.viewDocument);this.upcastDispatcher.on(\"text\",Kf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"element\",Qf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"documentFragment\",Qf(),{priority:\"lowest\"});this.decorate(\"init\");this.on(\"init\",()=>{this.fire(\"ready\")},{priority:\"lowest\"})}get(t){const{rootName:e=\"main\",trim:n=\"empty\"}=t||{};if(!this._checkIfRootsExists([e])){throw new rr[\"b\"](\"datacontroller-get-non-existent-root: Attempting to get data from a non-existing root.\",this)}const i=this.model.document.getRoot(e);if(n===\"empty\"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return\"\"}return this.stringify(i)}stringify(t){const e=this.toView(t);return this.processor.toData(e)}toView(t){const e=this.viewDocument;const n=this._viewWriter;this.mapper.clearBindings();const i=Qh._createIn(t);const o=new Wl(e);this.mapper.bindElements(t,o);this.downcastDispatcher.convertInsert(i,n);if(!t.is(\"documentFragment\")){const e=zg(t);for(const[t,i]of e){this.downcastDispatcher.convertMarkerAdd(t,i,n)}}return o}init(t){if(this.model.document.version){throw new rr[\"b\"](\"datacontroller-init-document-not-empty: Trying to set initial data to not empty document.\",this)}let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-init-non-existent-root: Attempting to init data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}});return Promise.resolve()}set(t){let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-set-non-existent-root: Attempting to set data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.remove(t.createRangeIn(i));t.insert(this.parse(e[n],i),i,0)}})}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRootNames().includes(e)){return false}}return true}}yr(Lg,Kc);function zg(t){const e=[];const n=t.root.document;if(!n){return[]}const i=Qh._createIn(t);for(const t of n.model.markers){const n=i.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class Vg{constructor(t,e){this._helpers=new Map;this._downcast=Array.isArray(t)?t:[t];this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:true});this._upcast=Array.isArray(e)?e:[e];this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const i=this._upcast.includes(e);if(!i&&!n){throw new rr[\"b\"](\"conversion-add-alias-dispatcher-not-registered: \"+\"Trying to register and alias for a dispatcher that nas not been registered.\",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new rr[\"b\"](\"conversion-for-unknown-group: Trying to add a converter to an unknown dispatchers group.\",this)}return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new rr[\"b\"](\"conversion-group-exists: Trying to register a group name that has already been registered.\",this)}const i=n?new xf(e):new Gf(e);this._helpers.set(t,i)}}function*jg(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*Bg(n,i,o)}}else{yield*Bg(t.model,t.view,t.upcastAlso)}}function*Bg(t,e,n){yield{model:t,view:e};if(n){n=Array.isArray(n)?n:[n];for(const e of n){yield{model:t,view:e}}}}class Fg{constructor(t=\"default\"){this.operations=[];this.type=t}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class Hg{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return\"Operation\"}static fromJSON(t){return new this(t.baseVersion)}}class Ug{constructor(t){this.markers=new Map;this._children=new Bh;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"model:documentFragment\"}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}return new Ug(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Wg(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}function Wg(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}function qg(t,e){e=Qg(e);const n=e.reduce((t,e)=>t+e.offsetSize,0);const i=t.parent;Jg(t);const o=t.index;i._insertChild(o,e);Kg(i,o+e.length);Kg(i,o);return new Qh(t,t.getShiftedBy(n))}function $g(t){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-remove-range-not-flat: \"+\"Trying to remove a range which starts and ends in different element.\",this)}const e=t.start.parent;Jg(t.start);Jg(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);Kg(e,t.start.index);return n}function Yg(t,e){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-move-range-not-flat: \"+\"Trying to move a range which starts and ends in different element.\",this)}const n=$g(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return qg(e,n)}function Gg(t,e,n){Jg(t.start);Jg(t.end);for(const i of t.getItems({shallow:true})){const t=i.is(\"textProxy\")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}Kg(t.parent,t.index)}Kg(t.end.parent,t.end.index)}function Qg(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;n<t.length;n++){if(typeof t[n]==\"string\"){e.push(new Vh(t[n]))}else if(t[n]instanceof jh){e.push(new Vh(t[n].data,t[n].getAttributes()))}else if(t[n]instanceof Ug||t[n]instanceof Bh){for(const i of t[n]){e.push(i)}}else if(t[n]instanceof zh){e.push(t[n])}}for(let t=1;t<e.length;t++){const n=e[t];const i=e[t-1];if(n instanceof Vh&&i instanceof Vh&&Zg(n,i)){e.splice(t-1,2,new Vh(i.data+n.data,i.getAttributes()));t--}}return e}function Kg(t,e){const n=t.getChild(e-1);const i=t.getChild(e);if(n&&i&&n.is(\"text\")&&i.is(\"text\")&&Zg(n,i)){const o=new Vh(n.data+i.data,n.getAttributes());t._removeChildren(e-1,2);t._insertChild(e-1,o)}}function Jg(t){const e=t.textNode;const n=t.parent;if(e){const i=t.offset-e.startOffset;const o=e.index;n._removeChildren(o,1);const s=new Vh(e.data.substr(0,i),e.getAttributes());const r=new Vh(e.data.substr(i),e.getAttributes());n._insertChild(o,[s,r])}}function Zg(t,e){const n=t.getAttributes();const i=e.getAttributes();for(const t of n){if(t[1]!==e.getAttribute(t[0])){return false}i.next()}return i.next().done}function Xg(t,e){return Wu(t,e)}var tm=Xg;class em extends Hg{constructor(t,e,n,i,o){super(o);this.range=t.clone();this.key=e;this.oldValue=n===undefined?null:n;this.newValue=i===undefined?null:i}get type(){if(this.oldValue===null){return\"addAttribute\"}else if(this.newValue===null){return\"removeAttribute\"}else{return\"changeAttribute\"}}clone(){return new em(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new em(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const t=super.toJSON();t.range=this.range.toJSON();return t}_validate(){if(!this.range.isFlat){throw new rr[\"b\"](\"attribute-operation-range-not-flat: The range to change is not flat.\",this)}for(const t of this.range.getItems({shallow:true})){if(this.oldValue!==null&&!tm(t.getAttribute(this.key),this.oldValue)){throw new rr[\"b\"](\"attribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{item:t,key:this.key,value:this.oldValue})}if(this.oldValue===null&&this.newValue!==null&&t.hasAttribute(this.key)){throw new rr[\"b\"](\"attribute-operation-attribute-exists: The attribute with given key already exists.\",this,{node:t,key:this.key})}}}_execute(){if(!tm(this.oldValue,this.newValue)){Gg(this.range,this.key,this.newValue)}}static get className(){return\"AttributeOperation\"}static fromJSON(t,e){return new em(Qh.fromJSON(t.range,e),t.key,t.oldValue,t.newValue,t.baseVersion)}}class nm extends Hg{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return\"detach\"}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new rr[\"b\"](\"detach-operation-on-document-node: Cannot detach document node.\",this)}}_execute(){$g(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return\"DetachOperation\"}}class im extends Hg{constructor(t,e,n,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toNext\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNone\"}get type(){if(this.targetPosition.root.rootName==\"$graveyard\"){return\"remove\"}else if(this.sourcePosition.root.rootName==\"$graveyard\"){return\"reinsert\"}return\"move\"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const t=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,t,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;const n=this.sourcePosition.offset;const i=this.targetPosition.offset;if(n+this.howMany>t.maxOffset){throw new rr[\"b\"](\"move-operation-nodes-do-not-exist: The nodes which should be moved do not exist.\",this)}else if(t===e&&n<i&&i<n+this.howMany){throw new rr[\"b\"](\"move-operation-range-into-itself: Trying to move a range of nodes to the inside of that range.\",this)}else if(this.sourcePosition.root==this.targetPosition.root){if(Dr(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())==\"prefix\"){const t=this.sourcePosition.path.length-1;if(this.targetPosition.path[t]>=n&&this.targetPosition.path[t]<n+this.howMany){throw new rr[\"b\"](\"move-operation-node-into-itself: Trying to move a range of nodes into one of nodes from that range.\",this)}}}}_execute(){Yg(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();t.targetPosition=this.targetPosition.toJSON();return t}static get className(){return\"MoveOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);return new this(n,t.howMany,i,t.baseVersion)}}class om extends Hg{constructor(t,e,n){super(n);this.position=t.clone();this.position.stickiness=\"toNone\";this.nodes=new Bh(Qg(e));this.shouldReceiveAttributes=false}get type(){return\"insert\"}get howMany(){return this.nodes.maxOffset}clone(){const t=new Bh([...this.nodes].map(t=>t._clone(true)));const e=new om(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new qh(t,[0]);return new im(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffset<this.position.offset){throw new rr[\"b\"](\"insert-operation-position-invalid: Insertion position is invalid.\",this)}}_execute(){const t=this.nodes;this.nodes=new Bh([...t].map(t=>t._clone(true)));qg(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Fh.fromJSON(e))}else{n.push(Vh.fromJSON(e))}}const i=new om(qh.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class sm extends Hg{constructor(t,e,n,i,o,s){super(s);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=o;this._markers=i}get type(){return\"marker\"}clone(){return new sm(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new sm(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?\"_set\":\"_remove\";this._markers[t](this.name,this.newRange,true,this.affectsData)}toJSON(){const t=super.toJSON();if(this.oldRange){t.oldRange=this.oldRange.toJSON()}if(this.newRange){t.newRange=this.newRange.toJSON()}delete t._markers;return t}static get className(){return\"MarkerOperation\"}static fromJSON(t,e){return new sm(t.name,t.oldRange?Qh.fromJSON(t.oldRange,e):null,t.newRange?Qh.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class rm extends Hg{constructor(t,e,n,i){super(i);this.position=t;this.position.stickiness=\"toNext\";this.oldName=e;this.newName=n}get type(){return\"rename\"}clone(){return new rm(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new rm(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Fh)){throw new rr[\"b\"](\"rename-operation-wrong-position: Given position is invalid or node after it is not an instance of Element.\",this)}else if(t.name!==this.oldName){throw new rr[\"b\"](\"rename-operation-wrong-name: Element to change has different name than operation's old name.\",this)}}_execute(){const t=this.position.nodeAfter;t.name=this.newName}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();return t}static get className(){return\"RenameOperation\"}static fromJSON(t,e){return new rm(qh.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class am extends Hg{constructor(t,e,n,i,o){super(o);this.root=t;this.key=e;this.oldValue=n;this.newValue=i}get type(){if(this.oldValue===null){return\"addRootAttribute\"}else if(this.newValue===null){return\"removeRootAttribute\"}else{return\"changeRootAttribute\"}}clone(){return new am(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new am(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is(\"documentFragment\")){throw new rr[\"b\"](\"rootattribute-operation-not-a-root: The element to change is not a root element.\",this,{root:this.root,key:this.key})}if(this.oldValue!==null&&this.root.getAttribute(this.key)!==this.oldValue){throw new rr[\"b\"](\"rootattribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{root:this.root,key:this.key})}if(this.oldValue===null&&this.newValue!==null&&this.root.hasAttribute(this.key)){throw new rr[\"b\"](\"rootattribute-operation-attribute-exists: The attribute with given key already exists.\",this,{root:this.root,key:this.key})}}_execute(){if(this.newValue!==null){this.root._setAttribute(this.key,this.newValue)}else{this.root._removeAttribute(this.key)}}toJSON(){const t=super.toJSON();t.root=this.root.toJSON();return t}static get className(){return\"RootAttributeOperation\"}static fromJSON(t,e){if(!e.getRoot(t.root)){throw new rr[\"b\"](\"rootattribute-operation-fromjson-no-root: Cannot create RootAttributeOperation. Root with specified name does not exist.\",this,{rootName:t.root})}return new am(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class cm extends Hg{constructor(t,e,n,i,o){super(o);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toPrevious\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNext\";this.graveyardPosition=i.clone()}get type(){return\"merge\"}get deletionPosition(){return new qh(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this);const e=this.sourcePosition.path.slice(0,-1);const n=new qh(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);const i=new lm(t,this.howMany,this.graveyardPosition,this.baseVersion+1);i.insertionPosition=n;return i}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new rr[\"b\"](\"merge-operation-source-position-invalid: Merge source position is invalid.\",this)}else if(!e.parent){throw new rr[\"b\"](\"merge-operation-target-position-invalid: Merge target position is invalid.\",this)}else if(this.howMany!=t.maxOffset){throw new rr[\"b\"](\"merge-operation-how-many-invalid: Merge operation specifies wrong number of nodes to move.\",this)}}_execute(){const t=this.sourcePosition.parent;const e=Qh._createIn(t);Yg(e,this.targetPosition);Yg(Qh._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=t.sourcePosition.toJSON();t.targetPosition=t.targetPosition.toJSON();t.graveyardPosition=t.graveyardPosition.toJSON();return t}static get className(){return\"MergeOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);const o=qh.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,i,o,t.baseVersion)}}class lm extends Hg{constructor(t,e,n,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness=\"toNext\";this.howMany=e;this.insertionPosition=lm.getInsertionPosition(t);this.insertionPosition.stickiness=\"toNone\";this.graveyardPosition=n?n.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness=\"toNext\"}}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new qh(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.splitPosition,t)}clone(){const t=new this.constructor(this.splitPosition,this.howMany,this.graveyardPosition,this.baseVersion);t.insertionPosition=this.insertionPosition;return t}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new qh(t,[0]);return new cm(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset<e){throw new rr[\"b\"](\"split-operation-position-invalid: Split position is invalid.\",this)}else if(!t.parent){throw new rr[\"b\"](\"split-operation-split-in-root: Cannot split root element.\",this)}else if(this.howMany!=t.maxOffset-this.splitPosition.offset){throw new rr[\"b\"](\"split-operation-how-many-invalid: Split operation specifies wrong number of nodes to move.\",this)}else if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter){throw new rr[\"b\"](\"split-operation-graveyard-position-invalid: Graveyard position invalid.\",this)}}_execute(){const t=this.splitPosition.parent;if(this.graveyardPosition){Yg(Qh._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition)}else{const e=t._clone();qg(this.insertionPosition,e)}const e=new Qh(qh._createAt(t,this.splitPosition.offset),qh._createAt(t,t.maxOffset));Yg(e,this.moveTargetPosition)}toJSON(){const t=super.toJSON();t.splitPosition=this.splitPosition.toJSON();t.insertionPosition=this.insertionPosition.toJSON();if(this.graveyardPosition){t.graveyardPosition=this.graveyardPosition.toJSON()}return t}static get className(){return\"SplitOperation\"}static getInsertionPosition(t){const e=t.path.slice(0,-1);e[e.length-1]++;return new qh(t.root,e)}static fromJSON(t,e){const n=qh.fromJSON(t.splitPosition,e);const i=qh.fromJSON(t.insertionPosition,e);const o=t.graveyardPosition?qh.fromJSON(t.graveyardPosition,e):null;const s=new this(n,t.howMany,o,t.baseVersion);s.insertionPosition=i;return s}}class dm extends Fh{constructor(t,e,n=\"main\"){super(e);this._document=t;this.rootName=n}get document(){return this._document}is(t,e){if(!e){return t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\")}toJSON(){return this.rootName}}class um{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Vh(t,e)}createElement(t,e){return new Fh(t,e)}createDocumentFragment(){return new Ug}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Vh&&t.data==\"\"){return}const i=qh._createAt(e,n);if(t.parent){if(pm(t.root,i.root)){this.move(Qh._createOn(t),i);return}else{if(t.root.document){throw new rr[\"b\"](\"model-writer-insert-forbidden-move: \"+\"Cannot move a node from a document to a different tree. \"+\"It is forbidden to move a node that was already in a document outside of it.\",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const s=new om(i,t,o);if(t instanceof Vh){s.shouldReceiveAttributes=true}this.batch.addOperation(s);this.model.applyOperation(s);if(t instanceof Ug){for(const[e,n]of t.markers){const t=qh._createAt(n.root,0);const o=new Qh(n.start._getCombined(t,i),n.end._getCombined(t,i));const s={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,s)}else{this.addMarker(e,s)}}}}insertText(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,\"end\")}appendText(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createText(t),e,\"end\")}else{this.insert(this.createText(t,e),n,\"end\")}}appendElement(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createElement(t),e,\"end\")}else{this.insert(this.createElement(t,e),n,\"end\")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Qh){const i=n.getMinimalFlatRanges();for(const n of i){hm(this,t,e,n)}}else{fm(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of Ur(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Qh){const n=e.getMinimalFlatRanges();for(const e of n){hm(this,t,null,e)}}else{fm(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Qh)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Qh)){throw new rr[\"b\"](\"writer-move-invalid-range: Invalid range to move.\",this)}if(!t.isFlat){throw new rr[\"b\"](\"writer-move-range-not-flat: Range to move is not flat.\",this)}const i=qh._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers(\"move\",t);if(!pm(t.root,i.root)){throw new rr[\"b\"](\"writer-move-different-document: Range is going to be moved between different documents.\",this)}const o=t.root.document?t.root.document.version:null;const s=new im(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(s);this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Qh?t:Qh._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers(\"move\",t);mm(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers(\"merge\",t);if(!(e instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-before: Node before merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-after: Node after merge position must be an element.\",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Qh._createIn(n),qh._createAt(e,\"end\"));this.remove(n)}_merge(t){const e=qh._createAt(t.nodeBefore,\"end\");const n=qh._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new qh(i,[0]);const s=t.root.document.version;const r=new cm(n,t.nodeAfter.maxOffset,e,o,s);this.batch.addOperation(r);this.model.applyOperation(r)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Fh)){throw new rr[\"b\"](\"writer-rename-not-element-instance: Trying to rename an object which is not an instance of Element.\",this)}const n=t.root.document?t.root.document.version:null;const i=new rm(qh._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new rr[\"b\"](\"writer-split-element-no-parent: Element with no parent can not be split.\",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new rr[\"b\"](\"writer-split-invalid-limit-element: Limit element is not a position ancestor.\",this)}let i,o;do{const e=n.root.document?n.root.document.version:null;const s=n.maxOffset-t.offset;const r=new lm(t,s,null,e);this.batch.addOperation(r);this.model.applyOperation(r);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Qh(qh._createAt(i,\"end\"),qh._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new rr[\"b\"](\"writer-wrap-range-not-flat: Range to wrap is not flat.\",this)}const n=e instanceof Fh?e:new Fh(e);if(n.childCount>0){throw new rr[\"b\"](\"writer-wrap-element-not-empty: Element to wrap with is not empty.\",this)}if(n.parent!==null){throw new rr[\"b\"](\"writer-wrap-element-attached: Element to wrap with is already attached to tree model.\",this)}this.insert(n,t.start);const i=new Qh(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,qh._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new rr[\"b\"](\"writer-unwrap-element-no-parent: Trying to unwrap an element which has no parent.\",this)}this.move(Qh._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!=\"boolean\"){throw new rr[\"b\"](\"writer-addMarker-no-usingOperation: The options.usingOperation parameter is required when adding a new marker.\",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new rr[\"b\"](\"writer-addMarker-marker-exists: Marker with provided name already exists.\",this)}if(!i){throw new rr[\"b\"](\"writer-addMarker-no-range: Range parameter is required when adding a new marker.\",this)}if(!n){return this.model.markers._set(t,i,n,o)}gm(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t==\"string\"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new rr[\"b\"](\"writer-updateMarker-marker-not-exists: Marker with provided name does not exists.\",this)}if(!e){this.model.markers._refresh(i);return}const o=typeof e.usingOperation==\"boolean\";const s=typeof e.affectsData==\"boolean\";const r=s?e.affectsData:i.affectsData;if(!o&&!e.range&&!s){throw new rr[\"b\"](\"writer-updateMarker-wrong-options: One of the options is required - provide range, usingOperations or affectsData.\",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){gm(this,n,null,c,r)}else{gm(this,n,a,null,r);this.model.markers._set(n,c,undefined,r)}return}if(i.managedUsingOperations){gm(this,n,a,c,r)}else{this.model.markers._set(n,c,undefined,r)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?t:t.name;if(!this.model.markers.has(e)){throw new rr[\"b\"](\"writer-removeMarker-no-marker: Trying to remove marker which does not exist.\",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();gm(this,e,i,null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of Ur(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=ff._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=ff._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new rr[\"b\"](\"writer-incorrect-use: Trying to use a writer outside the change() block.\",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t===\"move\"){o=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const s=i.start.parent==t&&i.start.isAtEnd;const r=i.end.parent==n&&i.end.offset==0;const a=i.end.nodeAfter==n;const c=i.start.nodeAfter==n;o=s||r||a||c}if(o){this.updateMarker(n.name,{range:i})}}}}function hm(t,e,n,i){const o=t.model;const s=o.document;let r=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}r=a}a=t.nextPosition;c=l}if(a instanceof qh&&a!=r&&c!=n){d()}function d(){const i=new Qh(r,a);const l=i.root.document?s.version:null;const d=new em(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function fm(t,e,n,i){const o=t.model;const s=o.document;const r=i.getAttribute(e);let a,c;if(r!=n){const l=i.root===i;if(l){const t=i.document?s.version:null;c=new am(i,e,r,n,t)}else{a=new Qh(qh._createBefore(i),t.createPositionAfter(i));const o=a.root.document?s.version:null;c=new em(a,e,r,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function gm(t,e,n,i,o){const s=t.model;const r=s.document;const a=new sm(e,n,i,s.markers,o,r.version);t.batch.addOperation(a);s.applyOperation(a)}function mm(t,e,n,i){let o;if(t.root.document){const n=i.document;const s=new qh(n.graveyard,[0]);o=new im(t,e,s,n.version)}else{o=new nm(t,e)}n.addOperation(o);i.applyOperation(o)}function pm(t,e){if(t===e){return true}if(t instanceof dm&&e instanceof dm){return true}return false}class bm{constructor(t){this._markerCollection=t;this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0}refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=Qh._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case\"insert\":{if(this._isInInsertedElement(t.position.parent)){return}this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break}case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":{for(const e of t.range.getItems({shallow:true})){if(this._isInInsertedElement(e.parent)){continue}this._markAttribute(e)}break}case\"remove\":case\"move\":case\"reinsert\":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)){return}const e=this._isInInsertedElement(t.sourcePosition.parent);const n=this._isInInsertedElement(t.targetPosition.parent);if(!e){this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany)}if(!n){this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany)}break}case\"rename\":{if(this._isInInsertedElement(t.position.parent)){return}this._markRemove(t.position.parent,t.position.offset,1);this._markInsert(t.position.parent,t.position.offset,1);const e=Qh._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case\"split\":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany)}if(!this._isInInsertedElement(t.insertionPosition.parent)){this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1)}if(t.graveyardPosition){this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1)}break}case\"merge\":{const e=t.sourcePosition.parent;if(!this._isInInsertedElement(e.parent)){this._markRemove(e.parent,e.startOffset,1)}const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const i=t.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,i){const o=this._changedMarkers.get(t);if(!o){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:i})}else{o.newRange=n;o.affectsData=i;if(o.oldRange==null&&o.newRange==null){this._changedMarkers.delete(t)}}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldRange!=null){t.push({name:e,range:n.oldRange})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newRange!=null){t.push({name:e,range:n.newRange})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}}))}hasDataChanges(){for(const[,t]of this._changedMarkers){if(t.affectsData){return true}}return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:false}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}const e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type==\"remove\"?-1:1}return 0}return t.offset<e.offset?-1:1});const i=this._elementSnapshots.get(t);const o=wm(t.getChildren());const s=_m(i.length,n);let r=0;let a=0;for(const n of s){if(n===\"i\"){e.push(this._getInsertDiff(t,r,o[r].name));r++}else if(n===\"r\"){e.push(this._getRemoveDiff(t,r,i[a].name));a++}else if(n===\"a\"){const n=o[r].attributes;const s=i[a].attributes;let c;if(o[r].name==\"$text\"){c=new Qh(qh._createAt(t,r),qh._createAt(t,r+1))}else{const e=t.offsetToIndex(r);c=new Qh(qh._createAt(t,r),qh._createAt(t.getChild(e),0))}e.push(...this._getAttributesDiff(c,s,n));r++;a++}else{r++;a++}}}e.sort((t,e)=>{if(t.position.root!=e.position.root){return t.position.root.rootName<e.position.root.rootName?-1:1}if(t.position.isEqual(e.position)){return t.changeCount-e.changeCount}return t.position.isBefore(e.position)?-1:1});for(let t=1;t<e.length;t++){const n=e[t-1];const i=e[t];const o=n.type==\"remove\"&&i.type==\"remove\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.isEqual(i.position);const s=n.type==\"insert\"&&i.type==\"insert\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.parent==i.position.parent&&n.position.offset+n.length==i.position.offset;const r=n.type==\"attribute\"&&i.type==\"attribute\"&&n.position.parent==i.position.parent&&n.range.isFlat&&i.range.isFlat&&n.position.offset+n.length==i.position.offset&&n.attributeKey==i.attributeKey&&n.attributeOldValue==i.attributeOldValue&&n.attributeNewValue==i.attributeNewValue;if(o||s||r){e[t-1].length++;if(r){e[t-1].range.end=e[t-1].range.end.getShiftedBy(1)}e.splice(t,1);t--}}for(const t of e){delete t.changeCount;if(t.type==\"attribute\"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e.slice();this._cachedChanges=e.slice().filter(km);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard}else{return this._cachedChanges}}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._cachedChanges=null}_markInsert(t,e,n){const i={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){const i={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;t<n.length;t++){if(n[t].howMany<1){n.splice(t,1);t--}}}_getChangesForElement(t){let e;if(this._changesInElement.has(t)){e=this._changesInElement.get(t)}else{e=[];this._changesInElement.set(t,e)}return e}_makeSnapshot(t){if(!this._elementSnapshots.has(t)){this._elementSnapshots.set(t,wm(t.getChildren()))}}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany;const o=n.offset+n.howMany;if(t.type==\"insert\"){if(n.type==\"insert\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){n.howMany+=t.nodesToHandle;t.nodesToHandle=0}}if(n.type==\"remove\"){if(t.offset<n.offset){n.offset+=t.howMany}}if(n.type==\"attribute\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){const o=n.howMany;n.howMany=t.offset-n.offset;e.unshift({type:\"attribute\",offset:i,howMany:o-n.howMany,count:this._changeCount++})}}}if(t.type==\"remove\"){if(n.type==\"insert\"){if(i<=n.offset){n.offset-=t.howMany}else if(i<=o){if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e;t.nodesToHandle-=e}else{n.howMany-=t.nodesToHandle;t.nodesToHandle=0}}else{if(t.offset<=n.offset){t.nodesToHandle-=n.howMany;n.howMany=0}else if(t.offset<o){const e=o-t.offset;n.howMany-=e;t.nodesToHandle-=e}}}if(n.type==\"remove\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){t.nodesToHandle+=n.howMany;n.howMany=0}}if(n.type==\"attribute\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e}else if(t.offset<o){if(i<=o){const i=n.howMany;n.howMany=t.offset-n.offset;const o=i-n.howMany-t.nodesToHandle;e.unshift({type:\"attribute\",offset:t.offset,howMany:o,count:this._changeCount++})}else{n.howMany-=o-t.offset}}}}if(t.type==\"attribute\"){if(n.type==\"insert\"){if(t.offset<n.offset&&i>n.offset){if(i>o){const t={type:\"attribute\",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offset<o){if(i>o){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type==\"remove\"){if(t.offset<n.offset&&i>n.offset){const o={type:\"attribute\",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type==\"attribute\"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,s]of e){const e=n.has(o)?n.get(o):null;if(e!==s){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:s,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type==\"insert\"&&i>=t.offset&&i<t.offset+t.howMany){return true}}}return this._isInInsertedElement(e)}_removeAllNestedChanges(t,e,n){const i=new Qh(qh._createAt(t,e),qh._createAt(t,e+n));for(const t of i.getItems({shallow:true})){if(t.is(\"element\")){this._elementSnapshots.delete(t);this._changesInElement.delete(t);this._removeAllNestedChanges(t,0,t.maxOffset)}}}}function wm(t){const e=[];for(const n of t){if(n.is(\"text\")){for(let t=0;t<n.data.length;t++){e.push({name:\"$text\",attributes:new Map(n.getAttributes())})}}else{e.push({name:n.name,attributes:new Map(n.getAttributes())})}}return e}function _m(t,e){const n=[];let i=0;let o=0;for(const t of e){if(t.offset>i){for(let e=0;e<t.offset-i;e++){n.push(\"e\")}o+=t.offset-i}if(t.type==\"insert\"){for(let e=0;e<t.howMany;e++){n.push(\"i\")}i=t.offset+t.howMany}else if(t.type==\"remove\"){for(let e=0;e<t.howMany;e++){n.push(\"r\")}i=t.offset;o+=t.howMany}else{n.push(...\"a\".repeat(t.howMany).split(\"\"));i=t.offset+t.howMany;o+=t.howMany}}if(o<t){for(let e=0;e<t-o-i;e++){n.push(\"e\")}}return n}function km(t){const e=t.position&&t.position.root.rootName==\"$graveyard\";const n=t.range&&t.range.root.rootName==\"$graveyard\";return!e&&!n}class vm{constructor(){this._operations=[];this._undoPairs=new Map;this._undoneOperations=new Set}addOperation(t){if(this._operations.includes(t)){return}this._operations.push(t)}getOperations(t=0,e=Number.POSITIVE_INFINITY){if(t<0){return[]}return this._operations.slice(t,e)}getOperation(t){return this._operations[t]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}}function ym(t){return!!t&&t.length==1&&/[\\u0300-\\u036f\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\u20d0-\\u20ff\\ufe20-\\ufe2f]/.test(t)}function xm(t){return!!t&&t.length==1&&/[\\ud800-\\udbff]/.test(t)}function Am(t){return!!t&&t.length==1&&/[\\udc00-\\udfff]/.test(t)}function Tm(t,e){return xm(t.charAt(e-1))&&Am(t.charAt(e))}function Cm(t,e){return ym(t.charAt(e))}const Sm=\"$graveyard\";class Pm{constructor(t){this.model=t;this.version=0;this.history=new vm(this);this.selection=new ff(this);this.roots=new xr({idProperty:\"rootName\"});this.differ=new bm(t.markers);this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot(\"$root\",Sm);this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new rr[\"b\"](\"model-document-applyOperation-wrong-version: Only operations with matching versions can be applied.\",this,{operation:n})}},{priority:\"highest\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}},{priority:\"high\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.version++;this.history.addOperation(n)}},{priority:\"low\"});this.listenTo(this.selection,\"change\",()=>{this._hasSelectionChangedFromTheLastChangeBlock=true});this.listenTo(t.markers,\"update\",(t,e,n,i)=>{this.differ.bufferMarkerChange(e.name,n,i,e.affectsData);if(n===null){e.on(\"change\",(t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)})}})}get graveyard(){return this.getRoot(Sm)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e)){throw new rr[\"b\"](\"model-document-createRoot-name-exists: Root with specified name already exists.\",this,{name:e})}const n=new dm(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,t=>t.rootName).filter(t=>t!=Sm)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Vr(this);t.selection=\"[engine.model.DocumentSelection]\";t.model=\"[engine.model.Model]\";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire(\"change:data\",t.batch)}else{this.fire(\"change\",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots){if(t!==this.graveyard){return t}}return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return Em(t.start)&&Em(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}yr(Pm,dr);function Em(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!Tm(n,i)&&!Cm(n,i)}return true}class Mm{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,i=false){const o=t instanceof Im?t.name:t;const s=this._markers.get(o);if(s){const t=s.getRange();let r=false;if(!t.isEqual(e)){s._attachLiveRange(cf.fromRange(e));r=true}if(n!=s.managedUsingOperations){s._managedUsingOperations=n;r=true}if(typeof i===\"boolean\"&&i!=s.affectsData){s._affectsData=i;r=true}if(r){this.fire(\"update:\"+o,s,t,e)}return s}const r=cf.fromRange(e);const a=new Im(o,r,n,i);this._markers.set(o,a);this.fire(\"update:\"+o,a,null,e);return a}_remove(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(\"update:\"+e,n,n.getRange(),null);this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(!n){throw new rr[\"b\"](\"markercollection-refresh-marker-not-exists: Marker with provided name does not exists.\",this)}const i=n.getRange();this.fire(\"update:\"+e,n,i,i,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+\":\")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}yr(Mm,dr);class Im{constructor(t,e,n,i){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.toRange()}is(t){return t===\"marker\"||t===\"model:marker\"}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate(\"change:range\").to(this);t.delegate(\"change:content\").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this);this._liveRange.stopDelegating(\"change:content\",this);this._liveRange.detach();this._liveRange=null}}yr(Im,dr);class Nm extends Hg{get type(){return\"noop\"}clone(){return new Nm(this.baseVersion)}getReversed(){return new Nm(this.baseVersion+1)}_execute(){}static get className(){return\"NoOperation\"}}const Om={};Om[em.className]=em;Om[om.className]=om;Om[sm.className]=sm;Om[im.className]=im;Om[Nm.className]=Nm;Om[Hg.className]=Hg;Om[rm.className]=rm;Om[am.className]=am;Om[lm.className]=lm;Om[cm.className]=cm;class Rm{static fromJSON(t,e){return Om[t.__className].fromJSON(t,e)}}class Dm extends qh{constructor(t,e,n=\"toNone\"){super(t,e,n);if(!this.root.is(\"rootElement\")){throw new rr[\"b\"](\"model-liveposition-root-not-rootelement: LivePosition's root has to be an instance of RootElement.\",t)}Lm.call(this)}detach(){this.stopListening()}is(t){return t===\"livePosition\"||t===\"model:livePosition\"||t==\"position\"||t===\"model:position\"}toPosition(){return new qh(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function Lm(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}zm.call(this,n)},{priority:\"low\"})}function zm(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire(\"change\",t)}}yr(Dm,dr);function Vm(t,e,n,i){return t.change(o=>{let s;if(!n){s=t.document.selection}else if(n instanceof ef||n instanceof ff){s=n}else{s=o.createSelection(n,i)}if(!s.isCollapsed){t.deleteContent(s,{doNotAutoparagraph:true})}const r=new jm(t,o,s.anchor);let a;if(e.is(\"documentFragment\")){a=e.getChildren()}else{a=[e]}r.handleNodes(a,{isFirst:true,isLast:true});const c=r.getSelectionRange();if(c){if(s instanceof ff){o.setSelection(c)}else{s.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(s.anchor);r.destroy();return l})}class jm{constructor(t,e,n){this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null}handleNodes(t,e){t=Array.from(t);for(let n=0;n<t.length;n++){const i=t[n];this._handleNode(i,{isFirst:n===0&&e.isFirst,isLast:n===t.length-1&&e.isLast})}this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}getSelectionRange(){if(this.nodeToSelect){return Qh._createOn(this.nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Qh(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t,e){if(this.schema.isObject(t)){this._handleObject(t,e);return}const n=this._checkAndSplitToAllowedPosition(t,e);if(!n){this._handleDisallowedNode(t,e);return}this._insert(t);this._mergeSiblingsOf(t,e)}_handleObject(t,e){if(this._checkAndSplitToAllowedPosition(t)){this._insert(t)}else{this._tryAutoparagraphing(t,e)}}_handleDisallowedNode(t,e){if(t.is(\"element\")){this.handleNodes(t.getChildren(),e)}else{this._tryAutoparagraphing(t,e)}}_insert(t){if(!this.schema.checkChild(this.position,t)){throw new rr[\"b\"](\"insertcontent-wrong-position: Given node cannot be inserted on the given position.\",this,{node:t,position:this.position})}const e=Dm.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position);this.writer.insert(t,this.position);this.position=e.toPosition();e.detach();if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")){this.nodeToSelect=t}else{this.nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=Dm.fromPosition(t,\"toPrevious\")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=Dm.fromPosition(t,\"toNext\")}}_mergeSiblingsOf(t,e){if(!(t instanceof Fh)){return}const n=this._canMergeLeft(t,e);const i=this._canMergeRight(t,e);const o=Dm._createBefore(t);o.stickiness=\"toNext\";const s=Dm._createAfter(t);s.stickiness=\"toNext\";if(n){const t=Dm.fromPosition(this.position);t.stickiness=\"toNext\";if(this._affectedStart.isEqual(o)){this._affectedStart.detach();this._affectedStart=Dm._createAt(o.nodeBefore,\"end\",\"toPrevious\")}this.writer.merge(o);if(o.isEqual(this._affectedEnd)&&e.isLast){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(o.nodeBefore,\"end\",\"toNext\")}this.position=t.toPosition();t.detach()}if(i){if(!this.position.isEqual(s)){throw new rr[\"b\"](\"insertcontent-invalid-insertion-position\",this)}this.position=qh._createAt(s.nodeBefore,\"end\");const t=Dm.fromPosition(this.position,\"toPrevious\");if(this._affectedEnd.isEqual(s)){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(s.nodeBefore,\"end\",\"toNext\")}this.writer.merge(s);if(s.getShiftedBy(-1).isEqual(this._affectedStart)&&e.isFirst){this._affectedStart.detach();this._affectedStart=Dm._createAt(s.nodeBefore,0,\"toPrevious\")}this.position=t.toPosition();t.detach()}if(n||i){this._filterAttributesOf.push(this.position.parent)}o.detach();s.detach()}_canMergeLeft(t,e){const n=t.previousSibling;return e.isFirst&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(n,t)}_canMergeRight(t,e){const n=t.nextSibling;return e.isLast&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(t,n)}_tryAutoparagraphing(t,e){const n=this.writer.createElement(\"paragraph\");if(this._getAllowedIn(n,this.position.parent)&&this.schema.checkChild(n,t)){n._appendChild(t);this._handleNode(n,e)}}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(t,this.position.parent);if(!e){return false}while(e!=this.position.parent){if(this.schema.isLimit(this.position.parent)){return false}if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(e,t)){return e}if(e.parent){return this._getAllowedIn(t,e.parent)}return null}}function Bm(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName==\"$graveyard\"){return}const o=t.schema;t.change(t=>{if(!n.doNotResetEntireContent&&$m(o,e)){qm(t,e,o);return}const s=i.start;const r=Dm.fromPosition(i.end,\"toNext\");if(!i.start.isTouching(i.end)){t.remove(i)}if(!n.leaveUnmerged){Fm(t,s,r);o.removeDisallowedAttributes(s.parent.getChildren(),t)}Ym(t,e,s);if(!n.doNotAutoparagraph&&Hm(o,s)){Wm(t,s,e)}r.detach()})}function Fm(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return}if(t.model.schema.isLimit(i)||t.model.schema.isLimit(o)){return}if(!Um(e,n,t.model.schema)){return}e=t.createPositionAfter(i);n=t.createPositionBefore(o);if(!n.isEqual(e)){t.insert(o,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}Fm(t,e,n)}function Hm(t,e){const n=t.checkChild(e,\"$text\");const i=t.checkChild(e,\"paragraph\");return!n&&i}function Um(t,e,n){const i=new Qh(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function Wm(t,e,n){const i=t.createElement(\"paragraph\");t.insert(i,e);Ym(t,n,t.createPositionAt(i,0))}function qm(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));Wm(t,t.createPositionAt(n,0),e)}function $m(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,\"paragraph\")}function Ym(t,e,n){if(e instanceof ff){t.setSelection(n)}else{e.setTo(n)}}const Gm=' ,.?!:;\"-()';function Qm(t,e,n={}){const i=t.schema;const o=n.direction!=\"backward\";const s=n.unit?n.unit:\"character\";const r=e.focus;const a=new Uh({boundaries:Xm(r,o),singleCharacters:true,direction:o?\"forward\":\"backward\"});const c={walker:a,schema:i,isForward:o,unit:s};let l;while(l=a.next()){if(l.done){return}const n=Km(c,l.value);if(n){if(e instanceof ff){t.change(t=>{t.setSelectionFocus(n)})}else{e.setFocus(n)}return}}}function Km(t,e){if(e.type==\"text\"){if(t.unit===\"word\"){return Zm(t.walker,t.isForward)}return Jm(t.walker,t.unit,t.isForward)}if(e.type==(t.isForward?\"elementStart\":\"elementEnd\")){if(t.schema.isObject(e.item)){return qh._createAt(e.item,t.isForward?\"after\":\"before\")}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}else{if(t.schema.isLimit(e.item)){t.walker.skip(()=>true);return}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}}function Jm(t,e){const n=t.position.textNode;if(n){const i=n.data;let o=t.position.offset-n.startOffset;while(Tm(i,o)||e==\"character\"&&Cm(i,o)){t.next();o=t.position.offset-n.startOffset}}return t.position}function Zm(t,e){let n=t.position.textNode;if(n){let i=t.position.offset-n.startOffset;while(!tp(n.data,i,e)&&!ep(n,i,e)){t.next();const o=e?t.position.nodeAfter:t.position.nodeBefore;if(o&&o.is(\"text\")){const i=o.data.charAt(e?0:o.data.length-1);if(!Gm.includes(i)){t.next();n=t.position.textNode}}i=t.position.offset-n.startOffset}}return t.position}function Xm(t,e){const n=t.root;const i=qh._createAt(n,e?\"end\":0);if(e){return new Qh(t,i)}else{return new Qh(i,t)}}function tp(t,e,n){const i=e+(n?0:-1);return Gm.includes(t.charAt(i))}function ep(t,e,n){return e===(n?t.endOffset:0)}function np(t,e){return t.change(t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const s=i.start.getCommonPath(i.end);const r=o.getNodeByPath(s);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(r,i.start.path[s.length]),t.createPositionAt(r,i.end.path[s.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is(\"textProxy\")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(e._clone(true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const s=t.createRange(e.end,t.createPositionAt(n,\"end\"));ip(s,t);ip(o,t)}return n})}function ip(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map(t=>e.createRangeOn(t)).filter(e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n}).forEach(t=>{n.push(t.start.parent);e.remove(t)});n.forEach(t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}})}function op(t){t.document.registerPostFixer(e=>sp(e,t))}function sp(t,e){const n=e.document.selection;const i=e.schema;const o=[];let s=false;for(const t of n.getRanges()){const e=rp(t,i);if(e){o.push(e);s=true}else{o.push(t)}}if(s){t.setSelection(up(o),{backward:n.isBackward})}}function rp(t,e){if(t.isCollapsed){return ap(t,e)}return cp(t,e)}function ap(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new Qh(o)}function cp(t,e){const n=t.start;const i=t.end;const o=e.checkChild(n,\"$text\");const s=e.checkChild(i,\"$text\");const r=e.getLimitElement(n);const a=e.getLimitElement(i);if(r===a){if(o&&s){return null}if(dp(n,i,e)){const t=n.nodeAfter&&e.isObject(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,\"forward\");const s=i.nodeBefore&&e.isObject(i.nodeBefore);const r=s?null:e.getNearestSelectionRange(i,\"backward\");const a=o?o.start:n;const c=r?r.start:i;return new Qh(a,c)}}const c=r&&!r.is(\"rootElement\");const l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!hp(n.nodeAfter,e));const s=l&&(!t||!hp(i.nodeBefore,e));let d=n;let u=i;if(o){d=qh._createBefore(lp(r,e))}if(s){u=qh._createAfter(lp(a,e))}return new Qh(d,u)}return null}function lp(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function dp(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return i||o}function up(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isIntersecting(t)){const i=t.start.isAfter(n.start)?n.start:t.start;const o=t.end.isAfter(n.end)?t.end:n.end;const s=new Qh(i,o);e.push(s)}else{e.push(t);e.push(n)}}return e}function hp(t,e){return t&&e.isObject(t)}class fp{constructor(){this.markers=new Mm;this.document=new Pm(this);this.schema=new mg;this._pendingChanges=[];this._currentWriter=null;[\"insertContent\",\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach(t=>this.decorate(t));this.on(\"applyOperation\",(t,e)=>{const n=e[0];n._validate()},{priority:\"highest\"});this.schema.register(\"$root\",{isLimit:true});this.schema.register(\"$block\",{allowIn:\"$root\",isBlock:true});this.schema.register(\"$text\",{allowIn:\"$block\",isInline:true});this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",isLimit:true});this.schema.extend(\"$text\",{allowIn:\"$clipboardHolder\"});this.schema.register(\"$marker\");this.schema.addChildCheck((t,e)=>{if(e.name===\"$marker\"){return true}});op(this)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new Fg,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(typeof t===\"string\"){t=new Fg(t)}else if(typeof t==\"function\"){e=t;t=new Fg}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return Vm(this,t,e,n)}deleteContent(t,e){Bm(this,t,e)}modifySelection(t,e){Qm(this,t,e)}getSelectedContent(t){return np(this,t)}hasContent(t,e){const n=t instanceof Fh?Qh._createIn(t):t;if(n.isCollapsed){return false}for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}const{ignoreWhitespaces:i=false}=e||{};for(const t of n.getItems()){if(t.is(\"textProxy\")){if(!i){return true}else if(t.data.search(/\\S/)!==-1){return true}}else if(this.schema.isObject(t)){return true}}return false}createPositionFromPath(t,e,n){return new qh(t,e,n)}createPositionAt(t,e){return qh._createAt(t,e)}createPositionAfter(t){return qh._createAfter(t)}createPositionBefore(t){return qh._createBefore(t)}createRange(t,e){return new Qh(t,e)}createRangeIn(t){return Qh._createIn(t)}createRangeOn(t){return Qh._createOn(t)}createSelection(t,e,n){return new ef(t,e,n)}createBatch(t){return new Fg(t)}createOperationFromJSON(t){return Rm.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new um(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}this.fire(\"_afterChanges\");return t}}yr(fp,Kc);class gp{constructor(){this._listener=Object.create(Wd)}listenTo(t){this._listener.listenTo(t,\"keydown\",(t,e)=>{this._listener.fire(\"_keydown:\"+Dl(e),e)})}set(t,e,n={}){const i=Ll(t);const o=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+i,(t,n)=>{e(n,()=>{n.preventDefault();n.stopPropagation();t.stop()});t.return=true},{priority:o})}press(t){return!!this._listener.fire(\"_keydown:\"+Dl(t),t)}destroy(){this._listener.stopListening()}}class mp extends gp{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e==\"string\"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class pp{constructor(t={}){this._context=t.context||new Rr({language:t.language});this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new Qs(t,this.constructor.defaultConfig);this.config.define(\"plugins\",e);this.config.define(this._context._getEditorConfig());this.plugins=new Ar(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new hg;this.set(\"state\",\"initializing\");this.once(\"ready\",()=>this.state=\"ready\",{priority:\"high\"});this.once(\"destroy\",()=>this.state=\"destroyed\",{priority:\"high\"});this.set(\"isReadOnly\",false);this.model=new fp;const n=new Rc;this.data=new Lg(this.model,n);this.editing=new ug(this.model,n);this.editing.view.document.bind(\"isReadOnly\").to(this);this.conversion=new Vg([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher);this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher);this.keystrokes=new mp(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get(\"plugins\");const n=t.get(\"removePlugins\")||[];const i=t.get(\"extraPlugins\")||[];return this.plugins.init(e.concat(i),n)}destroy(){let t=Promise.resolve();if(this.state==\"initializing\"){t=new Promise(t=>this.once(\"ready\",t))}return t.then(()=>{this.fire(\"destroy\");this.stopListening();this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(...t){try{this.commands.execute(...t)}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}}yr(pp,Kc);const bp={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var wp=bp;function _p(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}const kp={updateSourceElement(){if(!this.sourceElement){throw new rr[\"b\"](\"editor-missing-sourceelement: Cannot update the source element of a detached editor.\",this)}_p(this.sourceElement,this.data.get())}};var vp=kp;function yp(t){if(!gt(t.updateSourceElement)){throw new rr[\"b\"](\"attachtoform-missing-elementapi-interface: Editor passed to attachToForm() must implement ElementApi.\",t)}const e=t.sourceElement;if(e&&e.tagName.toLowerCase()===\"textarea\"&&e.form){let n;const i=e.form;const o=()=>t.updateSourceElement();if(gt(i.submit)){n=i.submit;i.submit=()=>{o();n.apply(i)}}i.addEventListener(\"submit\",o);t.on(\"destroy\",()=>{i.removeEventListener(\"submit\",o);if(n){i.submit=n}})}}class xp{getHtml(t){const e=document.implementation.createHTMLDocument(\"\");const n=e.createElement(\"div\");n.appendChild(t);return n.innerHTML}}class Ap{constructor(t){this._domParser=new DOMParser;this._domConverter=new zd(t,{blockFillerMode:\"nbsp\"});this._htmlWriter=new xp}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}_toDom(t){const e=this._domParser.parseFromString(t,\"text/html\");const n=e.createDocumentFragment();const i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class Tp{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){if(this.has(t)){throw new rr[\"b\"](\"componentfactory-item-exists: The item already exists in the component factory.\",this,{name:t})}this._components.set(Cp(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new rr[\"b\"](\"componentfactory-item-missing: The required component is not registered in the factory.\",this,{name:t})}return this._components.get(Cp(t)).callback(this.editor.locale)}has(t){return this._components.has(Cp(t))}}function Cp(t){return String(t).toLowerCase()}class Sp{constructor(){this.set(\"isFocused\",false);this.set(\"focusedElement\",null);this._elements=new Set;this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t)){throw new rr[\"b\"](\"focusTracker-add-element-already-exist\",this)}this.listenTo(t,\"focus\",()=>this._focus(t),{useCapture:true});this.listenTo(t,\"blur\",()=>this._blur(),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur(t)}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null;this.isFocused=false},0)}}yr(Sp,Wd);yr(Sp,Kc);class Pp{constructor(t){this.editor=t;this.componentFactory=new Tp(t);this.focusTracker=new Sp;this._editableElementsMap=new Map;this.listenTo(t.editing.view.document,\"layoutChanged\",()=>this.update())}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null}this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}}yr(Pp,dr);function Ep({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:i,beforeFocus:o,afterBlur:s}){n.add(i.element);e.set(\"Alt+F10\",(t,e)=>{if(n.isFocused&&!i.focusTracker.isFocused){if(o){o()}i.focus();e()}});i.keystrokes.set(\"Esc\",(e,n)=>{if(i.focusTracker.isFocused){t.focus();if(s){s()}n()}})}function Mp(t){if(Array.isArray(t)){return{items:t}}if(!t){return{items:[]}}return Object.assign({items:[]},t)}var Ip=n(14);const Np=new WeakMap;function Op(t){const{view:e,element:n,text:i,isDirectHost:o=true}=t;const s=e.document;if(!Np.has(s)){Np.set(s,new Map);s.registerPostFixer(t=>Vp(s,t))}Np.get(s).set(n,{text:i,isDirectHost:o});e.change(t=>Vp(s,t))}function Rp(t,e){const n=e.document;t.change(t=>{if(!Np.has(n)){return}const i=Np.get(n);const o=i.get(e);t.removeAttribute(\"data-placeholder\",o.hostElement);Lp(t,o.hostElement);i.delete(e)})}function Dp(t,e){if(!e.hasClass(\"ck-placeholder\")){t.addClass(\"ck-placeholder\",e);return true}return false}function Lp(t,e){if(e.hasClass(\"ck-placeholder\")){t.removeClass(\"ck-placeholder\",e);return true}return false}function zp(t){if(!t.isAttached()){return false}const e=!Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"));const n=t.document;if(!n.isFocused&&e){return true}const i=n.selection;const o=i.anchor;if(e&&o&&o.parent!==t){return true}return false}function Vp(t,e){const n=Np.get(t);let i=false;for(const[t,o]of n){if(jp(e,t,o)){i=true}}return i}function jp(t,e,n){const{text:i,isDirectHost:o}=n;const s=o?e:Bp(e);let r=false;if(!s){return false}n.hostElement=s;if(s.getAttribute(\"data-placeholder\")!==i){t.setAttribute(\"data-placeholder\",i,s);r=true}if(zp(s)){if(Dp(t,s)){r=true}}else if(Lp(t,s)){r=true}return r}function Bp(t){if(t.childCount===1){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")){return e}}return null}class Fp{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display=\"none\";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach(({element:t,newElement:e})=>{t.style.display=\"\";if(e){e.remove()}});this._replacedElements=[]}}class Hp extends Pp{constructor(t,e){super(t);this.view=e;this._toolbarConfig=Mp(t.config.get(\"toolbar\"));this._elementReplacer=new Fp}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const i=e.editing.view;const o=n.editable;const s=i.document.getRoot();o.name=s.rootName;n.render();const r=o.element;this.setEditableElement(o.name,r);this.focusTracker.add(r);n.editable.bind(\"isFocused\").to(this.focusTracker);i.attachDomRoot(r);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this.fire(\"ready\")}destroy(){const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initToolbar(){const t=this.editor;const e=this.view;const n=t.editing.view;e.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");e.stickyPanel.limiterElement=e.element;if(this._toolbarConfig.viewportTopOffset){e.stickyPanel.viewportTopOffset=this._toolbarConfig.viewportTopOffset}e.toolbar.fillFromConfig(this._toolbarConfig.items,this.componentFactory);Ep({origin:n,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e.toolbar})}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;const o=t.config.get(\"placeholder\")||i&&i.tagName.toLowerCase()===\"textarea\"&&i.getAttribute(\"placeholder\");if(o){Op({view:e,element:n,text:o,isDirectHost:false})}}}class Up extends xr{constructor(t=[]){super(t,{idProperty:\"viewUid\"});this.on(\"add\",(t,e,n)=>{this._renderViewIntoCollectionParent(e,n)});this.on(\"remove\",(t,e)=>{if(e.element&&this._parentElement){e.element.remove()}});this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Wp(t)){throw new rr[\"b\"](\"ui-viewcollection-delegate-wrong-events: All event names must be strings.\",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on(\"add\",(n,i)=>{for(const n of t){i.delegate(n).to(e)}});this.on(\"remove\",(n,i)=>{for(const n of t){i.stopDelegating(n,e)}})}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}}function Wp(t){return t.every(t=>typeof t==\"string\")}const qp=\"http://www.w3.org/1999/xhtml\";class $p{constructor(t){Object.assign(this,ib(nb(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=pb();this._renderNode({node:t,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new rr[\"b\"](\"ui-template-revert-not-applied: Attempting to revert a template which has not been applied yet.\",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(fb(n)){yield n}else if(gb(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Gp({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new Qp({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new rr[\"b\"](\"template-extend-render: Attempting to extend a template which has already been rendered.\",[this,t])}ub(t,ib(nb(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new rr[\"b\"]('ui-template-wrong-syntax: Node definition must have either \"tag\" or \"text\" when rendering a new Node.',this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||qp,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode(\"\")}if(Kp(this.text)){this._bindToObservable({schema:this.text,updater:Xp(e),data:t})}else{e.textContent=this.text.join(\"\")}return e}_renderAttributes(t){let e,n,i,o;if(!this.attributes){return}const s=t.node;const r=t.revertData;for(e in this.attributes){i=s.getAttribute(e);n=this.attributes[e];if(r){r.attributes[e]=i}o=ct(n[0])&&n[0].ns?n[0].ns:null;if(Kp(n)){const a=o?n[0].value:n;if(r&&bb(e)){a.unshift(i)}this._bindToObservable({schema:a,updater:tb(s,e,o),data:t})}else if(e==\"style\"&&typeof n[0]!==\"string\"){this._renderStyleAttribute(n[0],t)}else{if(r&&i&&bb(e)){n.unshift(i)}n=n.map(t=>t?t.value||t:t).reduce((t,e)=>t.concat(e),[]).reduce(lb,\"\");if(!hb(n)){s.setAttributeNS(o,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(Kp(o)){this._bindToObservable({schema:[o],updater:eb(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const s of this.children){if(mb(s)){if(!i){s.setParent(e);for(const t of s){n.appendChild(t.element)}}}else if(fb(s)){if(!i){if(!s.isRendered){s.render()}n.appendChild(s.element)}}else if(xd(s)){n.appendChild(s)}else{if(i){const e=t.revertData;const i=pb();e.children.push(i);s._renderNode({node:n.childNodes[o++],isApplying:true,revertData:i})}else{n.appendChild(s.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map(n=>{const[i,o]=e.split(\"@\");return n.activateDomEventListener(i,o,t)});if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Zp(t,e,n);const o=t.filter(t=>!hb(t)).filter(t=>t.observable).map(i=>i.activateAttributeListener(t,e,n));if(i){i.bindings.push(o)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}for(const n in e.attributes){const i=e.attributes[n];if(i===null){t.removeAttribute(n)}else{t.setAttribute(n,i)}}for(let n=0;n<e.children.length;++n){this._revertTemplateFromNode(t.childNodes[n],e.children[n])}}}yr($p,dr);class Yp{constructor(t){Object.assign(this,t)}getValue(t){const e=this.observable[this.attribute];return this.callback?this.callback(e,t):e}activateAttributeListener(t,e,n){const i=()=>Zp(t,e,n);this.emitter.listenTo(this.observable,\"change:\"+this.attribute,i);return()=>{this.emitter.stopListening(this.observable,\"change:\"+this.attribute,i)}}}class Gp extends Yp{activateDomEventListener(t,e,n){const i=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction==\"function\"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class Qp extends Yp{getValue(t){const e=super.getValue(t);return hb(e)?false:this.valueIfTrue||true}}function Kp(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Kp)}else if(t instanceof Yp){return true}return false}function Jp(t,e){return t.map(t=>{if(t instanceof Yp){return t.getValue(e)}return t})}function Zp(t,e,{node:n}){let i=Jp(t,n);if(t.length==1&&t[0]instanceof Qp){i=i[0]}else{i=i.reduce(lb,\"\")}if(hb(i)){e.remove()}else{e.set(i)}}function Xp(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function tb(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function eb(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function nb(t){const e=$s(t,t=>{if(t&&(t instanceof Yp||gb(t)||fb(t)||mb(t))){return t}});return e}function ib(t){if(typeof t==\"string\"){t=rb(t)}else if(t.text){ab(t)}if(t.on){t.eventListeners=sb(t.on);delete t.on}if(!t.text){if(t.attributes){ob(t.attributes)}const e=[];if(t.children){if(mb(t.children)){e.push(t.children)}else{for(const n of t.children){if(gb(n)||fb(n)||xd(n)){e.push(n)}else{e.push(new $p(n))}}}}t.children=e}return t}function ob(t){for(const e in t){if(t[e].value){t[e].value=[].concat(t[e].value)}cb(t,e)}}function sb(t){for(const e in t){cb(t,e)}return t}function rb(t){return{text:[t]}}function ab(t){if(!Array.isArray(t.text)){t.text=[t.text]}}function cb(t,e){if(!Array.isArray(t[e])){t[e]=[t[e]]}}function lb(t,e){if(hb(e)){return t}else if(hb(t)){return e}else{return`${t} ${e}`}}function db(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function ub(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}db(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}db(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new rr[\"b\"](\"ui-template-extend-children-mismatch: The number of children in extended definition does not match.\",t)}let n=0;for(const i of e.children){ub(t.children[n++],i)}}}function hb(t){return!t&&t!==0}function fb(t){return t instanceof _b}function gb(t){return t instanceof $p}function mb(t){return t instanceof Up}function pb(){return{children:[],bindings:[],attributes:{}}}function bb(t){return t==\"class\"||t==\"style\"}var wb=n(16);class _b{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new xr;this._unboundChildren=this.createCollection();this._viewCollections.on(\"add\",(e,n)=>{n.locale=t});this.decorate(\"render\")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=$p.bind(this,this)}createCollection(t){const e=new Up(t);this._viewCollections.add(e);return e}registerChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new $p(t)}extendTemplate(t){$p.extend(this.template,t)}render(){if(this.isRendered){throw new rr[\"b\"](\"ui-view-render-already-rendered: This View has already been rendered.\",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map(t=>t.destroy());if(this.template&&this.template._revertData){this.template.revert(this.element)}}}yr(_b,Wd);yr(_b,Kc);var kb=\"[object String]\";function vb(t){return typeof t==\"string\"||!Qe(t)&&C(t)&&k(t)==kb}var yb=vb;function xb(t,e,n={},i=[]){const o=n&&n.xmlns;const s=o?t.createElementNS(o,e):t.createElement(e);for(const t in n){s.setAttribute(t,n[t])}if(yb(i)||!vr(i)){i=[i]}for(let e of i){if(yb(e)){e=t.createTextNode(e)}s.appendChild(e)}return s}class Ab extends Up{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");if(!t){t=xb(document,\"div\",{class:\"ck-body-wrapper\"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(\".ck-body-wrapper\");if(t&&t.childElementCount==0){t.remove()}}}var Tb=n(18);class Cb extends _b{constructor(t){super(t);this.body=new Ab(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}var Sb=n(20);class Pb extends _b{constructor(t){super(t);this.set(\"text\");this.set(\"for\");this.id=`ck-editor__label_${nr()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class Eb extends Cb{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new Pb;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class Mb extends _b{constructor(t,e,n){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.name=null;this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",()=>this._updateIsFocusedClasses());this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change(n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",i);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",i)})}function n(i){t.once(\"change:isRenderingInProgress\",(t,o,s)=>{if(!s){e(i)}else{n(i)}})}}}class Ib extends Mb{constructor(t,e,n){super(t,e,n);this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}})}render(){super.render();const t=this._editingView;const e=this.t;t.change(n=>{const i=t.document.getRoot(this.name);n.setAttribute(\"aria-label\",e(\"Rich Text Editor, %0\",[this.name]),i)})}}function Nb(t){return e=>e+t}var Ob=n(22);const Rb=Nb(\"px\");class Db extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheLimiter\",false);this.set(\"_hasViewportTopOffset\",false);this.content=this.createCollection();this._contentPanelPlaceholder=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",t=>t?\"block\":\"none\"),height:e.to(\"isSticky\",t=>t?Rb(this._panelRect.height):null)}}}).render();this._contentPanel=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",t=>t?Rb(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to(\"_hasViewportTopOffset\",t=>t?Rb(this.viewportTopOffset):null),bottom:e.to(\"_isStickyToTheLimiter\",t=>t?Rb(this.limiterBottomOffset):null),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this._checkIfShouldBeSticky();this.listenTo(Nd.window,\"scroll\",()=>{this._checkIfShouldBeSticky()});this.listenTo(this,\"change:isActive\",()=>{this._checkIfShouldBeSticky()})}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;if(!this.limiterElement){this.isSticky=false}else{e=this._limiterRect=this.limiterElement.getBoundingClientRect();this.isSticky=this.isActive&&e.top<this.viewportTopOffset&&this._panelRect.height+this.limiterBottomOffset<e.height}if(this.isSticky){this._isStickyToTheLimiter=e.bottom<t.height+this.limiterBottomOffset+this.viewportTopOffset;this._hasViewportTopOffset=!this._isStickyToTheLimiter&&!!this.viewportTopOffset;this._marginLeft=this._isStickyToTheLimiter?null:Rb(-Nd.window.scrollX)}else{this._isStickyToTheLimiter=false;this._hasViewportTopOffset=false;this._marginLeft=null}}}class Lb{constructor(t){Object.assign(this,t);if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n==\"string\"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,(t,n)=>{this[e]();n()})}}}}get first(){return this.focusables.find(zb)||null}get last(){return this.focusables.filter(zb).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i});return t}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){if(t){t.focus()}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?\"first\":\"last\"]}let i=(e+n+t)%n;do{const e=this.focusables.get(i);if(zb(e)){return e}i=(i+n+t)%n}while(i!==e);return null}}function zb(t){return!!(t.focus&&Nd.window.getComputedStyle(t.element).display!=\"none\")}class Vb extends _b{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}const jb=100;class Bb{constructor(t,e){if(!Bb._observerInstance){Bb._createObserver()}this._element=t;this._callback=e;Bb._addElementCallback(t,e);Bb._observerInstance.observe(t)}destroy(){Bb._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){if(!Bb._elementCallbacks){Bb._elementCallbacks=new Map}let n=Bb._elementCallbacks.get(t);if(!n){n=new Set;Bb._elementCallbacks.set(t,n)}n.add(e)}static _deleteElementCallback(t,e){const n=Bb._getElementCallbacks(t);if(n){n.delete(e);if(!n.size){Bb._elementCallbacks.delete(t);Bb._observerInstance.unobserve(t)}}if(Bb._elementCallbacks&&!Bb._elementCallbacks.size){Bb._observerInstance=null;Bb._elementCallbacks=null}}static _getElementCallbacks(t){if(!Bb._elementCallbacks){return null}return Bb._elementCallbacks.get(t)}static _createObserver(){let t;if(typeof Nd.window.ResizeObserver===\"function\"){t=Nd.window.ResizeObserver}else{t=Fb}Bb._observerInstance=new t(t=>{for(const e of t){if(!e.target.offsetParent){continue}const t=Bb._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}})}}Bb._observerInstance=null;Bb._elementCallbacks=null;class Fb{constructor(t){this._callback=t;this._elements=new Set;this._previousRects=new Map;this._periodicCheckTimeout=null}observe(t){this._elements.add(t);this._checkElementRectsAndExecuteCallback();if(this._elements.size===1){this._startPeriodicCheck()}}unobserve(t){this._elements.delete(t);this._previousRects.delete(t);if(!this._elements.size){this._stopPeriodicCheck()}}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback();this._periodicCheckTimeout=setTimeout(t,jb)};this.listenTo(Nd.window,\"resize\",()=>{this._checkElementRectsAndExecuteCallback()});this._periodicCheckTimeout=setTimeout(t,jb)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout);this.stopListening();this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements){if(this._hasRectChanged(e)){t.push({target:e,contentRect:this._previousRects.get(e)})}}if(t.length){this._callback(t)}}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t)){return false}const e=new vh(t);const n=this._previousRects.get(t);const i=!n||!n.isEqual(e);this._previousRects.set(t,e);return i}}yr(Fb,Wd);function Hb(t){return t.bindTemplate.to(e=>{if(e.target===t.element){e.preventDefault()}})}class Ub extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",t=>`ck-dropdown__panel_${t}`),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")]},children:this.children,on:{selectstart:e.to(t=>t.preventDefault())}})}focus(){if(this.children.length){this.children.first.focus()}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast===\"function\"){t.focusLast()}else{t.focus()}}}}var Wb=n(24);function qb(t){if(!t||!t.parentNode){return null}if(t.offsetParent===Nd.document.body){return null}return t.offsetParent}function $b({element:t,target:e,positions:n,limiter:i,fitInViewport:o}){if(gt(e)){e=e()}if(gt(i)){i=i()}const s=qb(t);const r=new vh(t);const a=new vh(e);let c;let l;if(!i&&!o){[l,c]=Yb(n[0],a,r)}else{const t=i&&new vh(i).getVisible();const e=o&&new vh(Nd.window);const s=Gb(n,{targetRect:a,elementRect:r,limiterRect:t,viewportRect:e});[l,c]=s||Yb(n[0],a,r)}let d=Zb(c);if(s){d=Jb(d,s)}return{left:d.left,top:d.top,name:l}}function Yb(t,e,n){const i=t(e,n);if(!i){return null}const{left:o,top:s,name:r}=i;return[r,n.clone().moveTo(o,s)]}function Gb(t,e){const{elementRect:n,viewportRect:i}=e;const o=n.getArea();const s=Qb(t,e);if(i){const t=s.filter(({viewportIntersectArea:t})=>t===o);const e=Kb(t,o);if(e){return e}}return Kb(s,o)}function Qb(t,{targetRect:e,elementRect:n,limiterRect:i,viewportRect:o}){const s=[];const r=n.getArea();for(const a of t){const t=Yb(a,e,n);if(!t){continue}const[c,l]=t;let d=0;let u=0;if(i){if(o){const t=i.getIntersection(o);if(t){d=t.getIntersectionArea(l)}}else{d=i.getIntersectionArea(l)}}if(o){u=o.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:u};if(d===r){return[h]}s.push(h)}return s}function Kb(t,e){let n=0;let i;let o;for(const{positionName:s,positionRect:r,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e){return[s,r]}const t=c**2+a**2;if(t>n){n=t;i=r;o=s}}return i?[o,i]:null}function Jb({left:t,top:e},n){const i=Zb(new vh(n));const o=_h(n);t-=i.left;e-=i.top;t+=n.scrollLeft;e+=n.scrollTop;t-=o.left;e-=o.top;return{left:t,top:e}}function Zb({left:t,top:e}){const{scrollX:n,scrollY:i}=Nd.window;return{left:t+n,top:e+i}}class Xb extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"class\");this.set(\"id\");this.set(\"panelPosition\",\"auto\");this.keystrokes=new gp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",t=>!t)],id:i.to(\"id\"),\"aria-describedby\":i.to(\"ariaDescribedById\")},children:[e,n]});e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"]}})}render(){super.render();this.listenTo(this.buttonView,\"open\",()=>{this.isOpen=!this.isOpen});this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.on(\"change:isOpen\",()=>{if(!this.isOpen){return}if(this.panelPosition===\"auto\"){this.panelView.position=Xb._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions}).name}else{this.panelView.position=this.panelPosition}});this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.buttonView.focus();this.isOpen=false;e()}};this.keystrokes.set(\"arrowdown\",(t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}});this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.isOpen){e()}});this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:i}=Xb.defaultPanelPositions;if(this.locale.uiLanguageDirection===\"ltr\"){return[t,e,n,i]}else{return[e,t,i,n]}}}Xb.defaultPanelPositions={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.bottom-e.height,left:t.left-e.width+t.width,name:\"nw\"})};Xb._getOptimalPosition=$b;var tw=n(26);class ew extends _b{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\");this.set(\"viewBox\",\"0 0 20 20\");this.set(\"fillColor\",\"\");this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\"],viewBox:t.to(\"viewBox\")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on(\"change:content\",()=>{this._updateXMLContent();this._colorFillPaths()});this.on(\"change:fillColor\",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\");const e=t.querySelector(\"svg\");const n=e.getAttribute(\"viewBox\");if(n){this.viewBox=n}this.element.innerHTML=\"\";while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(\".ck-icon__fill\").forEach(t=>{t.style.fill=this.fillColor})}}}var nw=n(28);class iw extends _b{constructor(t){super(t);this.set(\"text\",\"\");this.set(\"position\",\"s\");const e=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip\",e.to(\"position\",t=>\"ck-tooltip_\"+t),e.if(\"text\",\"ck-hidden\",t=>!t.trim())]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:e.to(\"text\")}]}]})}}var ow=n(30);class sw extends _b{constructor(t){super(t);const e=this.bindTemplate;const n=nr();this.set(\"class\");this.set(\"labelStyle\");this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isVisible\",true);this.set(\"isToggleable\",false);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.set(\"withKeystroke\",false);this.children=this.createCollection();this.tooltipView=this._createTooltipView();this.labelView=this._createLabelView(n);this.iconView=new ew;this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}});this.keystrokeView=this._createKeystrokeView();this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));this.setTemplate({tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",t=>!t),e.if(\"isVisible\",\"ck-hidden\",t=>!t),e.to(\"isOn\",t=>t?\"ck-on\":\"ck-off\"),e.if(\"withText\",\"ck-button_with-text\"),e.if(\"withKeystroke\",\"ck-button_with-keystroke\")],type:e.to(\"type\",t=>t?t:\"button\"),tabindex:e.to(\"tabindex\"),\"aria-labelledby\":`ck-editor__aria-label_${n}`,\"aria-disabled\":e.if(\"isEnabled\",true,t=>!t),\"aria-pressed\":e.to(\"isOn\",t=>this.isToggleable?String(t):false)},children:this.children,on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(t=>{if(this.isEnabled){this.fire(\"execute\")}else{t.preventDefault()}})}})}render(){super.render();if(this.icon){this.iconView.bind(\"content\").to(this,\"icon\");this.children.add(this.iconView)}this.children.add(this.tooltipView);this.children.add(this.labelView);if(this.withKeystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}_createTooltipView(){const t=new iw;t.bind(\"text\").to(this,\"_tooltipString\");t.bind(\"position\").to(this,\"tooltipPosition\");return t}_createLabelView(t){const e=new _b;const n=this.bindTemplate;e.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:n.to(\"labelStyle\"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to(\"label\")}]});return e}_createKeystrokeView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",t=>zl(t))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t==\"string\"){return t}else{if(n){n=zl(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:\"\"}`}}}return\"\"}}var rw='<svg viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z\"/></svg>';class aw extends sw{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{\"aria-haspopup\":true}});this.delegate(\"execute\").to(this,\"open\")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new ew;t.content=rw;t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}});return t}}var cw=n(32);class lw extends _b{constructor(){super();this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this._focusCycler=new Lb({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]},children:this.items})}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class dw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\"]},children:this.children})}focus(){this.children.first.focus()}}class uw extends _b{constructor(t){super(t);this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var hw=n(34);class fw extends sw{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]});return t}}function gw({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,\"mousedown\",(t,{target:o})=>{if(!e()){return}for(const t of i){if(t.contains(o)){return}}n()})}var mw=n(36);var pw=n(38);function bw(t,e=aw){const n=new e(t);const i=new Ub(t);const o=new Xb(t,n,i);n.bind(\"isEnabled\").to(o);if(n instanceof aw){n.bind(\"isOn\").to(o,\"isOpen\")}else{n.arrowView.bind(\"isOn\").to(o,\"isOpen\")}kw(o);return o}function ww(t,e){const n=t.locale;const i=n.t;const o=t.toolbarView=new Cw(n);o.set(\"ariaLabel\",i(\"Dropdown toolbar\"));t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}});e.map(t=>o.items.add(t));t.panelView.children.add(o);o.items.delegate(\"execute\").to(t)}function _w(t,e){const n=t.locale;const i=t.listView=new lw(n);i.items.bindTo(e).using(({type:t,model:e})=>{if(t===\"separator\"){return new uw(n)}else if(t===\"button\"||t===\"switchbutton\"){const i=new dw(n);let o;if(t===\"button\"){o=new sw(n)}else{o=new fw(n)}o.bind(...Object.keys(e)).to(e);o.delegate(\"execute\").to(i);i.children.add(o);return i}});t.panelView.children.add(i);i.items.delegate(\"execute\").to(t)}function kw(t){vw(t);yw(t);xw(t)}function vw(t){t.on(\"render\",()=>{gw({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})})}function yw(t){t.on(\"execute\",e=>{if(e.source instanceof fw){return}t.isOpen=false})}function xw(t){t.keystrokes.set(\"arrowdown\",(e,n)=>{if(t.isOpen){t.panelView.focus();n()}});t.keystrokes.set(\"arrowup\",(e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}})}var Aw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"9.5\" cy=\"4.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"16.5\" r=\"1.5\"/></svg>';var Tw=n(40);class Cw extends _b{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set(\"ariaLabel\",i(\"Editor toolbar\"));this.set(\"maxWidth\",\"auto\");this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this.set(\"class\");this.set(\"isCompact\",false);this.itemsView=new Sw(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new Lb({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[\"arrowleft\",\"arrowup\"],focusNext:[\"arrowright\",\"arrowdown\"]}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")],role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")}},children:this.children,on:{mousedown:Hb(this)}});this._behavior=this.options.shouldGroupWhenFull?new Ew(this):new Pw(this)}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){t.map(t=>{if(t==\"|\"){this.items.add(new Vb)}else if(e.has(t)){this.items.add(e.create(t))}else{console.warn(Object(rr[\"a\"])(\"toolbarview-item-unavailable: The requested toolbar item is unavailable.\"),{name:t})}})}}class Sw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class Pw{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",false);t.itemsView.children.bindTo(t.items).using(t=>t);t.focusables.bindTo(t.items).using(t=>t);t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Ew{constructor(t){this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;t.itemsView.children.bindTo(this.ungroupedItems).using(t=>t);this.ungroupedItems.on(\"add\",this._updateFocusCycleableItems.bind(this));this.ungroupedItems.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.children.on(\"add\",this._updateFocusCycleableItems.bind(this));t.children.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.items.on(\"add\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.add(e,n-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,n)}this._updateGrouping()});t.items.on(\"remove\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.remove(e)}else{this.ungroupedItems.remove(e)}this._updateGrouping()});t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!this.viewElement.offsetParent){this.shouldUpdateGroupingOnNextResize=true;return}let t;while(this._areItemsOverflowing){this._groupLastItem();t=true}if(!t&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new vh(t.lastChild);const i=new vh(t);if(!this.cachedPadding){const n=Nd.window.getComputedStyle(t);const i=e===\"ltr\"?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[i])}if(e===\"ltr\"){return n.right>i.right-this.cachedPadding}else{return n.left<i.left+this.cachedPadding}}_enableGroupingOnResize(){let t;this.resizeObserver=new Bb(this.viewElement,e=>{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}});this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",()=>{this._updateGrouping()})}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new Vb);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=bw(t);n.class=\"ck-toolbar__grouped-dropdown\";n.panelPosition=t.uiLanguageDirection===\"ltr\"?\"sw\":\"se\";ww(n,[]);n.buttonView.set({label:e(\"Show more items\"),tooltip:true,icon:Aw});n.toolbarView.items.bindTo(this.groupedItems).using(t=>t);return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map(t=>{this.viewFocusables.add(t)});if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}var Mw=n(42);class Iw extends Eb{constructor(t,e,n={}){super(t);this.stickyPanel=new Db(t);this.toolbar=new Cw(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new Ib(t,e)}render(){super.render();this.stickyPanel.content.add(this.toolbar);this.top.add(this.stickyPanel);this.main.add(this.editable)}}function Nw(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}class Ow extends pp{constructor(t,e){super(e);if(Gs(t)){this.sourceElement=t}this.data.processor=new Ap(this.data.viewDocument);this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const i=new Iw(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new Hp(this,i);yp(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(Gs(t)?t:null)).then(()=>{if(!Gs(t)&&e.initialData){throw new rr[\"b\"](\"editor-create-initial-data: \"+\"The config.initialData option cannot be used together with initial data passed in Editor.create().\",null)}const n=e.initialData||Rw(t);return i.data.init(n)}).then(()=>i.fire(\"ready\")).then(()=>i))})}}yr(Ow,wp);yr(Ow,vp);function Rw(t){return Gs(t)?Nw(t):t}class Dw{constructor(t){this.editor=t;this.set(\"isEnabled\",true);this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Lw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Lw);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}yr(Dw,Kc);function Lw(t){t.return=false;t.stop()}class zw{constructor(t){this.editor=t;this.set(\"value\",undefined);this.set(\"isEnabled\",false);this._disableStack=new Set;this.decorate(\"execute\");this.listenTo(this.editor.model.document,\"change\",()=>{this.refresh()});this.on(\"execute\",t=>{if(!this.isEnabled){t.stop()}},{priority:\"high\"});this.listenTo(t,\"change:isReadOnly\",(t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}})}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Vw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Vw);this.refresh()}}execute(){}destroy(){this.stopListening()}}yr(zw,Kc);function Vw(t){t.return=false;t.stop()}function jw(t){const e=t.next();if(e.done){return null}return e.value}const Bw=[\"left\",\"right\",\"center\",\"justify\"];function Fw(t){return Bw.includes(t)}function Hw(t,e){if(e.contentLanguageDirection==\"rtl\"){return t===\"right\"}else{return t===\"left\"}}const Uw=\"alignment\";class Ww extends zw{refresh(){const t=this.editor;const e=t.locale;const n=jw(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n);if(this.isEnabled&&n.hasAttribute(\"alignment\")){this.value=n.getAttribute(\"alignment\")}else{this.value=e.contentLanguageDirection===\"rtl\"?\"right\":\"left\"}}execute(t={}){const e=this.editor;const n=e.locale;const i=e.model;const o=i.document;const s=t.value;i.change(t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter(t=>this._canBeAligned(t));const i=e[0].getAttribute(\"alignment\");const r=Hw(s,n)||i===s||!s;if(r){qw(e,t)}else{$w(e,t,s)}})}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Uw)}}function qw(t,e){for(const n of t){e.removeAttribute(Uw,n)}}function $w(t,e,n){for(const i of t){e.setAttribute(Uw,n,i)}}class Yw extends Dw{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t);t.config.define(\"alignment\",{options:[...Bw]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const i=t.config.get(\"alignment.options\").filter(Fw);n.extend(\"$block\",{allowAttributes:\"alignment\"});t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:true});const o=Gw(i.filter(t=>!Hw(t,e)));t.conversion.attributeToAttribute(o);t.commands.add(\"alignment\",new Ww(t))}}function Gw(t){const e={model:{key:\"alignment\",values:t.slice()},view:{}};for(const n of t){e.view[n]={key:\"style\",value:{\"text-align\":n}}}return e}var Qw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';var Kw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z\"/></svg>';var Jw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z\"/></svg>';var Zw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';const Xw=new Map([[\"left\",Qw],[\"right\",Kw],[\"center\",Jw],[\"justify\",Zw]]);class t_ extends Dw{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;const i=t.config.get(\"alignment.options\");i.filter(Fw).forEach(t=>this._addButton(t));e.add(\"alignment\",t=>{const o=bw(t);const s=i.map(t=>e.create(`alignment:${t}`));ww(o,s);o.buttonView.set({label:n(\"Text alignment\"),tooltip:true});o.toolbarView.isVertical=true;o.toolbarView.ariaLabel=n(\"Text alignment toolbar\");o.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const r=t.contentLanguageDirection===\"rtl\"?Kw:Qw;o.buttonView.bind(\"icon\").toMany(s,\"isOn\",(...t)=>{const e=t.findIndex(t=>t);if(e<0){return r}return s[e].icon});o.bind(\"isEnabled\").toMany(s,\"isEnabled\",(...t)=>t.some(t=>t));return o})}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,n=>{const i=e.commands.get(\"alignment\");const o=new sw(n);o.set({label:this.localizedOptionTitles[t],icon:Xw.get(t),tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\",e=>e===t);this.listenTo(o,\"execute\",()=>{e.execute(\"alignment\",{value:t});e.editing.view.focus()});return o})}}class e_ extends Dw{static get requires(){return[Yw,t_]}static get pluginName(){return\"Alignment\"}}class n_{static get pluginName(){return\"BlockAutoformatEditing\"}constructor(t,e,n){let i;let o=null;if(typeof n==\"function\"){i=n}else{o=t.commands.get(n);i=()=>{t.execute(n)}}t.model.document.on(\"change\",(n,s)=>{if(o&&!o.isEnabled){return}if(s.type==\"transparent\"){return}const r=Array.from(t.model.document.differ.getChanges());const a=r[0];if(r.length!=1||a.type!==\"insert\"||a.name!=\"$text\"||a.length!=1){return}const c=a.position.parent;if(!c.is(\"paragraph\")||c.childCount!==1){return}const l=e.exec(c.getChild(0).data);if(!l){return}t.model.enqueueChange(t=>{const e=t.createPositionAt(c,0);const n=t.createPositionAt(c,l[0].length);const o=new cf(e,n);const s=i({match:l});if(s!==false){t.remove(o)}o.detach()})})}}function i_(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce((t,i)=>{if(!(i.is(\"text\")||i.is(\"textProxy\"))){n=e.createPositionAfter(i);return\"\"}return t+i.data},\"\");return{text:i,range:e.createRange(n,t.end)}}class o_{static get pluginName(){return\"InlineAutoformatEditing\"}constructor(t,e,n){let i;let o;let s;let r;if(e instanceof RegExp){i=e}else{s=e}if(typeof n==\"string\"){o=n}else{r=n}s=s||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:s,3:r}=e;const a=i+s+r;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+s.length,t+i.length+s.length+r.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+s.length])}return{remove:n,format:o}});r=r||((e,n)=>{const i=t.model.schema.getValidRanges(n,o);for(const t of i){e.setAttribute(o,true,t)}e.removeSelectionAttribute(o)});t.model.document.on(\"change\",(e,n)=>{if(n.type==\"transparent\"){return}const i=t.model;const o=i.document.selection;if(!o.isCollapsed){return}const a=Array.from(i.document.differ.getChanges());const c=a[0];if(a.length!=1||c.type!==\"insert\"||c.name!=\"$text\"||c.length!=1){return}const l=o.focus;const d=l.parent;const{text:u,range:h}=i_(i.createRange(i.createPositionAt(d,0),l),i);const f=s(u);const g=s_(h.start,f.format,i);const m=s_(h.start,f.remove,i);if(!(g.length&&m.length)){return}i.enqueueChange(t=>{const e=r(t,g);if(e===false){return}for(const e of m.reverse()){t.remove(e)}})})}}function s_(t,e,n){return e.filter(t=>t[0]!==undefined&&t[1]!==undefined).map(e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1])))}class r_ extends Dw{static get pluginName(){return\"Autoformat\"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get(\"bulletedList\")){new n_(this.editor,/^[*-]\\s$/,\"bulletedList\")}if(t.get(\"numberedList\")){new n_(this.editor,/^1[.|)]\\s$/,\"numberedList\")}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get(\"bold\")){const t=a_(this.editor,\"bold\");new o_(this.editor,/(\\*\\*)([^*]+)(\\*\\*)$/g,t);new o_(this.editor,/(__)([^_]+)(__)$/g,t)}if(t.get(\"italic\")){const t=a_(this.editor,\"italic\");new o_(this.editor,/(?:^|[^*])(\\*)([^*_]+)(\\*)$/g,t);new o_(this.editor,/(?:^|[^_])(_)([^_]+)(_)$/g,t)}if(t.get(\"code\")){const t=a_(this.editor,\"code\");new o_(this.editor,/(`)([^`]+)(`)$/g,t)}if(t.get(\"strikethrough\")){const t=a_(this.editor,\"strikethrough\");new o_(this.editor,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get(\"heading\");if(t){t.modelElements.filter(t=>t.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\\\s$`);new n_(this.editor,i,()=>{if(!t.isEnabled){return false}this.editor.execute(\"heading\",{value:e})})})}}_addBlockQuoteAutoformats(){if(this.editor.commands.get(\"blockQuote\")){new n_(this.editor,/^>\\s$/,\"blockQuote\")}}_addCodeBlockAutoformats(){if(this.editor.commands.get(\"codeBlock\")){new n_(this.editor,/^```$/,\"codeBlock\")}}}function a_(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const s=t.model.schema.getValidRanges(i,e);for(const t of s){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class c_{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}yr(c_,Kc);class l_ extends c_{static get pluginName(){return\"PendingActions\"}init(){this.set(\"hasAny\",false);this._actions=new xr({idProperty:\"_id\"});this._actions.delegate(\"add\",\"remove\").to(this)}add(t){if(typeof t!==\"string\"){throw new rr[\"b\"](\"pendingactions-add-invalid-message: The message must be a string.\",this)}const e=Object.create(Kc);e.set(\"message\",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}class d_{constructor(){const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i(\"error\")};e.onabort=()=>{i(\"aborted\")};this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}yr(d_,Kc);class u_ extends Dw{static get pluginName(){return\"FileRepository\"}static get requires(){return[l_]}init(){this.loaders=new xr;this.loaders.on(\"add\",()=>this._updatePendingAction());this.loaders.on(\"remove\",()=>this._updatePendingAction());this._loadersMap=new Map;this._pendingAction=null;this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){console.warn(Object(rr[\"a\"])(\"filerepository-no-upload-adapter: Upload adapter is not defined.\"));return null}const e=new h_(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then(t=>{this._loadersMap.set(t,e)}).catch(()=>{})}e.on(\"change:uploaded\",()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t});e.on(\"change:uploadTotal\",()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t});return e}destroyLoader(t){const e=t instanceof h_?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach((t,n)=>{if(t===e){this._loadersMap.delete(n)}})}_updatePendingAction(){const t=this.editor.plugins.get(l_);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}yr(u_,Kc);class h_{constructor(t,e){this.id=nr();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new d_;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0);this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null)}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-read-wrong-status: You cannot call read if the status is different than idle.\",this)}this.status=\"reading\";return this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t}).catch(t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t})}upload(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-upload-wrong-status: You cannot call upload if the status is different than idle.\",this)}this.status=\"uploading\";return this.file.then(()=>this._adapter.upload()).then(t=>{this.uploadResponse=t;this.status=\"idle\";return t}).catch(t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t})}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch(()=>{});this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then(t=>{e.isFulfilled=true;n(t)}).catch(t=>{e.isFulfilled=true;i(t)})});return e}}yr(h_,Kc);class f_ extends Dw{static get requires(){return[u_]}static get pluginName(){return\"Base64UploadAdapter\"}init(){this.editor.plugins.get(u_).createUploadAdapter=t=>new g_(t)}}class g_{constructor(t){this.loader=t}upload(){return new Promise((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener(\"load\",()=>{t({default:n.result})});n.addEventListener(\"error\",t=>{e(t)});n.addEventListener(\"abort\",()=>{e()});this.loader.file.then(t=>{n.readAsDataURL(t)})})}abort(){this.reader.abort()}}class m_ extends zw{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const s=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(!s){this._removeQuote(t,o.filter(p_))}else{const e=o.filter(t=>p_(t)||w_(n,t));this._applyQuote(t,e)}})}_getValue(){const t=this.editor.model.document.selection;const e=jw(t.getSelectedBlocks());return!!(e&&p_(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return w_(e,n)}_removeQuote(t,e){b_(t,e).reverse().forEach(e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)})}_applyQuote(t,e){const n=[];b_(t,e).reverse().forEach(e=>{let i=p_(e.start);if(!i){i=t.createElement(\"blockQuote\");t.wrap(e,i)}n.push(i)});n.reverse().reduce((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n})}}function p_(t){return t.parent.name==\"blockQuote\"?t.parent:null}function b_(t,e){let n;let i=0;const o=[];while(i<e.length){const s=e[i];const r=e[i+1];if(!n){n=t.createPositionBefore(s)}if(!r||s.nextSibling!=r){o.push(t.createRange(n,t.createPositionAfter(s)));n=null}i++}return o}function w_(t,e){const n=t.checkChild(e.parent,\"blockQuote\");const i=t.checkChild([\"$root\",\"blockQuote\"],e);return n&&i}class __ extends Dw{static get pluginName(){return\"BlockQuoteEditing\"}init(){const t=this.editor;const e=t.model.schema;t.commands.add(\"blockQuote\",new m_(t));e.register(\"blockQuote\",{allowWhere:\"$block\",allowContentOf:\"$root\"});e.addChildCheck((t,e)=>{if(t.endsWith(\"blockQuote\")&&e.name==\"blockQuote\"){return false}});t.conversion.elementToElement({model:\"blockQuote\",view:\"blockquote\"});t.model.document.registerPostFixer(n=>{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type==\"insert\"){const i=t.position.nodeAfter;if(!i){continue}if(i.is(\"blockQuote\")&&i.isEmpty){n.remove(i);return true}else if(i.is(\"blockQuote\")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is(\"element\")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is(\"blockQuote\")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type==\"remove\"){const e=t.position.parent;if(e.is(\"blockQuote\")&&e.isEmpty){n.remove(e);return true}}}return false})}afterInit(){const t=this.editor;const e=t.commands.get(\"blockQuote\");this.listenTo(this.editor.editing.view.document,\"enter\",(t,n)=>{const i=this.editor.model.document;const o=i.selection.getLastPosition().parent;if(i.selection.isCollapsed&&o.isEmpty&&e.value){this.editor.execute(\"blockQuote\");this.editor.editing.view.scrollToTheSelection();n.preventDefault();t.stop()}})}}var k_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z\"/></svg>';var v_=n(44);class y_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"blockQuote\",n=>{const i=t.commands.get(\"blockQuote\");const o=new sw(n);o.set({label:e(\"Block quote\"),icon:k_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(\"blockQuote\");t.editing.view.focus()});return o})}}class x_ extends Dw{static get requires(){return[__,y_]}static get pluginName(){return\"BlockQuote\"}}class A_ extends zw{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}})}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const T_=\"bold\";class C_ extends Dw{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:T_});t.model.schema.setAttributeProperties(T_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:T_,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}}]});t.commands.add(T_,new A_(t,T_));t.keystrokes.set(\"CTRL+B\",T_)}}var S_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z\"/></svg>';const P_=\"bold\";class E_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(P_,n=>{const i=t.commands.get(P_);const o=new sw(n);o.set({label:e(\"Bold\"),icon:S_,keystroke:\"CTRL+B\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(P_);t.editing.view.focus()});return o})}}class M_ extends Dw{static get requires(){return[C_,E_]}static get pluginName(){return\"Bold\"}}const I_=\"code\";class N_ extends Dw{static get pluginName(){return\"CodeEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:I_});t.model.schema.setAttributeProperties(I_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:I_,view:\"code\",upcastAlso:{styles:{\"word-wrap\":\"break-word\"}}});t.commands.add(I_,new A_(t,I_))}}var O_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.5 5.7l5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z\"/></svg>';var R_=n(11);const D_=\"code\";class L_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(D_,n=>{const i=t.commands.get(D_);const o=new sw(n);o.set({label:e(\"Code\"),icon:O_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(D_);t.editing.view.focus()});return o})}}class z_ extends Dw{static get requires(){return[N_,L_]}static get pluginName(){return\"Code\"}}class V_{constructor(t){this.files=j_(t);this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}}function j_(t){const e=t.files?Array.from(t.files):[];const n=t.items?Array.from(t.items):[];if(e.length){return e}return n.filter(t=>t.kind===\"file\").map(t=>t.getAsFile())}class B_ extends Qu{constructor(t){super(t);const e=this.document;this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\"];this.listenTo(e,\"paste\",n,{priority:\"low\"});this.listenTo(e,\"drop\",n,{priority:\"low\"});function n(t,n){n.preventDefault();const i=n.dropRange?[n.dropRange]:Array.from(e.selection.getRanges());const o=new tr(e,\"clipboardInput\");e.fire(o,{dataTransfer:n.dataTransfer,targetRanges:i});if(o.stop.called){n.stopPropagation()}}}onDomEvent(t){const e={dataTransfer:new V_(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type==\"drop\"){e.dropRange=F_(this.view,t)}this.fire(t.type,t,e)}}function F_(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let s;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){s=n.caretRangeFromPoint(i,o)}else if(e.rangeParent){s=n.createRange();s.setStart(e.rangeParent,e.rangeOffset);s.collapse(true)}if(s){return t.domConverter.domRangeToView(s)}else{return t.document.selection.getFirstRange()}}function H_(t){t=t.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\n/g,\"</p><p>\").replace(/^\\s/,\"&nbsp;\").replace(/\\s$/,\"&nbsp;\").replace(/\\s\\s/g,\" &nbsp;\");if(t.indexOf(\"</p><p>\")>-1){t=`<p>${t}</p>`}return t}function U_(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>{if(e.length==1){return\" \"}return e})}const W_=[\"figcaption\",\"li\"];function q_(t){let e=\"\";if(t.is(\"text\")||t.is(\"textProxy\")){e=t.data}else if(t.is(\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else{let n=null;for(const i of t.getChildren()){const t=q_(i);if(n&&(n.is(\"containerElement\")||i.is(\"containerElement\"))){if(W_.includes(n.name)||W_.includes(i.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=i}}return e}class $_ extends Dw{static get pluginName(){return\"Clipboard\"}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;this._htmlDataProcessor=new Ap(i);n.addObserver(B_);this.listenTo(i,\"clipboardInput\",e=>{if(t.isReadOnly){e.stop()}},{priority:\"highest\"});this.listenTo(i,\"clipboardInput\",(t,e)=>{const i=e.dataTransfer;let o=\"\";if(i.getData(\"text/html\")){o=U_(i.getData(\"text/html\"))}else if(i.getData(\"text/plain\")){o=H_(i.getData(\"text/plain\"))}o=this._htmlDataProcessor.toView(o);const s=new tr(this,\"inputTransformation\");this.fire(s,{content:o,dataTransfer:i});if(s.stop.called){t.stop()}n.scrollToTheSelection()},{priority:\"low\"});this.listenTo(this,\"inputTransformation\",(t,e)=>{if(!e.content.isEmpty){const n=this.editor.data;const i=this.editor.model;const o=n.toModel(e.content,\"$clipboardHolder\");if(o.childCount==0){return}i.insertContent(o);t.stop()}},{priority:\"low\"});function o(n,o){const s=o.dataTransfer;o.preventDefault();const r=t.data.toView(t.model.getSelectedContent(e.selection));i.fire(\"clipboardOutput\",{dataTransfer:s,content:r,method:n.name})}this.listenTo(i,\"copy\",o,{priority:\"low\"});this.listenTo(i,\"cut\",(e,n)=>{if(t.isReadOnly){n.preventDefault()}else{o(e,n)}},{priority:\"low\"});this.listenTo(i,\"clipboardOutput\",(n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(i.content));i.dataTransfer.setData(\"text/plain\",q_(i.content))}if(i.method==\"cut\"){t.model.deleteContent(e.selection)}},{priority:\"low\"})}}function*Y_(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class G_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{Q_(this.editor.model,n,e.selection,t.schema);this.fire(\"afterExecute\",{writer:n})})}}function Q_(t,e,n,i){const o=n.isCollapsed;const s=n.getFirstRange();const r=s.start.parent;const a=s.end.parent;if(i.isLimit(r)||i.isLimit(a)){if(!o&&r==a){t.deleteContent(n)}return}if(o){const t=Y_(e.model.schema,n.getAttributes());K_(e,s.start);e.setSelectionAttribute(t)}else{const i=!(s.start.isAtStart&&s.end.isAtEnd);const o=r==a;t.deleteContent(n,{leaveUnmerged:i});if(i){if(o){K_(e,n.focus)}else{e.setSelection(a,0)}}}}function K_(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class J_ extends Yd{constructor(t){super(t);const e=this.document;e.on(\"keydown\",(t,n)=>{if(this.isEnabled&&n.keyCode==Rl.enter){let i;e.once(\"enter\",t=>i=t,{priority:\"highest\"});e.fire(\"enter\",new Gu(e,n.domEvent,{isSoft:n.shiftKey}));if(i&&i.stop.called){t.stop()}}})}observe(){}}class Z_ extends Dw{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(J_);t.commands.add(\"enter\",new G_(t));this.listenTo(n,\"enter\",(n,i)=>{i.preventDefault();if(i.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()},{priority:\"low\"})}}class X_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{ek(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})})}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=tk(t.schema,e.selection)}}function tk(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const i=e.getFirstRange();const o=i.start.parent;const s=i.end.parent;if((ik(o,t)||ik(s,t))&&o!==s){return false}return true}function ek(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const s=o.start.parent;const r=o.end.parent;const a=s==r;if(i){const i=Y_(t.schema,n.getAttributes());nk(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){nk(t,e,n.focus)}else{if(i){e.setSelection(r,0)}}}}function nk(t,e,n){const i=e.createElement(\"softBreak\");t.insertContent(i,n);e.setSelection(i,\"after\")}function ik(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||ik(t.parent,e)}class ok extends Dw{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,e)=>e.createEmptyElement(\"br\")});i.addObserver(J_);t.commands.add(\"shiftEnter\",new X_(t));this.listenTo(o,\"enter\",(e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute(\"shiftEnter\");i.scrollToTheSelection()},{priority:\"low\"})}}class sk extends zw{execute(){const t=this.editor.model;const e=t.schema.getLimitElement(t.document.selection);t.change(t=>{t.setSelection(e,\"in\")})}}const rk=Ll(\"Ctrl+A\");class ak extends Dw{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add(\"selectAll\",new sk(t));this.listenTo(n,\"keydown\",(e,n)=>{if(Dl(n)===rk){t.execute(\"selectAll\");n.preventDefault()}})}}var ck='<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z\"/></svg>';class lk extends Dw{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",e=>{const n=t.commands.get(\"selectAll\");const i=new sw(e);const o=e.t;i.set({label:o(\"Select all\"),icon:ck,keystroke:\"Ctrl+A\",tooltip:true});i.bind(\"isOn\",\"isEnabled\").to(n,\"value\",\"isEnabled\");this.listenTo(i,\"execute\",()=>{t.execute(\"selectAll\");t.editing.view.focus()});return i})}}class dk extends Dw{static get requires(){return[ak,lk]}static get pluginName(){return\"SelectAll\"}}class uk{constructor(t,e=20){this.model=t;this.size=0;this.limit=e;this.isLocked=false;this._changeCallback=(t,e)=>{if(e.type!=\"transparent\"&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch()}return this._batch}input(t){this.size+=t;if(this.size>=this.limit){this._reset(true)}}lock(){this.isLocked=true}unlock(){this.isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t){if(!this.isLocked||t){this._batch=null;this.size=0}}}class hk extends zw{constructor(t,e){super(t);this._buffer=new uk(t.model,e);this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.text||\"\";const o=i.length;const s=t.range?e.createSelection(t.range):n.selection;const r=t.resultRange;e.enqueueChange(this._buffer.batch,t=>{this._buffer.lock();e.deleteContent(s);if(i){e.insertContent(t.createText(i,n.selection.getAttributes()),s)}if(r){t.setSelection(r)}else if(!s.is(\"documentSelection\")){t.setSelection(s)}this._buffer.unlock();this._buffer.input(o);this._batches.add(this._buffer.batch)})}}function fk(t){let e=null;const n=t.model;const i=t.editing.view;const o=t.commands.get(\"input\");if(Cl.isAndroid){i.document.on(\"beforeinput\",(t,e)=>s(e),{priority:\"lowest\"})}else{i.document.on(\"keydown\",(t,e)=>s(e),{priority:\"lowest\"})}i.document.on(\"compositionstart\",r,{priority:\"lowest\"});i.document.on(\"compositionend\",()=>{e=n.createSelection(n.document.selection)},{priority:\"lowest\"});function s(t){const s=n.document;const r=i.document.isComposing;const c=e&&e.isEqual(s.selection);e=null;if(!o.isEnabled){return}if(mk(t)||s.selection.isCollapsed){return}if(r&&t.keyCode===229){return}if(!r&&t.keyCode===229&&c){return}a()}function r(){const t=n.document;const e=t.selection.rangeCount===1?t.selection.getFirstRange().isFlat:true;if(t.selection.isCollapsed||e){return}a()}function a(){const t=o.buffer;t.lock();n.enqueueChange(t.batch,()=>{n.deleteContent(n.document.selection)});t.unlock()}}const gk=[Dl(\"arrowUp\"),Dl(\"arrowRight\"),Dl(\"arrowDown\"),Dl(\"arrowLeft\"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++){gk.push(t)}function mk(t){if(t.ctrlKey){return true}return gk.includes(t.keyCode)}function pk(t,e){const n=[];let i=0;let o;t.forEach(t=>{if(t==\"equal\"){s();i++}else if(t==\"insert\"){if(r(\"insert\")){o.values.push(e[i])}else{s();o={type:\"insert\",index:i,values:[e[i]]}}i++}else{if(r(\"delete\")){o.howMany++}else{s();o={type:\"delete\",index:i,howMany:1}}}});s();return n;function s(){if(o){n.push(o);o=null}}function r(t){return o&&o.type==t}}function bk(t){if(t.length==0){return false}for(const e of t){if(e.type===\"children\"&&!wk(e)){return true}}return false}function wk(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=kd(t.oldChildren,t.newChildren,_k);const n=pk(e,t.newChildren);if(n.length>1){return}const i=n[0];if(!(!!i.values[0]&&i.values[0].is(\"text\"))){return}return i}function _k(t,e){if(!!t&&t.is(\"text\")&&!!e&&e.is(\"text\")){return t.data===e.data}else{return t===e}}function kk(t){t.editing.view.document.on(\"mutations\",(e,n,i)=>{new vk(t).handle(n,i)})}class vk{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(bk(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=yk(t);if(!n){return}const i=this.editor.editing.view.domConverter;const o=i.mapViewToDom(n);const s=new zd(this.editor.editing.view.document);const r=this.editor.data.toModel(s.domToView(o)).getChild(0);const a=this.editor.editing.mapper.toModelElement(n);if(!a){return}const c=Array.from(r.getChildren());const l=Array.from(a.getChildren());const d=c[c.length-1];const u=l[l.length-1];if(d&&d.is(\"softBreak\")&&u&&!u.is(\"softBreak\")){c.pop()}const h=this.editor.model.schema;if(!xk(c,h)||!xk(l,h)){return}const f=c.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");const g=l.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");if(g===f){return}const m=kd(g,f);const{firstChangeAt:p,insertions:b,deletions:w}=Ak(m);let _=null;if(e){_=this.editing.mapper.toModelRange(e.getFirstRange())}const k=f.substr(p,b);const v=this.editor.model.createRange(this.editor.model.createPositionAt(a,p),this.editor.model.createPositionAt(a,p+w));this.editor.execute(\"input\",{text:k,range:v,resultRange:_})}_handleTextMutation(t,e){if(t.type!=\"text\"){return}const n=t.newText.replace(/\\u00A0/g,\" \");const i=t.oldText.replace(/\\u00A0/g,\" \");if(i===n){return}const o=kd(i,n);const{firstChangeAt:s,insertions:r,deletions:a}=Ak(o);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,s);const d=this.editing.mapper.toModelPosition(l);const u=this.editor.model.createRange(d,d.getShiftedBy(a));const h=n.substr(s,r);this.editor.execute(\"input\",{text:h,range:u,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!=\"children\"){return}const e=wk(t);const n=this.editing.view.createPositionAt(t.node,e.index);const i=this.editing.mapper.toModelPosition(n);const o=e.values[0].data;this.editor.execute(\"input\",{text:o.replace(/\\u00A0/g,\" \"),range:this.editor.model.createRange(i)})}}function yk(t){const e=t.map(t=>t.node).reduce((t,e)=>t.getCommonAncestor(e,{includeSelf:true}));if(!e){return}return e.getAncestors({includeSelf:true,parentFirst:true}).find(t=>t.is(\"containerElement\")||t.is(\"rootElement\"))}function xk(t,e){return t.every(t=>e.isInline(t))}function Ak(t){let e=null;let n=null;for(let i=0;i<t.length;i++){const o=t[i];if(o!=\"equal\"){e=e===null?i:e;n=i}}let i=0;let o=0;for(let s=e;s<=n;s++){if(t[s]!=\"insert\"){i++}if(t[s]!=\"delete\"){o++}}return{insertions:o,deletions:i,firstChangeAt:e}}class Tk extends Dw{static get pluginName(){return\"Input\"}init(){const t=this.editor;const e=new hk(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"input\",e);fk(t);kk(t)}isInput(t){const e=this.editor.commands.get(\"input\");return e._batches.has(t)}}class Ck extends zw{constructor(t,e){super(t);this.direction=e;this._buffer=new uk(t.model,t.config.get(\"typing.undoStep\"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);const s=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(t.sequence||1)){this._replaceEntireContentWithParagraph(i);return}if(o.isCollapsed){return}let r=0;o.getFirstRange().getMinimalFlatRanges().forEach(t=>{r+=gl(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))});e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(r);i.setSelection(o);this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=i.isCollapsed&&i.containsEntireContent(o);if(!s){return false}if(!e.schema.checkChild(o,\"paragraph\")){return false}const r=o.getChild(0);if(r&&r.name===\"paragraph\"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=t.createElement(\"paragraph\");t.remove(t.createRangeIn(o));t.insert(s,o);t.setSelection(s,0)}}class Sk extends Yd{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keyup\",(t,e)=>{if(e.keyCode==Rl.delete||e.keyCode==Rl.backspace){n=0}});e.on(\"keydown\",(t,e)=>{const o={};if(e.keyCode==Rl.delete){o.direction=\"forward\";o.unit=\"character\"}else if(e.keyCode==Rl.backspace){o.direction=\"backward\";o.unit=\"codePoint\"}else{return}const s=Cl.isMac?e.altKey:e.ctrlKey;o.unit=s?\"word\":o.unit;o.sequence=++n;i(t,e.domEvent,o)});if(Cl.isAndroid){e.on(\"beforeinput\",(e,n)=>{if(n.domEvent.inputType!=\"deleteContentBackward\"){return}const o={unit:\"codepoint\",direction:\"backward\",sequence:1};const s=n.domTarget.ownerDocument.defaultView.getSelection();if(s.anchorNode==s.focusNode&&s.anchorOffset+1!=s.focusOffset){o.selectionToRemove=t.domConverter.domSelectionToView(s)}i(e,n.domEvent,o)})}function i(t,n,i){let o;e.once(\"delete\",t=>o=t,{priority:Number.POSITIVE_INFINITY});e.fire(\"delete\",new Gu(e,n,i));if(o&&o.stop.called){t.stop()}}}observe(){}}class Pk extends Dw{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Sk);t.commands.add(\"forwardDelete\",new Ck(t,\"forward\"));t.commands.add(\"delete\",new Ck(t,\"backward\"));this.listenTo(n,\"delete\",(n,i)=>{const o={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of i.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);o.selection=e}t.execute(i.direction==\"forward\"?\"forwardDelete\":\"delete\",o);i.preventDefault();e.scrollToTheSelection()});if(Cl.isAndroid){let t=null;this.listenTo(n,\"delete\",(e,n)=>{const i=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}},{priority:\"lowest\"});this.listenTo(n,\"keyup\",(e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset);e.extend(t.focusNode,t.focusOffset);t=null}})}}}class Ek extends Dw{static get requires(){return[Tk,Pk]}static get pluginName(){return\"Typing\"}}const Mk=new Map;function Ik(t,e,n){let i=Mk.get(t);if(!i){i=new Map;Mk.set(t,i)}i.set(e,n)}function Nk(t,e){const n=Mk.get(t);if(n&&n.has(e)){return n.get(e)}return Ok}function Ok(t){return[t]}function Rk(t,e,n={}){const i=Nk(t.constructor,e.constructor);try{t=t.clone();return i(t,e,n)}catch(t){throw t}}function Dk(t,e,n){t=t.slice();e=e.slice();const i=new Lk(n.document,n.useRelations,n.forceWeakRemove);i.setOriginalOperations(t);i.setOriginalOperations(e);const o=i.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:o}}const s=new WeakMap;for(const e of t){s.set(e,0)}const r={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;while(a<t.length){const n=t[a];const o=s.get(n);if(o==e.length){a++;continue}const r=e[o];const c=Rk(n,r,i.getContext(n,r,true));const l=Rk(r,n,i.getContext(r,n,false));i.updateRelation(n,r);i.setOriginalOperations(c,n);i.setOriginalOperations(l,r);for(const t of c){s.set(t,o+l.length)}t.splice(a,1,...c);e.splice(o,1,...l)}if(n.padWithNoOps){const n=t.length-r.originalOperationsACount;const i=e.length-r.originalOperationsBCount;Vk(t,i-n);Vk(e,n-i)}zk(t,r.nextBaseVersionB);zk(e,r.nextBaseVersionA);return{operationsA:t,operationsB:e,originalOperations:o}}class Lk{constructor(t,e,n=false){this.originalOperations=new Map;this._history=t.history;this._useRelations=e;this._forceWeakRemove=!!n;this._relations=new Map}setOriginalOperations(t,e=null){const n=e?this.originalOperations.get(e):null;for(const e of t){this.originalOperations.set(e,n||e)}}updateRelation(t,e){switch(t.constructor){case im:{switch(e.constructor){case cm:{if(t.targetPosition.isEqual(e.sourcePosition)||e.movedRange.containsPosition(t.targetPosition)){this._setRelation(t,e,\"insertAtSource\")}else if(t.targetPosition.isEqual(e.deletionPosition)){this._setRelation(t,e,\"insertBetween\")}else if(t.targetPosition.isAfter(e.sourcePosition)){this._setRelation(t,e,\"moveTargetAfter\")}break}case im:{if(t.targetPosition.isEqual(e.sourcePosition)||t.targetPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"insertBefore\")}else{this._setRelation(t,e,\"insertAfter\")}break}}break}case lm:{switch(e.constructor){case cm:{if(t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}case im:{if(t.splitPosition.isEqual(e.sourcePosition)||t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}}break}case cm:{switch(e.constructor){case cm:{if(!t.targetPosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeTargetNotMoved\")}if(t.sourcePosition.isEqual(e.targetPosition)){this._setRelation(t,e,\"mergeSourceNotMoved\")}if(t.sourcePosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeSameElement\")}break}case lm:{if(t.sourcePosition.isEqual(e.splitPosition)){this._setRelation(t,e,\"splitAtSource\")}}}break}case sm:{const n=t.newRange;if(!n){return}switch(e.constructor){case im:{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);const o=i.containsPosition(n.start)||i.start.isEqual(n.start);const s=i.containsPosition(n.end)||i.end.isEqual(n.end);if((o||s)&&!i.containsRange(n)){this._setRelation(t,e,{side:o?\"left\":\"right\",path:o?n.start.path.slice():n.end.path.slice()})}break}case cm:{const i=n.start.isEqual(e.targetPosition);const o=n.start.isEqual(e.deletionPosition);const s=n.end.isEqual(e.deletionPosition);const r=n.end.isEqual(e.sourcePosition);if(i||o||s||r){this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:o,wasEndBeforeMergedElement:s,wasInRightElement:r})}break}}break}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e);const i=this._history.getUndoneOperation(n);if(!i){return null}const o=this.originalOperations.get(t);const s=this._relations.get(o);if(s){return s.get(i)||null}return null}_setRelation(t,e,n){const i=this.originalOperations.get(t);const o=this.originalOperations.get(e);let s=this._relations.get(i);if(!s){s=new Map;this._relations.set(i,s)}s.set(o,n)}}function zk(t,e){for(const n of t){n.baseVersion=e++}}function Vk(t,e){for(let n=0;n<e;n++){t.push(new Nm(0))}}Ik(em,em,(t,e,n)=>{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map(e=>new em(e,t.key,t.oldValue,t.newValue,0));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new em(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new Nm(0)]}return i}else{return[t]}});Ik(em,om,(t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const i=n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion));if(e.shouldReceiveAttributes){const n=jk(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]});function jk(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const s=new Qh(t.position,t.position.getShiftedBy(t.howMany));return new em(s,e,o,n,0)}Ik(em,cm,(t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Qh._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});Ik(em,im,(t,e)=>{const n=Bk(t.range,e);return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});function Bk(t,e){const n=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const s=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,i);s.push(...t)}if(i){s.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return s}Ik(em,lm,(t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Qh(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness=\"toPrevious\";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]});Ik(om,em,(t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=jk(t,e.key,e.newValue);if(i){n.push(i)}}return n});Ik(om,om,(t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(om,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(om,lm,(t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(om,cm,(t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(sm,om,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]});Ik(sm,sm,(t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Nm(0)]}}return[t]});Ik(sm,cm,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]});Ik(sm,im,(t,e,n)=>{if(t.oldRange){t.oldRange=Qh._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side==\"left\"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.start.path=n.abRelation.path;t.newRange.end=i.end;return[t]}else if(n.abRelation.side==\"right\"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]});Ik(sm,lm,(t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=qh._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=qh._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=qh._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=qh._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]});Ik(cm,om,(t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]});Ik(cm,cm,(t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Nm(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new qh(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!=\"splitAtSource\"){const i=t.targetPosition.root.rootName==\"$graveyard\";const o=e.targetPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new im(n,t.howMany,i,0)]}else{return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(cm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]});Ik(cm,lm,(t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||n.abRelation==\"mergeTargetNotMoved\"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation==\"mergeSourceNotMoved\"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation==\"mergeSameElement\"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]});Ik(im,om,(t,e)=>{const n=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]});Ik(im,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let s=n.aIsStrong;let r=!n.aIsStrong;if(n.abRelation==\"insertBefore\"||n.baRelation==\"insertAfter\"){r=true}else if(n.abRelation==\"insertAfter\"||n.baRelation==\"insertBefore\"){r=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&r){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(Fk(t,e)&&Fk(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return Hk([i],a)}const d=Dr(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d==\"prefix\"||d==\"extension\"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}if(t.type==\"remove\"&&e.type!=\"remove\"&&!n.aWasUndone&&!n.forceWeakRemove){s=true}else if(t.type!=\"remove\"&&e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){s=false}const u=[];const h=i.getDifference(o);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Dr(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())==\"same\";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const f=i.getIntersection(o);if(f!==null&&s){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(f)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(f)}else{u.push(f)}}else{u.splice(1,0,f)}}if(u.length===0){return[new Nm(t.baseVersion)]}return Hk(u,a)});Ik(im,lm,(t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation==\"moveTargetAfter\"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Qh(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new Qh(o.start,e.splitPosition),t];return Hk(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation==\"insertAtSource\"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation==\"insertBetween\"){i=t.targetPosition}const s=o._getTransformedBySplitOperation(e);const r=[s];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){r.push(Qh._createFromPositionAndShift(e.insertionPosition,1))}}return Hk(r,i)});Ik(im,cm,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type==\"remove\"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new im(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const s=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const r=new im(i,1,s,0);const a=r.getMovedRangeStart().path.slice();a.push(0);const c=new qh(r.targetPosition.root,a);o=o._getTransformedByMove(i,s,1);const l=new im(o,e.howMany,c,0);n.push(r);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Nm(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const s=o._getTransformedByMergeOperation(e);t.sourcePosition=s.start;t.howMany=s.end.offset-s.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]});Ik(rm,om,(t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(rm,cm,(t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness=\"toNext\";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(rm,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(rm,rm,(t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Nm(0)]}}return[t]});Ik(rm,lm,(t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Dr(n,i)==\"same\"&&!e.graveyardPosition){const e=new rm(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(am,am,(t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Nm(0)]}else{t.oldValue=e.newValue}}return[t]});Ik(lm,om,(t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset<e.position.offset){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByInsertOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});Ik(lm,cm,(t,e,n)=>{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new qh(e.graveyardPosition.root,n);const o=lm.getInsertionPosition(new qh(e.graveyardPosition.root,n));const s=new lm(i,0,null,0);s.insertionPosition=o;t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);t.graveyardPosition=s.insertionPosition.clone();t.graveyardPosition.stickiness=\"toNext\";return[s,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(lm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const s=new qh(i.root,o);const r=new im(n,t.howMany,s,0);return[r]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}t.splitPosition=e.sourcePosition.clone();t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation==\"insertAtSource\"||n.abRelation==\"splitBefore\")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}if(!e.sourcePosition.isEqual(e.targetPosition)){if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&t.splitPosition.offset<=e.sourcePosition.offset){t.howMany-=e.howMany}if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}}t.splitPosition.stickiness=\"toNone\";t.splitPosition=t.splitPosition._getTransformedByMoveOperation(e);t.splitPosition.stickiness=\"toNext\";if(t.graveyardPosition){t.insertionPosition=t.insertionPosition._getTransformedByMoveOperation(e)}else{t.insertionPosition=lm.getInsertionPosition(t.splitPosition)}return[t]});Ik(lm,lm,(t,e,n)=>{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Nm(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Nm(0)]}if(n.abRelation==\"splitBefore\"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=t.splitPosition.root.rootName==\"$graveyard\";const o=e.splitPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new im(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new im(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Nm(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation==\"splitBefore\"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation==\"splitBefore\"){const n=e.insertionPosition.path.slice();n.push(0);const i=new qh(e.insertionPosition.root,n);const o=new im(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset<e.splitPosition.offset){t.howMany-=e.howMany}t.splitPosition=t.splitPosition._getTransformedBySplitOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});function Fk(t,e){return t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)===null}function Hk(t,e){const n=[];for(let i=0;i<t.length;i++){const o=t[i];const s=new im(o.start,o.end.offset-o.start.offset,e,0);n.push(s);for(let e=i+1;e<t.length;e++){t[e]=t[e]._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)[0]}e=e._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)}return n}class Uk extends zw{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh()}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model;const o=i.document;const s=[];for(const e of t){const t=Wk(e,n);const i=t.find(t=>t.start.root!=o.graveyard);if(i){s.push(i)}}if(s.length){i.change(t=>{t.setSelection(s,{backward:e})})}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter(t=>t.isDocumentOperation);o.reverse();for(const t of o){const o=t.baseVersion+1;const s=Array.from(i.history.getOperations(o));const r=Dk([t.getReversed()],s,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=r.operationsA;for(const o of a){e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function Wk(t,e){const n=t.getTransformedByOperations(e);n.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;t<n.length;t++){const e=n[t-1];const i=n[t];if(e.end.isTouching(i.start)){e.end=i.end;n.splice(t,1);t--}}return n}class qk extends Uk{execute(t=null){const e=t?this._stack.findIndex(e=>e.batch==t):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t);this.fire(\"revert\",n.batch,i)});this.refresh()}}class $k extends Uk{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(e,()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)});this.refresh()}}class Yk extends Dw{static get pluginName(){return\"UndoEditing\"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new qk(t);this._redoCommand=new $k(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const i=n.batch;const o=this._redoCommand._createdBatches.has(i);const s=this._undoCommand._createdBatches.has(i);const r=this._batchRegistry.has(i);if(r||i.type==\"transparent\"&&!o&&!s){return}else{if(o){this._undoCommand.addBatch(i)}else if(!s){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}this._batchRegistry.add(i)},{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",(t,e,n)=>{this._redoCommand.addBatch(n)});t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}var Gk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.042 9.367l2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z\"/></svg>';var Qk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.958 9.367l-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z\"/></svg>';class Kk extends Dw{init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?Gk:Qk;const o=e.uiLanguageDirection==\"ltr\"?Qk:Gk;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",i);this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,s=>{const r=o.commands.get(t);const a=new sw(s);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind(\"isEnabled\").to(r,\"isEnabled\");this.listenTo(a,\"execute\",()=>{o.execute(t);o.editing.view.focus()});return a})}}class Jk extends Dw{static get requires(){return[Yk,Kk]}static get pluginName(){return\"Undo\"}}class Zk extends Dw{static get requires(){return[$_,Z_,dk,ok,Ek,Jk]}static get pluginName(){return\"Essentials\"}}class Xk extends zw{refresh(){const t=this.editor.model;const e=t.document;const n=jw(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"paragraph\");this.isEnabled=!!n&&tv(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change(i=>{const o=(t.selection||n.selection).getSelectedBlocks();for(const t of o){if(!t.is(\"paragraph\")&&tv(t,e.schema)){i.rename(t,\"paragraph\")}}})}}function tv(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class ev extends zw{execute(t){const e=this.editor.model;if(!e.schema.checkChild(t.position,\"paragraph\")){return}e.change(n=>{const i=n.createElement(\"paragraph\");e.insertContent(i,t.position);n.setSelection(i,\"in\")})}}class nv extends Dw{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;const n=t.data;t.commands.add(\"paragraph\",new Xk(t));t.commands.add(\"insertParagraph\",new ev(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,e)=>{if(!nv.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},converterPriority:\"low\"});n.upcastDispatcher.on(\"element\",(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:e.viewItem.name})){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"low\"});n.upcastDispatcher.on(\"text\",(t,e,n)=>{if(e.modelRange){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"lowest\"});e.document.registerPostFixer(t=>this._autoparagraphEmptyRoots(t));t.data.on(\"ready\",()=>{e.enqueueChange(\"transparent\",t=>this._autoparagraphEmptyRoots(t))},{priority:\"lowest\"})}_autoparagraphEmptyRoots(t){const e=this.editor.model;for(const n of e.document.getRootNames()){const i=e.document.getRoot(n);if(i.isEmpty&&i.rootName!=\"$graveyard\"){if(e.schema.checkChild(i,\"paragraph\")){t.insertElement(\"paragraph\",i);return true}}}}}nv.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\"]);function iv(t,e,n){const i=n.writer.createElement(\"paragraph\");n.writer.insert(i,e);return n.convertItem(t,n.writer.createPositionAt(i,0))}function ov(t,e,n){const i=n.createContext(e);if(!n.checkChild(i,\"paragraph\")){return false}if(!n.checkChild(i.push(\"paragraph\"),t)){return false}return true}class sv extends zw{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some(e=>rv(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change(t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter(t=>rv(t,i,e.schema));for(const e of o){if(!e.is(i)){t.rename(e,i)}}})}}function rv(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const av=\"paragraph\";class cv extends Dw{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t);t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[nv]}init(){const t=this.editor;const e=t.config.get(\"heading.options\");const n=[];for(const i of e){if(i.model!==av){t.model.schema.register(i.model,{inheritAllFrom:\"$block\"});t.conversion.elementToElement(i);n.push(i.model)}}this._addDefaultH1Conversion(t);t.commands.add(\"heading\",new sv(t,n))}afterInit(){const t=this.editor;const e=t.commands.get(\"enter\");const n=t.config.get(\"heading.options\");if(e){this.listenTo(e,\"afterExecute\",(e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const s=n.some(t=>o.is(t.model));if(s&&!o.is(av)&&o.childCount===0){i.writer.rename(o,av)}})}}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:or.get(\"low\")+1})}}class lv{constructor(t,e){if(e){qc(this,e)}if(t){this.set(t)}}}yr(lv,Kc);function dv(t){const e=t.t;const n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map(t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t})}var uv=n(12);class hv extends Dw{init(){const t=this.editor;const e=t.t;const n=dv(t);const i=e(\"Choose heading\");const o=e(\"Heading\");t.ui.componentFactory.add(\"heading\",e=>{const s={};const r=new xr;const a=t.commands.get(\"heading\");const c=t.commands.get(\"paragraph\");const l=[a];for(const t of n){const e={type:\"button\",model:new lv({label:t.title,class:t.class,withText:true})};if(t.model===\"paragraph\"){e.model.bind(\"isOn\").to(c,\"value\");e.model.set(\"commandName\",\"paragraph\");l.push(c)}else{e.model.bind(\"isOn\").to(a,\"value\",e=>e===t.model);e.model.set({commandName:\"heading\",commandValue:t.model})}r.add(e);s[t.model]=t.title}const d=bw(e);_w(d,r);d.buttonView.set({isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}});d.bind(\"isEnabled\").toMany(l,\"isEnabled\",(...t)=>t.some(t=>t));d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",(t,e)=>{const n=t||e&&\"paragraph\";return s[n]?s[n]:i});this.listenTo(d,\"execute\",e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:undefined);t.editing.view.focus()});return d})}}class fv extends Dw{static get requires(){return[cv,hv]}static get pluginName(){return\"Heading\"}}class gv extends Yd{observe(t){this.listenTo(t,\"load\",(t,e)=>{const n=e.target;if(n.tagName==\"IMG\"){this._fireEvents(e)}},{useCapture:true})}_fireEvents(t){if(this.isEnabled){this.document.fire(\"layoutChanged\");this.document.fire(\"imageLoaded\",t)}}}class mv{constructor(){this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t.id);if(pv(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&bv(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t);if(n>-1){e.splice(n,1)}}}yr(mv,dr);function pv(t,e){return t&&e&&t.priority==e.priority&&wv(t.classes)==wv(e.classes)}function bv(t,e){if(t.priority>e.priority){return true}else if(t.priority<e.priority){return false}return wv(t.classes)>wv(e.classes)}function wv(t){return Array.isArray(t)?t.sort().join(\",\"):t}var _v=n(48);const kv=Nb(\"px\");const vv=Nd.document.body;class yv extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"position\",\"arrow_nw\");this.set(\"isVisible\",false);this.set(\"withArrow\",true);this.set(\"class\");this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",t=>`ck-balloon-panel_${t}`),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",kv),left:e.to(\"left\",kv)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=yv.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:vv,fitInViewport:true},t);const i=yv._getOptimalPosition(n);const o=parseInt(i.left);const s=parseInt(i.top);const r=i.name;Object.assign(this,{top:s,left:o,position:r})}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=xv(t.target);const n=t.limiter?xv(t.limiter):vv;this.listenTo(Nd.document,\"scroll\",(i,o)=>{const s=o.target;const r=e&&s.contains(e);const a=n&&s.contains(n);if(r||a||!e||!n){this.attachTo(t)}},{useCapture:true});this.listenTo(Nd.window,\"resize\",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(Nd.document,\"scroll\");this.stopListening(Nd.window,\"resize\")}}function xv(t){if(Gs(t)){return t}if(wh(t)){return t.commonAncestorContainer}if(typeof t==\"function\"){return xv(t())}return null}yv.arrowHorizontalOffset=25;yv.arrowVerticalOffset=10;yv._getOptimalPosition=$b;yv.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northWestArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northWestArrowSouth:(t,e)=>({top:Av(t,e),left:t.left-e.width/2,name:\"arrow_s\"}),northWestArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northWestArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northArrowSouth:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\"}),northArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northEastArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northEastArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northEastArrowSouth:(t,e)=>({top:Av(t,e),left:t.right-e.width/2,name:\"arrow_s\"}),northEastArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northEastArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),southWestArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southWestArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southWestArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left-e.width/2,name:\"arrow_n\"}),southWestArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southWestArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_n\"}),southArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southEastArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southEastArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southEastArrowNorth:(t,e)=>({top:Tv(t,e),left:t.right-e.width/2,name:\"arrow_n\"}),southEastArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southEastArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"})};function Av(t,e){return t.top-e.height-yv.arrowVerticalOffset}function Tv(t){return t.bottom+yv.arrowVerticalOffset}var Cv='<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z\"/><path fill-opacity=\".256\" d=\"M1 1h14v14H1z\"/><g class=\"ck-icon__selected-indicator\"><path d=\"M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z\"/><path fill-opacity=\".254\" d=\"M1 1h14v14H1z\"/></g></svg>';const Sv=\"ck-widget\";const Pv=\"ck-widget_selected\";function Ev(t){if(!t.is(\"element\")){return false}return!!t.getCustomProperty(\"widget\")}function Mv(t,e,n={}){e.setAttribute(\"contenteditable\",\"false\",t);e.addClass(Sv,t);e.setCustomProperty(\"widget\",true,t);t.getFillerOffset=Vv;if(n.label){Nv(t,n.label,e)}if(n.hasSelectionHandle){jv(t,e)}Iv(t,e,(t,e,n)=>n.addClass(i(e.classes),t),(t,e,n)=>n.removeClass(i(e.classes),t));return t;function i(t){return Array.isArray(t)?t:[t]}}function Iv(t,e,n,i){const o=new mv;o.on(\"change:top\",(e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}});e.setCustomProperty(\"addHighlight\",(t,e,n)=>o.add(e,n),t);e.setCustomProperty(\"removeHighlight\",(t,e,n)=>o.remove(e,n),t)}function Nv(t,e,n){n.setCustomProperty(\"widgetLabel\",e,t)}function Ov(t){const e=t.getCustomProperty(\"widgetLabel\");if(!e){return\"\"}return typeof e==\"function\"?e():e}function Rv(t,e){e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t);e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t);t.on(\"change:isReadOnly\",(n,i,o)=>{e.setAttribute(\"contenteditable\",o?\"false\":\"true\",t)});t.on(\"change:isFocused\",(n,i,o)=>{if(o){e.addClass(\"ck-editor__nested-editable_focused\",t)}else{e.removeClass(\"ck-editor__nested-editable_focused\",t)}});return t}function Dv(t,e){const n=t.getSelectedElement();if(n&&e.schema.isBlock(n)){return e.createPositionAfter(n)}const i=t.getSelectedBlocks().next().value;if(i){if(i.isEmpty){return e.createPositionAt(i,0)}const n=e.createPositionAfter(i);if(t.focus.isTouching(n)){return n}return e.createPositionBefore(i)}return t.focus}function Lv(t,e){return(n,i)=>{const{mapper:o,viewPosition:s}=i;const r=o.findMappedViewAncestor(s);if(!e(r)){return}const a=o.toModelElement(r);i.modelPosition=t.createPositionAt(a,s.isAtStart?\"before\":\"after\")}}function zv(t,e){const n=new vh(Nd.window);const i=n.getIntersection(t);const o=e.height+yv.arrowVerticalOffset;if(t.top-o>n.top||t.bottom+o<n.bottom){return null}const s=i||t;const r=s.left+s.width/2-e.width/2;return{top:Math.max(t.top,0)+yv.arrowVerticalOffset,left:r,name:\"arrow_n\"}}function Vv(){return null}function jv(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t);const n=new ew;n.set(\"content\",Cv);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass([\"ck-widget_with-selection-handle\"],t)}function Bv(t,e,n){e.setCustomProperty(\"image\",true,t);return Mv(t,e,{label:i});function i(){const e=$v(t);const i=e.getAttribute(\"alt\");return i?`${i} ${n}`:n}}function Fv(t){return!!t.getCustomProperty(\"image\")&&Ev(t)}function Hv(t){const e=t.getSelectedElement();if(e&&Fv(e)){return e}return null}function Uv(t){return!!t&&t.is(\"image\")}function Wv(t,e,n={}){const i=t.createElement(\"image\",n);const o=Dv(e.document.selection,e);e.insertContent(i,o);if(i.parent){t.setSelection(i,\"on\")}}function qv(t){const e=t.schema;const n=t.document.selection;return Yv(n,e,t)&&!Gv(n,e)&&Qv(n)}function $v(t){return Array.from(t.getChildren()).find(t=>t.is(\"img\"))}function Yv(t,e,n){const i=Kv(t,n);return e.checkChild(i,\"image\")}function Gv(t,e){const n=t.getSelectedElement();return n&&e.isObject(n)}function Qv(t){return[...t.focus.getAncestors()].every(t=>!t.is(\"image\"))}function Kv(t,e){const n=Dv(t,e);const i=n.parent;if(i.isEmpty&&!i.is(\"$root\")){return i.parent}return i}function Jv(){return e=>{e.on(\"element:figure\",t)};function t(t,e,n){if(!n.consumable.test(e.viewItem,{name:true,classes:\"image\"})){return}const i=$v(e.viewItem);if(!i||!i.hasAttribute(\"src\")||!n.consumable.test(i,{name:true})){return}const o=n.convertItem(i,e.modelCursor);const s=jw(o.modelRange.getItems());if(!s){return}n.convertChildren(e.viewItem,n.writer.createPositionAt(s,0));e.modelRange=o.modelRange;e.modelCursor=o.modelCursor}}function Zv(){return e=>{e.on(\"attribute:srcset:image\",t)};function t(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue===null){const t=e.attributeOldValue;if(t.data){i.removeAttribute(\"srcset\",s);i.removeAttribute(\"sizes\",s);if(t.width){i.removeAttribute(\"width\",s)}}}else{const t=e.attributeNewValue;if(t.data){i.setAttribute(\"srcset\",t.data,s);i.setAttribute(\"sizes\",\"100vw\",s);if(t.width){i.setAttribute(\"width\",t.width,s)}}}}}function Xv(t){return n=>{n.on(`attribute:${t}:image`,e)};function e(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue!==null){i.setAttribute(e.attributeKey,e.attributeNewValue,s)}else{i.removeAttribute(e.attributeKey,s)}}}class ty extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor.model;e.change(n=>{const i=Array.isArray(t.source)?t.source:[t.source];for(const t of i){Wv(n,e,{src:t})}})}}class ey extends Dw{static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;t.editing.view.addObserver(gv);e.register(\"image\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});i.for(\"dataDowncast\").elementToElement({model:\"image\",view:(t,e)=>ny(e)});i.for(\"editingDowncast\").elementToElement({model:\"image\",view:(t,e)=>Bv(ny(e),e,n(\"image widget\"))});i.for(\"downcast\").add(Xv(\"src\")).add(Xv(\"alt\")).add(Zv());i.for(\"upcast\").elementToElement({view:{name:\"img\",attributes:{src:true}},model:(t,e)=>e.createElement(\"image\",{src:t.getAttribute(\"src\")})}).attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:{key:\"srcset\",value:t=>{const e={data:t.getAttribute(\"srcset\")};if(t.hasAttribute(\"width\")){e.width=t.getAttribute(\"width\")}return e}}}).add(Jv());t.commands.add(\"imageInsert\",new ty(t))}}function ny(t){const e=t.createEmptyElement(\"img\");const n=t.createContainerElement(\"figure\",{class:\"image\"});t.insert(t.createPositionAt(n,0),e);return n}class iy extends Qu{constructor(t){super(t);this.domEventType=\"mousedown\"}onDomEvent(t){this.fire(t.type,t)}}function oy(t,e,n){return t&&Ev(t)&&!n.isInline(e)}function sy(t){return t.closest(\".ck-widget__type-around__button\")}function ry(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}function ay(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}function cy(t){const e=[];if(ly(t)||uy(t)){e.push(\"before\")}if(dy(t)||hy(t)){e.push(\"after\")}return e}function ly(t){return!t.previousSibling}function dy(t){return!t.nextSibling}function uy(t){return t.previousSibling&&Ev(t.previousSibling)}function hy(t){return t.nextSibling&&Ev(t.nextSibling)}var fy='<svg viewBox=\"0 0 10 8\" xmlns=\"http://www.w3.org/2000/svg\"><polyline points=\"8.05541992 0.263427734 8.05541992 4.23461914 1.28417969 4.23461914\" transform=\"translate(1,0)\"></polyline><line x1=\"0\" y1=\"4.21581031\" x2=\"2\" y2=\"2.17810059\" transform=\"translate(1, 0)\"></line><line x1=\"0\" y1=\"6.21581031\" x2=\"2\" y2=\"4.17810059\" transform=\"translate(2, 5.196955) scale(1, -1) translate(-1, -5.196955)\"></line></svg>\\n';var gy=n(50);const my=[\"before\",\"after\"];const py=(new DOMParser).parseFromString(fy,\"image/svg+xml\").firstChild;class by extends Dw{static get requires(){return[nv]}static get pluginName(){return\"WidgetTypeAround\"}constructor(t){super(t);this._widgetsWithTypeAroundUI=new Set}destroy(){this._widgetsWithTypeAroundUI.clear()}init(){this._enableTypeAroundUIInjection();this._enableDetectionOfTypeAroundWidgets();this._enableInsertingParagraphsOnButtonClick()}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.editing.mapper.toModelElement(t);let s;if(e===\"before\"){s=n.model.createPositionBefore(o)}else{s=n.model.createPositionAfter(o)}n.execute(\"insertParagraph\",{position:s});i.focus();i.scrollToTheSelection()}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",(t,n,o)=>{const s=o.mapper.toViewElement(n.item);if(oy(s,n.item,e)){wy(o.writer,i,s);this._widgetsWithTypeAroundUI.add(s)}},{priority:\"low\"})}_enableDetectionOfTypeAroundWidgets(){const t=this.editor;const e=t.editing.view;function n(t){return`ck-widget_can-type-around_${t}`}e.document.registerPostFixer(t=>{for(const e of this._widgetsWithTypeAroundUI){if(!e.isAttached()){this._widgetsWithTypeAroundUI.delete(e)}else{const i=cy(e);t.removeClass(my.map(n),e);t.addClass(i.map(n),e)}}})}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;e.document.on(\"mousedown\",(t,n)=>{const i=sy(n.domTarget);if(!i){return}const o=ry(i);const s=ay(i,e.domConverter);this._insertParagraph(s,o);n.preventDefault();t.stop()})}}function wy(t,e,n){const i=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);_y(n,e);return n}));t.insert(t.createPositionAt(n,\"end\"),i)}function _y(t,e){for(const n of my){const i=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(py,true)]});t.appendChild(i.render())}}var ky=n(52);class vy extends Dw{static get pluginName(){return\"Widget\"}static get requires(){return[by]}init(){const t=this.editor.editing.view;const e=t.document;this._previouslySelected=new Set;this.editor.editing.downcastDispatcher.on(\"selection\",(t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;const s=o.getSelectedElement();let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(Ev(t)&&!Ay(t,r)){i.addClass(Pv,t);this._previouslySelected.add(t);r=t;if(t==s){i.setSelection(o.getRanges(),{fake:true,label:Ov(s)})}}}}},{priority:\"low\"});t.addObserver(iy);this.listenTo(e,\"mousedown\",(...t)=>this._onMousedown(...t));this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:\"high\"});this.listenTo(e,\"delete\",(t,e)=>{if(this._handleDelete(e.direction==\"forward\")){e.preventDefault();t.stop()}},{priority:\"high\"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let s=e.target;if(xy(s)){if(Cl.isSafari&&e.domEvent.detail>=3){const t=n.editing.mapper;const i=t.toModelElement(s);this.editor.model.change(t=>{e.preventDefault();t.setSelection(i,\"in\")})}return}if(!Ev(s)){s=s.findAncestor(Ev);if(!s){return}}e.preventDefault();if(!o.isFocused){i.focus()}const r=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(r)}_onKeydown(t,e){const n=e.keyCode;const i=this.editor.locale.contentLanguageDirection===\"ltr\";const o=n==Rl.arrowdown||n==Rl[i?\"arrowright\":\"arrowleft\"];let s=false;if(yy(n)){s=this._handleArrowKeys(o)}else if(n===Rl.enter){s=this._handleEnterKey(e.shiftKey)}if(s){e.preventDefault();t.stop()}}_handleDelete(t){if(this.editor.isReadOnly){return}const e=this.editor.model.document;const n=e.selection;if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change(t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)});return true}}_handleArrowKeys(t){const e=this.editor.model;const n=e.schema;const i=e.document;const o=i.selection;const s=o.getSelectedElement();if(s&&n.isObject(s)){const i=t?o.getLastPosition():o.getFirstPosition();const s=n.getNearestSelectionRange(i,t?\"forward\":\"backward\");if(s){e.change(t=>{t.setSelection(s)})}return true}if(!o.isCollapsed){return}const r=this._getObjectElementNextToSelection(t);if(!!r&&n.isObject(r)){this._setSelectionOverElement(r);return true}}_handleEnterKey(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(Ty(i,e.schema)){e.change(n=>{let o=n.createPositionAt(i,t?\"before\":\"after\");const s=n.createElement(\"paragraph\");if(e.schema.isBlock(i.parent)){const t=e.schema.findAllowedParent(o,s);o=n.split(o,t).position}n.insert(s,o);n.setSelection(s,\"in\")});return true}}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?\"forward\":\"backward\"});const s=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!s&&n.isObject(s)){return s}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(Pv,e)}this._previouslySelected.clear()}}function yy(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function xy(t){while(t){if(t.is(\"editableElement\")&&!t.is(\"rootElement\")){return true}if(Ev(t)){return false}t=t.parent}return false}function Ay(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function Ty(t,e){return t&&e.isObject(t)&&!e.isInline(t)}class Cy extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(Uv(t)&&t.hasAttribute(\"alt\")){this.value=t.getAttribute(\"alt\")}else{this.value=false}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"alt\",t.newValue,n)})}}class Sy extends Dw{static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new Cy(this.editor))}}var Py=n(54);class Ey extends _b{constructor(t,e){super(t);const n=`ck-labeled-field-view-${nr()}`;const i=`ck-labeled-field-view-status-${nr()}`;this.fieldView=e(this,n,i);this.set(\"label\");this.set(\"isEnabled\",true);this.set(\"errorText\",null);this.set(\"infoText\",null);this.set(\"class\");this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",(t,e)=>t||e);const o=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",t=>!t)]},children:[this.labelView,this.fieldView,this.statusView]})}_createLabelView(t){const e=new Pb(this.locale);e.for=t;e.bind(\"text\").to(this,\"label\");return e}_createStatusView(t){const e=new _b(this.locale);const n=this.bindTemplate;e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",t=>!t)],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]});return e}focus(){this.fieldView.focus()}}var My=n(56);class Iy extends _b{constructor(t){super(t);this.set(\"value\");this.set(\"id\");this.set(\"placeholder\");this.set(\"isReadOnly\",false);this.set(\"hasError\",false);this.set(\"ariaDescribedById\");const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{type:\"text\",class:[\"ck\",\"ck-input\",\"ck-input-text\",e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",true),\"aria-describedby\":e.to(\"ariaDescribedById\")},on:{input:e.to(\"input\")}})}render(){super.render();const t=t=>{this.element.value=!t&&t!==0?\"\":t};t(this.value);this.on(\"change:value\",(e,n,i)=>{t(i)})}select(){this.element.select()}focus(){this.element.focus()}}function Ny(t,e,n){const i=new Iy(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isReadOnly\").to(t,\"isEnabled\",t=>!t);i.bind(\"hasError\").to(t,\"errorText\",t=>!!t);i.on(\"input\",()=>{t.errorText=null});return i}function Oy(t,e,n){const i=bw(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isEnabled\").to(t);return i}function Ry({view:t}){t.listenTo(t.element,\"submit\",(e,n)=>{n.preventDefault();t.fire(\"submit\")},{useCapture:true})}var Dy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z\"/></svg>';var Ly='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.591 10.177l4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z\"/></svg>';var zy=n(58);class Vy extends _b{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(e(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);Ry({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)})}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Text alternative\");e.fieldView.placeholder=t(\"Text alternative\");return e}}var jy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z\"/></svg>';var By='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z\"/></svg>';var Fy=n(60);var Hy=n(62);const Uy=Nb(\"px\");class Wy extends Dw{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t);this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set(\"visibleView\",null);this.view=new yv(t.locale);t.ui.view.body.add(this.view);t.ui.focusTracker.add(this.view.element);this._viewToStack=new Map;this._idToStack=new Map;this.set(\"_numberOfStacks\",0);this.set(\"_singleViewMode\",false);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view)){throw new rr[\"b\"](\"contextualballoon-add-view-exist: Cannot add configuration of the same view twice.\",[this,t])}const e=t.stackId||\"main\";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new rr[\"b\"](\"contextualballoon-remove-view-not-exist: Cannot remove the configuration of a non-existent view.\",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new rr[\"b\"](\"contextualballoon-showstack-stack-not-exist: Cannot show a stack that does not exist.\",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find(e=>e[1]===t);return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new qy(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>!e&&t>1);t.on(\"change:isNavigationVisible\",()=>this.updatePosition(),{priority:\"low\"});t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",(t,n)=>{if(n<2){return\"\"}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[i,n])});t.buttonNextView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()});t.buttonPrevView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()});return t}_createFakePanelsView(){const t=new $y(this.editor.locale,this.view);t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0});t.listenTo(this.view,\"change:top\",()=>t.updatePosition());t.listenTo(this.view,\"change:left\",()=>t.updatePosition());this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t&&!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}return t}}class qy extends _b{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set(\"isNavigationVisible\",true);this.focusTracker=new Sp;this.buttonPrevView=this._createButtonView(e(\"Previous\"),jy);this.buttonNextView=this._createButtonView(e(\"Next\"),By);this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",t=>t?\"\":\"ck-hidden\")]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new sw(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class $y extends _b{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"height\",0);this.set(\"width\",0);this.set(\"numberOfPanels\",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",t=>t?\"\":\"ck-hidden\")],style:{top:n.to(\"top\",Uy),left:n.to(\"left\",Uy),width:n.to(\"width\",Uy),height:n.to(\"height\",Uy)}},children:this.content});this.on(\"change:numberOfPanels\",(t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()})}_addPanels(t){while(t--){const t=new _b;t.setTemplate({tag:\"div\"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new vh(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Yy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.085 6.22L2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21l-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z\"/></svg>';function Gy(t){const e=t.plugins.get(\"ContextualBalloon\");if(Hv(t.editing.view.document.selection)){const n=Qy(t);e.updatePosition(n)}}function Qy(t){const e=t.editing.view;const n=yv.defaultPositions;return{target:e.domConverter.viewToDom(e.document.selection.getSelectedElement()),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class Ky extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton();this._createForm()}destroy(){super.destroy();this._form.destroy()}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",n=>{const i=t.commands.get(\"imageTextAlternative\");const o=new sw(n);o.set({label:e(\"Change image text alternative\"),icon:Yy,tooltip:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");this.listenTo(o,\"execute\",()=>{this._showForm()});return o})}_createForm(){const t=this.editor;const e=t.editing.view;const n=e.document;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this._form=new Vy(t.locale);this._form.render();this.listenTo(this._form,\"submit\",()=>{t.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)});this.listenTo(this._form,\"cancel\",()=>{this._hideForm(true)});this._form.keystrokes.set(\"Esc\",(t,e)=>{this._hideForm(true);e()});this.listenTo(t.ui,\"update\",()=>{if(!Hv(n.selection)){this._hideForm(true)}else if(this._isVisible){Gy(t)}});gw({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}const t=this.editor;const e=t.commands.get(\"imageTextAlternative\");const n=this._form.labeledInput;if(!this._isInBalloon){this._balloon.add({view:this._form,position:Qy(t)})}n.fieldView.value=n.fieldView.element.value=e.value||\"\";this._form.labeledInput.fieldView.select()}_hideForm(t){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class Jy extends Dw{static get requires(){return[Sy,Ky]}static get pluginName(){return\"ImageTextAlternative\"}}var Zy=n(64);class Xy extends Dw{static get requires(){return[ey,vy,Jy]}static get pluginName(){return\"Image\"}}function tx(t,e){return n=>{const i=n.createEditableElement(\"figcaption\");n.setCustomProperty(\"imageCaption\",true,i);Op({view:t,element:i,text:e});return Rv(i,n)}}function ex(t){return!!t.getCustomProperty(\"imageCaption\")}function nx(t){for(const e of t.getChildren()){if(!!e&&e.is(\"caption\")){return e}}return null}function ix(t){const e=t.parent;if(t.name==\"figcaption\"&&e&&e.name==\"figure\"&&e.hasClass(\"image\")){return{name:true}}return null}class ox extends Dw{static get pluginName(){return\"ImageCaptionEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=t.model.schema;const i=t.data;const o=t.editing;const s=t.t;n.register(\"caption\",{allowIn:\"image\",allowContentOf:\"$block\",isLimit:true});t.model.document.registerPostFixer(t=>this._insertMissingModelCaptionElement(t));t.conversion.for(\"upcast\").elementToElement({view:ix,model:\"caption\"});const r=t=>t.createContainerElement(\"figcaption\");i.downcastDispatcher.on(\"insert:caption\",sx(r,false));const a=tx(e,s(\"Enter image caption\"));o.downcastDispatcher.on(\"insert:caption\",sx(a));o.downcastDispatcher.on(\"insert\",this._fixCaptionVisibility(t=>t.item),{priority:\"high\"});o.downcastDispatcher.on(\"remove\",this._fixCaptionVisibility(t=>t.position.parent),{priority:\"high\"});e.document.registerPostFixer(t=>this._updateCaptionVisibility(t))}_updateCaptionVisibility(t){const e=this.editor.editing.mapper;const n=this._lastSelectedCaption;let i;const o=this.editor.model.document.selection;const s=o.getSelectedElement();if(s&&s.is(\"image\")){const t=nx(s);i=e.toViewElement(t)}const r=o.getFirstPosition();const a=ax(r.parent);if(a){i=e.toViewElement(a)}if(i){if(n){if(n===i){return lx(i,t)}else{cx(n,t);this._lastSelectedCaption=i;return lx(i,t)}}else{this._lastSelectedCaption=i;return lx(i,t)}}else{if(n){const e=cx(n,t);this._lastSelectedCaption=null;return e}else{return false}}}_fixCaptionVisibility(t){return(e,n,i)=>{const o=t(n);const s=ax(o);const r=this.editor.editing.mapper;const a=i.writer;if(s){const t=r.toViewElement(s);if(t){if(s.childCount){a.removeClass(\"ck-hidden\",t)}else{a.addClass(\"ck-hidden\",t)}}}}}_insertMissingModelCaptionElement(t){const e=this.editor.model;const n=e.document.differ.getChanges();const i=[];for(const t of n){if(t.type==\"insert\"&&t.name!=\"$text\"){const n=t.position.nodeAfter;if(n.is(\"image\")&&!nx(n)){i.push(n)}if(!n.is(\"image\")&&n.childCount){for(const t of e.createRangeIn(n).getItems()){if(t.is(\"image\")&&!nx(t)){i.push(t)}}}}}for(const e of i){t.appendElement(\"caption\",e)}return!!i.length}}function sx(t,e=true){return(n,i,o)=>{const s=i.item;if(!s.childCount&&!e){return}if(Uv(s.parent)){if(!o.consumable.consume(i.item,\"insert\")){return}const e=o.mapper.toViewElement(i.range.start.parent);const n=t(o.writer);const r=o.writer;if(!s.childCount){r.addClass(\"ck-hidden\",n)}rx(n,i.item,e,o)}}}function rx(t,e,n,i){const o=i.writer.createPositionAt(n,\"end\");i.writer.insert(o,t);i.mapper.bindElements(e,t)}function ax(t){const e=t.getAncestors({includeSelf:true});const n=e.find(t=>t.name==\"caption\");if(n&&n.parent&&n.parent.name==\"image\"){return n}return null}function cx(t,e){if(!t.childCount&&!t.hasClass(\"ck-hidden\")){e.addClass(\"ck-hidden\",t);return true}return false}function lx(t,e){if(t.hasClass(\"ck-hidden\")){e.removeClass(\"ck-hidden\",t);return true}return false}var dx=n(66);class ux extends Dw{static get requires(){return[ox]}static get pluginName(){return\"ImageCaption\"}}class hx{constructor(t){this.set(\"activeHandlePosition\",null);this.set(\"proposedWidthPercents\",null);this.set(\"proposedWidth\",null);this.set(\"proposedHeight\",null);this.set(\"proposedHandleHostWidth\",null);this.set(\"proposedHandleHostHeight\",null);this._options=t;this._referenceCoordinates=null}begin(t,e,n){const i=new vh(e);this.activeHandlePosition=px(t);this._referenceCoordinates=gx(e,bx(this.activeHandlePosition));this.originalWidth=i.width;this.originalHeight=i.height;this.aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\\d+\\.?\\d*%$/)){this.originalWidthPercents=parseFloat(o)}else{this.originalWidthPercents=fx(n,i)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}yr(hx,Kc);function fx(t,e){const n=t.parentElement;const i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/i*100}function gx(t,e){const n=new vh(t);const i=e.split(\"-\");const o={x:i[1]==\"right\"?n.right:n.left,y:i[0]==\"bottom\"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function mx(t){return`ck-widget__resizer__handle-${t}`}function px(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){if(t.classList.contains(mx(n))){return n}}}function bx(t){const e=t.split(\"-\");const n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}class wx{constructor(t){this._options=t;this._domResizerWrapper=null;this._viewResizerWrapper=null;this.set(\"isEnabled\",true);this.decorate(\"begin\");this.decorate(\"cancel\");this.decorate(\"commit\");this.decorate(\"updateSize\");this.on(\"commit\",t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}},{priority:\"high\"})}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change(n=>{const i=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);t._domResizerWrapper=n;t.on(\"change:isEnabled\",(t,e,i)=>{n.style.display=i?\"\":\"none\"});n.style.display=t.isEnabled?\"\":\"none\";return n}));n.insert(n.createPositionAt(e,\"end\"),i);n.addClass(\"ck-widget_with-resizer\",e);this._viewResizerWrapper=i})}begin(t){this.state=new hx(this._options);this._sizeUI.bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle(\"width\");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change(t=>{const n=this._options.unit||\"%\";const i=(n===\"%\"?e.widthPercents:e.width)+n;t.setStyle(\"width\",i,this._options.viewElement)});const i=this._getHandleHost();const o=new vh(i);e.handleHostWidth=Math.round(o.width);e.handleHostHeight=Math.round(o.height);const s=new vh(i);e.width=Math.round(s.width);e.height=Math.round(s.height);this.redraw(o);this.state.update(e)}commit(){const t=this._options.unit||\"%\";const e=(t===\"%\"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup();this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(n(e)){this._options.editor.editing.view.change(n=>{const i=e.parentElement;const o=this._getHandleHost();const s=t||new vh(o);n.setStyle(\"width\",s.width+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",s.height+\"px\",this._viewResizerWrapper);const r={left:o.offsetLeft,top:o.offsetTop,height:o.offsetHeight,width:o.offsetWidth};if(!i.isSameNode(o)){n.setStyle(\"left\",r.left+\"px\",this._viewResizerWrapper);n.setStyle(\"top\",r.top+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",r.height+\"px\",this._viewResizerWrapper);n.setStyle(\"width\",r.width+\"px\",this._viewResizerWrapper)}})}function n(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeUI.dismiss();this._sizeUI.isVisible=false;const t=this._options.editor.editing.view;t.change(t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(t){const e=this.state;const n=vx(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith(\"-right\")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}const s={width:Math.abs(e.originalWidth+o.x),height:Math.abs(e.originalHeight+o.y)};s.dominant=s.width/e.aspectRatio>s.height?\"width\":\"height\";s.max=s[s.dominant];const r={width:s.width,height:s.height};if(s.dominant==\"width\"){r.height=r.width/e.aspectRatio}else{r.width=r.height*e.aspectRatio}return{width:Math.round(r.width),height:Math.round(r.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){t.appendChild(new $p({tag:\"div\",attributes:{class:`ck-widget__resizer__handle ${kx(n)}`}}).render())}}_appendSizeUI(t){const e=new _x;e.render();this._sizeUI=e;t.appendChild(e.element)}}yr(wx,Kc);class _x extends _b{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"activeHandlePosition\",t=>t?`ck-orientation-${t}`:\"\")],style:{display:t.if(\"isVisible\",\"none\",t=>!t)}},children:[{text:t.to(\"label\")}]})}bindToState(t,e){this.bind(\"isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",(t,e)=>t!==null&&e!==null);this.bind(\"label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",(e,n,i)=>{if(t.unit===\"px\"){return`${e}×${n}`}else{return`${i}%`}});this.bind(\"activeHandlePosition\").to(e)}dismiss(){this.unbind();this.isVisible=false}}function kx(t){return`ck-widget__resizer__handle-${t}`}function vx(t){return{x:t.pageX,y:t.pageY}}var yx=\"Expected a function\";function xx(t,e,n){var i=true,o=true;if(typeof t!=\"function\"){throw new TypeError(yx)}if(ct(n)){i=\"leading\"in n?!!n.leading:i;o=\"trailing\"in n?!!n.trailing:o}return uh(t,e,{leading:i,maxWait:e,trailing:o})}var Ax=xx;var Tx=n(68);class Cx extends Dw{static get pluginName(){return\"WidgetResize\"}init(){this.set(\"_visibleResizer\",null);this.set(\"_activeResizer\",null);this._resizers=new Map;const t=Nd.window.document;this.editor.model.schema.setAttributeProperties(\"width\",{isFormatting:true});this._observer=Object.create(Wd);this._observer.listenTo(t,\"mousedown\",this._mouseDownListener.bind(this));this._observer.listenTo(t,\"mousemove\",this._mouseMoveListener.bind(this));this._observer.listenTo(t,\"mouseup\",this._mouseUpListener.bind(this));const e=()=>{if(this._visibleResizer){this._visibleResizer.redraw()}};const n=Ax(e,200);this.on(\"change:_visibleResizer\",e);this.editor.ui.on(\"update\",n);this._observer.listenTo(Nd.window,\"resize\",n);const i=this.editor.editing.view.document.selection;i.on(\"change\",()=>{const t=i.getSelectedElement();this._visibleResizer=this._getResizerByViewElement(t)||null})}destroy(){this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}}attachTo(t){const e=new wx(t);const n=this.editor.plugins;e.attach();if(n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",()=>{t.forceDisabled(\"resize\")},{priority:\"lowest\"});e.on(\"cancel\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"});e.on(\"commit\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"})}this._resizers.set(t.viewElement,e);return e}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_getResizerByViewElement(t){return this._resizers.get(t)}_mouseDownListener(t,e){if(!wx.isResizeHandle(e.target)){return}const n=e.target;this._activeResizer=this._getResizerByHandle(n);if(this._activeResizer){this._activeResizer.begin(n)}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}yr(Cx,Kc);class Sx extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t||!t.hasAttribute(\"width\")){this.value=null}else{this.value={width:t.getAttribute(\"width\"),height:null}}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"width\",t.width,n)})}}var Px=n(70);class Ex extends Dw{static get requires(){return[Cx]}static get pluginName(){return\"ImageResize\"}init(){const t=this.editor;const e=new Sx(t);this._registerSchema();this._registerConverters();t.commands.add(\"imageResize\",e);t.editing.downcastDispatcher.on(\"insert:image\",(n,i,o)=>{const s=o.mapper.toViewElement(i.item);const r=t.plugins.get(Cx).attachTo({unit:t.config.get(\"image.resizeUnit\")||\"%\",modelElement:i.item,viewElement:s,editor:t,getHandleHost(t){return t.querySelector(\"img\")},getResizeHost(t){return t},isCentered(){const t=i.item.getAttribute(\"imageStyle\");return!t||t==\"full\"||t==\"alignCenter\"},onCommit(e){t.execute(\"imageResize\",{width:e})}});r.on(\"updateSize\",()=>{if(!s.hasClass(\"image_resized\")){t.editing.view.change(t=>{t.addClass(\"image_resized\",s)})}});r.bind(\"isEnabled\").to(e)},{priority:\"low\"})}_registerSchema(){this.editor.model.schema.extend(\"image\",{allowAttributes:\"width\"})}_registerConverters(){const t=this.editor;t.conversion.for(\"downcast\").add(t=>t.on(\"attribute:width:image\",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle(\"width\",e.attributeNewValue,o);i.addClass(\"image_resized\",o)}else{i.removeStyle(\"width\",o);i.removeClass(\"image_resized\",o)}}));t.conversion.for(\"upcast\").attributeToAttribute({view:{name:\"figure\",styles:{width:/.+/}},model:{key:\"width\",value:t=>t.getStyle(\"width\")}})}}class Mx extends zw{constructor(t,e){super(t);this.defaultStyle=false;this.styles=e.reduce((t,e)=>{t[e.name]=e;if(e.isDefault){this.defaultStyle=e.name}return t},{})}refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t){this.value=false}else if(t.hasAttribute(\"imageStyle\")){const e=t.getAttribute(\"imageStyle\");this.value=this.styles[e]?e:false}else{this.value=this.defaultStyle}}execute(t){const e=t.value;const n=this.editor.model;const i=n.document.selection.getSelectedElement();n.change(t=>{if(this.styles[e].isDefault){t.removeAttribute(\"imageStyle\",i)}else{t.setAttribute(\"imageStyle\",e,i)}})}}function Ix(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=Ox(n.attributeNewValue,t);const s=Ox(n.attributeOldValue,t);const r=i.mapper.toViewElement(n.item);const a=i.writer;if(s){a.removeClass(s.className,r)}if(o){a.addClass(o.className,r)}}}function Nx(t){const e=t.filter(t=>!t.isDefault);return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const s=jw(n.modelRange.getItems());if(!i.schema.checkAttribute(s,\"imageStyle\")){return}for(const t of e){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute(\"imageStyle\",t.name,s)}}}}function Ox(t,e){for(const n of e){if(n.name===t){return n}}}var Rx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm2.5 3V12h11V7.5h-11zM4.061 6H15.94c.586 0 1.061.407 1.061.91v5.68c0 .503-.475.91-1.061.91H4.06c-.585 0-1.06-.407-1.06-.91V6.91C3 6.406 3.475 6 4.061 6zM2 16.5V15h16v1.5z\"/></svg>';var Dx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.414\"><path d=\"M18 4.5V3H2v1.5h16zm0 3V6h-5.674v1.5H18zm0 3V9h-5.674v1.5H18zm0 3V12h-5.674v1.5H18zm-8.5-6V12h-6V7.5h6zm.818-1.5H2.682C2.305 6 2 6.407 2 6.91v5.68c0 .503.305.91.682.91h7.636c.377 0 .682-.407.682-.91V6.91c0-.503-.305-.91-.682-.91zM18 16.5V15H2v1.5h16z\"/></svg>';var Lx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm4.5 3V12h7V7.5h-7zM5.758 6h8.484c.419 0 .758.407.758.91v5.681c0 .502-.34.909-.758.909H5.758c-.419 0-.758-.407-.758-.91V6.91c0-.503.34-.91.758-.91zM2 16.5V15h16v1.5z\"/></svg>';var zx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm0 3V6h5.674v1.5zm0 3V9h5.674v1.5zm0 3V12h5.674v1.5zm8.5-6V12h6V7.5h-6zM9.682 6h7.636c.377 0 .682.407.682.91v5.68c0 .503-.305.91-.682.91H9.682c-.377 0-.682-.407-.682-.91V6.91c0-.503.305-.91.682-.91zM2 16.5V15h16v1.5z\"/></svg>';const Vx={full:{name:\"full\",title:\"Full size image\",icon:Rx,isDefault:true},side:{name:\"side\",title:\"Side image\",icon:zx,className:\"image-style-side\"},alignLeft:{name:\"alignLeft\",title:\"Left aligned image\",icon:Dx,className:\"image-style-align-left\"},alignCenter:{name:\"alignCenter\",title:\"Centered image\",icon:Lx,className:\"image-style-align-center\"},alignRight:{name:\"alignRight\",title:\"Right aligned image\",icon:zx,className:\"image-style-align-right\"}};const jx={full:Rx,left:Dx,right:zx,center:Lx};function Bx(t=[]){return t.map(Fx)}function Fx(t){if(typeof t==\"string\"){const e=t;if(Vx[e]){t=Object.assign({},Vx[e])}else{console.warn(Object(rr[\"a\"])(\"image-style-not-found: There is no such image style of given name.\"),{name:e});t={name:e}}}else if(Vx[t.name]){const e=Vx[t.name];const n=Object.assign({},t);for(const i in e){if(!t.hasOwnProperty(i)){n[i]=e[i]}}t=n}if(typeof t.icon==\"string\"&&jx[t.icon]){t.icon=jx[t.icon]}return t}class Hx extends Dw{static get pluginName(){return\"ImageStyleEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.data;const i=t.editing;t.config.define(\"image.styles\",[\"full\",\"side\"]);const o=Bx(t.config.get(\"image.styles\"));e.extend(\"image\",{allowAttributes:\"imageStyle\"});const s=Ix(o);i.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.upcastDispatcher.on(\"element:figure\",Nx(o),{priority:\"low\"});t.commands.add(\"imageStyle\",new Mx(t,o))}}var Ux=n(72);class Wx extends Dw{static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor;const e=t.config.get(\"image.styles\");const n=qx(Bx(e),this.localizedDefaultStylesTitles);for(const t of n){this._createButton(t)}}_createButton(t){const e=this.editor;const n=`imageStyle:${t.name}`;e.ui.componentFactory.add(n,n=>{const i=e.commands.get(\"imageStyle\");const o=new sw(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");o.bind(\"isOn\").to(i,\"value\",e=>e===t.name);this.listenTo(o,\"execute\",()=>{e.execute(\"imageStyle\",{value:t.name});e.editing.view.focus()});return o})}}function qx(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}class $x extends Dw{static get requires(){return[Hx,Wx]}static get pluginName(){return\"ImageStyle\"}}class Yx extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",e=>{if(Kx(t.editing.view.document.selection)){e.stop()}},{priority:\"high\"})}this._toolbarDefinitions=new Map;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this.on(\"change:isEnabled\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui,\"update\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui.focusTracker,\"change:isFocused\",()=>{this._updateToolbarsVisibility()},{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o=\"ck-toolbar-container\"}){const s=this.editor;const r=s.t;const a=new Cw(s.locale);a.ariaLabel=e||r(\"Widget toolbar\");if(this._toolbarDefinitions.has(t)){throw new rr[\"b\"](\"widget-toolbar-duplicated: Toolbar with the given id was already added.\",this,{toolbarId:t})}a.fillFromConfig(n,s.ui.componentFactory);this._toolbarDefinitions.set(t,{view:a,getRelatedElement:i,balloonClassName:o})}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const s=o.getAncestors().length;if(s>t){t=s;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){if(this._isToolbarVisible(t)){Gx(this.editor,e)}else if(!this._isToolbarInBalloon(t)){this._balloon.add({view:t.view,position:Qx(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,\"change:visibleView\",()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);Gx(this.editor,e)}}})}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Gx(t,e){const n=t.plugins.get(\"ContextualBalloon\");const i=Qx(t,e);n.updatePosition(i)}function Qx(t,e){const n=t.editing.view;const i=yv.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,zv]}}function Kx(t){const e=t.getSelectedElement();return!!(e&&Ev(e))}class Jx extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"ImageToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);n.register(\"image\",{ariaLabel:e(\"Image toolbar\"),items:t.config.get(\"image.toolbar\")||[],getRelatedElement:Hv})}}class Zx extends _b{constructor(t){super(t);this.buttonView=new sw(t);this._fileInputView=new Xx(t);this._fileInputView.bind(\"acceptedType\").to(this);this._fileInputView.bind(\"allowMultipleFiles\").to(this);this._fileInputView.delegate(\"done\").to(this);this.setTemplate({tag:\"span\",attributes:{class:\"ck-file-dialog-button\"},children:[this.buttonView,this._fileInputView]});this.buttonView.on(\"execute\",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class Xx extends _b{constructor(t){super(t);this.set(\"acceptedType\");this.set(\"allowMultipleFiles\",false);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck-hidden\"],type:\"file\",tabindex:\"-1\",accept:e.to(\"acceptedType\"),multiple:e.to(\"allowMultipleFiles\")},on:{change:e.to(()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire(\"done\",this.element.files)}this.element.value=\"\"})}})}open(){this.element.click()}}var tA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z\"/></svg>';function eA(t){const e=t.map(t=>t.replace(\"+\",\"\\\\+\"));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function nA(t){return new Promise((e,n)=>{const i=t.getAttribute(\"src\");fetch(i).then(t=>t.blob()).then(t=>{const n=oA(t,i);const o=n.replace(\"image/\",\"\");const s=`image.${o}`;const r=new File([t],s,{type:n});e(r)}).catch(n)})}function iA(t){if(!t.is(\"element\",\"img\")||!t.getAttribute(\"src\")){return false}return t.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||t.getAttribute(\"src\").match(/^blob:/g)}function oA(t,e){if(t.type){return t.type}else if(e.match(/data:(image\\/\\w+);base64/)){return e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase()}else{return\"image/jpeg\"}}class sA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageUpload\",n=>{const i=new Zx(n);const o=t.commands.get(\"imageUpload\");const s=t.config.get(\"image.upload.types\");const r=eA(s);i.set({acceptedType:s.map(t=>`image/${t}`).join(\",\"),allowMultipleFiles:true});i.buttonView.set({label:e(\"Insert image\"),icon:tA,tooltip:true});i.buttonView.bind(\"isEnabled\").to(o);i.on(\"done\",(e,n)=>{const i=Array.from(n).filter(t=>r.test(t.type));if(i.length){t.execute(\"imageUpload\",{file:i})}});return i})}}var rA='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 700 250\"><rect rx=\"4\"/></svg>';var aA=n(74);var cA=n(76);var lA=n(78);class dA extends Dw{constructor(t){super(t);this.placeholder=\"data:image/svg+xml;utf8,\"+encodeURIComponent(rA)}init(){const t=this.editor;t.editing.downcastDispatcher.on(\"attribute:uploadStatus:image\",(...t)=>this.uploadStatusChange(...t))}uploadStatusChange(t,e,n){const i=this.editor;const o=e.item;const s=o.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name)){return}const r=i.plugins.get(u_);const a=s?e.attributeNewValue:null;const c=this.placeholder;const l=i.editing.mapper.toViewElement(o);const d=n.writer;if(a==\"reading\"){uA(l,d);fA(c,l,d);return}if(a==\"uploading\"){const t=r.loaders.get(s);uA(l,d);if(!t){fA(c,l,d)}else{gA(l,d);mA(l,d,t,i.editing.view);yA(l,d,t)}return}if(a==\"complete\"&&r.loaders.get(s)){bA(l,d,i.editing.view)}pA(l,d);gA(l,d);hA(l,d)}}function uA(t,e){if(!t.hasClass(\"ck-appear\")){e.addClass(\"ck-appear\",t)}}function hA(t,e){e.removeClass(\"ck-appear\",t)}function fA(t,e,n){if(!e.hasClass(\"ck-image-upload-placeholder\")){n.addClass(\"ck-image-upload-placeholder\",e)}const i=$v(e);if(i.getAttribute(\"src\")!==t){n.setAttribute(\"src\",t,i)}if(!kA(e,\"placeholder\")){n.insert(n.createPositionAfter(i),_A(n))}}function gA(t,e){if(t.hasClass(\"ck-image-upload-placeholder\")){e.removeClass(\"ck-image-upload-placeholder\",t)}vA(t,e,\"placeholder\")}function mA(t,e,n,i){const o=wA(e);e.insert(e.createPositionAt(t,\"end\"),o);n.on(\"change:uploadedPercent\",(t,e,n)=>{i.change(t=>{t.setStyle(\"width\",n+\"%\",o)})})}function pA(t,e){vA(t,e,\"progressBar\")}function bA(t,e,n){const i=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),i);setTimeout(()=>{n.change(t=>t.remove(t.createRangeOn(i)))},3e3)}function wA(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});t.setCustomProperty(\"progressBar\",true,e);return e}function _A(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});t.setCustomProperty(\"placeholder\",true,e);return e}function kA(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function vA(t,e,n){const i=kA(t,n);if(i){e.remove(e.createRangeOn(i))}}function yA(t,e,n){if(n.data){const i=$v(t);e.setAttribute(\"src\",n.data,i)}}class xA extends c_{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",(t,e)=>{window.alert(e.message)},{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class AA{constructor(t){this.document=t}createDocumentFragment(t){return new Wl(this.document,t)}createElement(t,e,n){return new Vc(this.document,t,e,n)}createText(t){return new Br(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Vc(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}}class TA extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get(u_);n.change(e=>{const o=Array.isArray(t.file)?t.file:[t.file];for(const t of o){CA(e,n,i,t)}})}}function CA(t,e,n,i){const o=n.createLoader(i);if(!o){return}Wv(t,e,{uploadId:o.id})}class SA extends Dw{static get requires(){return[u_,xA,$_]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t);t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}})}init(){const t=this.editor;const e=t.model.document;const n=t.model.schema;const i=t.conversion;const o=t.plugins.get(u_);const s=eA(t.config.get(\"image.upload.types\"));n.extend(\"image\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]});t.commands.add(\"imageUpload\",new TA(t));i.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"});this.listenTo(t.editing.view.document,\"clipboardInput\",(e,n)=>{if(PA(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter(t=>{if(!t){return false}return s.test(t.type)});const o=n.targetRanges.map(e=>t.editing.mapper.toModelRange(e));t.model.change(n=>{n.setSelection(o);if(i.length){e.stop();t.model.enqueueChange(\"default\",()=>{t.execute(\"imageUpload\",{file:i})})}})});this.listenTo(t.plugins.get($_),\"inputTransformation\",(e,n)=>{const i=Array.from(t.editing.view.createRangeIn(n.content)).filter(t=>iA(t.item)&&!t.item.getAttribute(\"uploadProcessed\")).map(t=>({promise:nA(t.item),imageElement:t.item}));if(!i.length){return}const s=new AA(t.editing.view.document);for(const t of i){s.setAttribute(\"uploadProcessed\",true,t.imageElement);const e=o.createLoader(t.promise);if(e){s.setAttribute(\"src\",\"\",t.imageElement);s.setAttribute(\"uploadId\",e.id,t.imageElement)}}});t.editing.view.document.on(\"dragover\",(t,e)=>{e.preventDefault()});e.on(\"change\",()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true});for(const e of n){if(e.type==\"insert\"&&e.name!=\"$text\"){const n=e.position.nodeAfter;const i=e.position.root.rootName==\"$graveyard\";for(const e of EA(t,n)){const t=e.getAttribute(\"uploadId\");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(i){n.abort()}else if(n.status==\"idle\"){this._readAndUpload(n,e)}}}}})}_readAndUpload(t,e){const n=this.editor;const i=n.model;const o=n.locale.t;const s=n.plugins.get(u_);const r=n.plugins.get(xA);i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"reading\",e)});return t.read().then(()=>{const o=t.upload();if(Cl.isSafari){const t=n.editing.mapper.toViewElement(e);const i=$v(t);n.editing.view.once(\"render\",()=>{if(!i.parent){return}const t=n.editing.view.domConverter.mapViewToDom(i.parent);if(!t){return}const e=t.style.display;t.style.display=\"none\";t._ckHack=t.offsetHeight;t.style.display=e})}i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"uploading\",e)});return o}).then(t=>{i.enqueueChange(\"transparent\",n=>{n.setAttributes({uploadStatus:\"complete\",src:t.default},e);this._parseAndSetSrcsetAttributeOnImage(t,e,n)});a()}).catch(n=>{if(t.status!==\"error\"&&t.status!==\"aborted\"){throw n}if(t.status==\"error\"&&n){r.showWarning(n,{title:o(\"Upload failed\"),namespace:\"upload\"})}a();i.enqueueChange(\"transparent\",t=>{t.remove(e)})});function a(){i.enqueueChange(\"transparent\",t=>{t.removeAttribute(\"uploadId\",e);t.removeAttribute(\"uploadStatus\",e)});s.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter(t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}}).map(e=>`${t[e]} ${e}w`).join(\", \");if(o!=\"\"){n.setAttribute(\"srcset\",{data:o,width:i},e)}}}function PA(t){return Array.from(t.types).includes(\"text/html\")&&t.getData(\"text/html\")!==\"\"}function EA(t,e){return Array.from(t.model.createRangeOn(e)).filter(t=>t.item.is(\"image\")).map(t=>t.item)}class MA extends Dw{static get pluginName(){return\"ImageUpload\"}static get requires(){return[SA,sA,dA]}}class IA extends zw{constructor(t){super(t);this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();e.execute(t)}registerChildCommand(t){this._childCommands.push(t);t.on(\"change:isEnabled\",()=>this._checkEnabled());this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find(t=>t.isEnabled)}}class NA extends Dw{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new IA(t));t.commands.add(\"outdent\",new IA(t))}}var OA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95L5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z\"/></svg>';var RA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z\"/></svg>';class DA extends Dw{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?OA:RA;const o=e.uiLanguageDirection==\"ltr\"?RA:OA;this._defineButton(\"indent\",n(\"Increase indent\"),i);this._defineButton(\"outdent\",n(\"Decrease indent\"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,o=>{const s=i.commands.get(t);const r=new sw(o);r.set({label:e,icon:n,tooltip:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");this.listenTo(r,\"execute\",()=>{i.execute(t);i.editing.view.focus()});return r})}}class LA extends Dw{static get pluginName(){return\"Indent\"}static get requires(){return[NA,DA]}}const zA=\"italic\";class VA extends Dw{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:zA});t.model.schema.setAttributeProperties(zA,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:zA,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(zA,new A_(t,zA));t.keystrokes.set(\"CTRL+I\",zA)}}var jA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.586 14.633l.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z\"/></svg>';const BA=\"italic\";class FA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(BA,n=>{const i=t.commands.get(BA);const o=new sw(n);o.set({label:e(\"Italic\"),icon:jA,keystroke:\"CTRL+I\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(BA);t.editing.view.focus()});return o})}}class HA extends Dw{static get requires(){return[VA,FA]}static get pluginName(){return\"Italic\"}}function UA(t,e,n){return n.createRange(WA(t,e,true,n),WA(t,e,false,n))}function WA(t,e,n,i){let o=t.textNode||(n?t.nodeBefore:t.nodeAfter);let s=null;while(o&&o.getAttribute(\"linkHref\")==e){s=o;o=n?o.previousSibling:o.nextSibling}return s?i.createPositionAt(s,n?\"before\":\"after\"):t}class qA extends zw{constructor(t){super(t);this.manualDecorators=new xr}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(\"linkHref\");for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"linkHref\")}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const s=[];for(const t in e){if(e[t]){o.push(t)}else{s.push(t)}}n.change(e=>{if(i.isCollapsed){const r=i.getFirstPosition();if(i.hasAttribute(\"linkHref\")){const a=UA(r,i.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a);o.forEach(t=>{e.setAttribute(t,true,a)});s.forEach(t=>{e.removeAttribute(t,a)});e.setSelection(a)}else if(t!==\"\"){const s=Ur(i.getAttributes());s.set(\"linkHref\",t);o.forEach(t=>{s.set(t,true)});const a=e.createText(t,s);n.insertContent(a,r);e.setSelection(e.createRangeOn(a))}}else{const r=n.schema.getValidRanges(i.getRanges(),\"linkHref\");for(const n of r){e.setAttribute(\"linkHref\",t,n);o.forEach(t=>{e.setAttribute(t,true,n)});s.forEach(t=>{e.removeAttribute(t,n)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model.document;return e.selection.getAttribute(t)}}class $A extends zw{refresh(){this.isEnabled=this.editor.model.document.selection.hasAttribute(\"linkHref\")}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get(\"link\");e.change(t=>{const o=n.isCollapsed?[UA(n.getFirstPosition(),n.getAttribute(\"linkHref\"),e)]:n.getRanges();for(const e of o){t.removeAttribute(\"linkHref\",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}})}}function YA(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:Na(t,e,n)}var GA=YA;var QA=\"\\\\ud800-\\\\udfff\",KA=\"\\\\u0300-\\\\u036f\",JA=\"\\\\ufe20-\\\\ufe2f\",ZA=\"\\\\u20d0-\\\\u20ff\",XA=KA+JA+ZA,tT=\"\\\\ufe0e\\\\ufe0f\";var eT=\"\\\\u200d\";var nT=RegExp(\"[\"+eT+QA+XA+tT+\"]\");function iT(t){return nT.test(t)}var oT=iT;function sT(t){return t.split(\"\")}var rT=sT;var aT=\"\\\\ud800-\\\\udfff\",cT=\"\\\\u0300-\\\\u036f\",lT=\"\\\\ufe20-\\\\ufe2f\",dT=\"\\\\u20d0-\\\\u20ff\",uT=cT+lT+dT,hT=\"\\\\ufe0e\\\\ufe0f\";var fT=\"[\"+aT+\"]\",gT=\"[\"+uT+\"]\",mT=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",pT=\"(?:\"+gT+\"|\"+mT+\")\",bT=\"[^\"+aT+\"]\",wT=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",_T=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",kT=\"\\\\u200d\";var vT=pT+\"?\",yT=\"[\"+hT+\"]?\",xT=\"(?:\"+kT+\"(?:\"+[bT,wT,_T].join(\"|\")+\")\"+yT+vT+\")*\",AT=yT+vT+xT,TT=\"(?:\"+[bT+gT+\"?\",gT,wT,_T,fT].join(\"|\")+\")\";var CT=RegExp(mT+\"(?=\"+mT+\")|\"+TT+AT,\"g\");function ST(t){return t.match(CT)||[]}var PT=ST;function ET(t){return oT(t)?PT(t):rT(t)}var MT=ET;function IT(t){return function(e){e=va(e);var n=oT(e)?MT(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?GA(n,1).join(\"\"):e.slice(1);return i[t]()+o}}var NT=IT;var OT=NT(\"toUpperCase\");var RT=OT;const DT=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const LT=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;function zT(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function VT(t,e){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function jT(t){t=String(t);return BT(t)?t:\"#\"}function BT(t){const e=t.replace(DT,\"\");return e.match(LT)}function FT(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach(t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t});return e}function HT(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${RT(n)}`});e.push(t)}}return e}class UT{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach(t=>this._definitions.add(t))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",(t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const s=i.createAttributeElement(\"a\",t.attributes,{priority:5});i.setCustomProperty(\"link\",true,s);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){i.wrap(o.getFirstRange(),s)}else{i.wrap(n.mapper.toViewRange(e.range),s)}}else{i.unwrap(n.mapper.toViewRange(e.range),s)}}},{priority:\"high\"})}}}class WT{constructor({id:t,label:e,attributes:n,defaultValue:i}){this.id=t;this.set(\"value\");this.defaultValue=i;this.label=e;this.attributes=n}}yr(WT,Kc);function qT({view:t,model:e,emitter:n,attribute:i,locale:o}){const s=new $T(e,n,i);const r=e.document.selection;n.listenTo(t.document,\"keydown\",(t,e)=>{if(!r.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Rl.arrowright;const i=e.keyCode==Rl.arrowleft;if(!n&&!i){return}const a=r.getFirstPosition();const c=o.contentLanguageDirection;let l;if(c===\"ltr\"&&n||c===\"rtl\"&&i){l=s.handleForwardMovement(a,e)}else{l=s.handleBackwardMovement(a,e)}if(l){t.stop()}},{priority:or.get(\"high\")+1})}class $T{constructor(t,e,n){this.model=t;this.attribute=n;this._modelSelection=t.document.selection;this._overrideUid=null;this._isNextGravityRestorationSkipped=false;e.listenTo(this._modelSelection,\"change:range\",(t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&YT(this._modelSelection.getFirstPosition(),n)){return}this._restoreGravity()})}handleForwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){return}if(t.isAtStart&&this._hasSelectionAttribute){return}if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._removeSelectionAttribute();return true}if(GT(t,n)){this._preventCaretMovement(e);this._overrideGravity();return true}if(QT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._overrideGravity();return true}}handleBackwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._restoreGravity();this._removeSelectionAttribute();return true}else{this._preventCaretMovement(e);this._restoreGravity();if(t.isAtStart){this._removeSelectionAttribute()}return true}}else{if(KT(t,n)&&!this._hasSelectionAttribute){this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}if(t.isAtEnd&&QT(t,n)){if(this._hasSelectionAttribute){if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}return}else{this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}}if(t.isAtStart){if(this._hasSelectionAttribute){this._removeSelectionAttribute();this._preventCaretMovement(e);return true}return}if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}}}get _isGravityOverridden(){return!!this._overrideUid}get _hasSelectionAttribute(){return this._modelSelection.hasAttribute(this.attribute)}_overrideGravity(){this._overrideUid=this.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.model.change(t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null})}_preventCaretMovement(t){t.preventDefault()}_removeSelectionAttribute(){this.model.change(t=>{t.removeSelectionAttribute(this.attribute)})}_setSelectionAttributeFromTheNodeBefore(t){const e=this.attribute;this.model.change(n=>{n.setSelectionAttribute(this.attribute,t.nodeBefore.getAttribute(e))})}_skipNextAutomaticGravityRestoration(){this._isNextGravityRestorationSkipped=true}}function YT(t,e){return GT(t,e)||QT(t,e)}function GT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return s&&(!o||n.getAttribute(e)!==i.getAttribute(e))}function QT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return o&&(!s||n.getAttribute(e)!==i.getAttribute(e))}function KT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;if(!s||!o){return}return i.getAttribute(e)!==n.getAttribute(e)}function JT(t,e){return YT(t.getShiftedBy(-1),e)}var ZT=n(80);const XT=\"ck-link_selected\";const tC=\"automatic\";const eC=\"manual\";const nC=/^(https?:)?\\/\\//;class iC extends Dw{static get pluginName(){return\"LinkEditing\"}constructor(t){super(t);t.config.define(\"link\",{addTargetToExternalLinks:false})}init(){const t=this.editor;const e=t.locale;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:VT});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>VT(jT(t),e)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new qA(t));t.commands.add(\"unlink\",new $A(t));const n=FT(t.t,HT(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(n.filter(t=>t.mode===tC));this._enableManualDecorators(n.filter(t=>t.mode===eC));qT({view:t.editing.view,model:t.model,emitter:this,attribute:\"linkHref\",locale:e});this._setupLinkHighlight();this._enableInsertContentSelectionAttributesFixer()}_enableAutomaticDecorators(t){const e=this.editor;const n=new UT;if(e.config.get(\"link.addTargetToExternalLinks\")){n.add({id:\"linkIsExternal\",mode:tC,callback:t=>nC.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}n.add(t);if(n.length){e.conversion.for(\"downcast\").add(n.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const i=n.manualDecorators;t.forEach(t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});i.add(new WT(t));e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,n)=>{if(e){const e=i.get(t.id).attributes;const o=n.createAttributeElement(\"a\",e,{priority:5});n.setCustomProperty(\"link\",true,o);return o}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:i.get(t.id).attributes},model:{key:t.id}})})}_setupLinkHighlight(){const t=this.editor;const e=t.editing.view;const n=new Set;e.document.registerPostFixer(e=>{const i=t.model.document.selection;let o=false;if(i.hasAttribute(\"linkHref\")){const s=UA(i.getFirstPosition(),i.getAttribute(\"linkHref\"),t.model);const r=t.editing.mapper.toViewRange(s);for(const t of r.getItems()){if(t.is(\"a\")&&!t.hasClass(XT)){e.addClass(XT,t);n.add(t);o=true}}}return o});t.conversion.for(\"editingDowncast\").add(t=>{t.on(\"insert\",i,{priority:\"highest\"});t.on(\"remove\",i,{priority:\"highest\"});t.on(\"attribute\",i,{priority:\"highest\"});t.on(\"selection\",i,{priority:\"highest\"});function i(){e.change(t=>{for(const e of n.values()){t.removeClass(XT,e);n.delete(e)}})}})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;e.on(\"insertContent\",()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute(\"linkHref\")){return}if(!t){return}if(!t.hasAttribute(\"linkHref\")){return}if(i&&i.hasAttribute(\"linkHref\")){return}e.change(t=>{[...e.document.selection.getAttributeKeys()].filter(t=>t.startsWith(\"link\")).forEach(e=>t.removeSelectionAttribute(e))})},{priority:\"low\"})}}class oC extends Qu{constructor(t){super(t);this.domEventType=\"click\"}onDomEvent(t){this.fire(t.type,t)}}var sC=n(82);class rC extends _b{constructor(t,e){super(t);const n=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const i=[\"ck\",\"ck-link-form\"];if(e.manualDecorators.length){i.push(\"ck-link-form_layout-vertical\")}this.setTemplate({tag:\"form\",attributes:{class:i,tabindex:\"-1\"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>{t[e.name]=e.isOn;return t},{})}render(){super.render();Ry({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Link URL\");e.fieldView.placeholder=\"https://example.com\";return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new fw(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind(\"isOn\").toMany([n,t],\"value\",(t,e)=>e===undefined&&t===undefined?n.defaultValue:t);i.on(\"execute\",()=>{n.set(\"value\",!i.isOn)});e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new _b;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map(t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}})),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var aC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562l-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z\"/></svg>';var cC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.3 17.37l-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506L13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5L9.375 17H19v1.5H8z\"/></svg>';var lC=n(84);class dC extends _b{constructor(t){super(t);const e=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e(\"Unlink\"),aC,\"unlink\");this.editButtonView=this._createButton(e(\"Edit link\"),cC,\"edit\");this.set(\"href\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new sw(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate(\"execute\").to(this,n);return i}_createPreviewButton(){const t=new sw(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n(\"Open link in new tab\")});t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",t=>t&&jT(t)),target:\"_blank\",rel:\"noopener noreferrer\"}});t.bind(\"label\").to(this,\"href\",t=>t||n(\"This link has no URL\"));t.bind(\"isEnabled\").to(this,\"href\",t=>!!t);t.template.tag=\"a\";t.template.eventListeners={};return t}}var uC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z\"/></svg>';const hC=\"Ctrl+K\";class fC extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;t.editing.view.addObserver(oC);this.actionsView=this._createActionsView();this.formView=this._createFormView();this._balloon=t.plugins.get(Wy);this._createToolbarLinkButton();this._enableUserBalloonInteractions()}destroy(){super.destroy();this.formView.destroy()}_createActionsView(){const t=this.editor;const e=new dC(t.locale);const n=t.commands.get(\"link\");const i=t.commands.get(\"unlink\");e.bind(\"href\").to(n,\"value\");e.editButtonView.bind(\"isEnabled\").to(n);e.unlinkButtonView.bind(\"isEnabled\").to(i);this.listenTo(e,\"edit\",()=>{this._addFormView()});this.listenTo(e,\"unlink\",()=>{t.execute(\"unlink\");this._hideUI()});e.keystrokes.set(\"Esc\",(t,e)=>{this._hideUI();e()});e.keystrokes.set(hC,(t,e)=>{this._addFormView();e()});return e}_createFormView(){const t=this.editor;const e=t.commands.get(\"link\");const n=new rC(t.locale,e);n.urlInputView.fieldView.bind(\"value\").to(e,\"value\");n.urlInputView.bind(\"isReadOnly\").to(e,\"isEnabled\",t=>!t);n.saveButtonView.bind(\"isEnabled\").to(e);this.listenTo(n,\"submit\",()=>{t.execute(\"link\",n.urlInputView.fieldView.element.value,n.getDecoratorSwitchesState());this._closeFormView()});this.listenTo(n,\"cancel\",()=>{this._closeFormView()});n.keystrokes.set(\"Esc\",(t,e)=>{this._closeFormView();e()});return n}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get(\"link\");const n=t.t;t.keystrokes.set(hC,(t,e)=>{e();this._showUI(true)});t.ui.componentFactory.add(\"link\",t=>{const i=new sw(t);i.isEnabled=true;i.label=n(\"Link\");i.icon=uC;i.keystroke=hC;i.tooltip=true;i.isToggleable=true;i.bind(\"isEnabled\").to(e,\"isEnabled\");i.bind(\"isOn\").to(e,\"value\",t=>!!t);this.listenTo(i,\"execute\",()=>this._showUI(true));return i})}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,\"click\",()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}});this.editor.keystrokes.set(\"Tab\",(t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}},{priority:\"high\"});this.editor.keystrokes.set(\"Esc\",(t,e)=>{if(this._isUIVisible){this._hideUI();e()}});gw({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get(\"link\");this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.urlInputView.fieldView.element.value=e.value||\"\"}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus()}}_showUI(t=false){if(!this._getSelectedLinkElement()){this._addActionsView();if(t){this._balloon.showStack(\"main\")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack(\"main\")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,\"update\");this.stopListening(this._balloon,\"change:visibleView\");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView)}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=s();const o=()=>{const t=this._getSelectedLinkElement();const e=s();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function s(){return e.selection.focus.getAncestors().reverse().find(t=>t.is(\"element\"))}this.listenTo(t.ui,\"update\",o);this.listenTo(this._balloon,\"change:visibleView\",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=t.document;const n=this._getSelectedLinkElement();const i=n?t.domConverter.mapViewToDom(n):t.domConverter.viewRangeToDom(e.selection.getFirstRange());return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;if(e.isCollapsed){return gC(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=gC(n.start);const o=gC(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}}function gC(t){return t.getAncestors().find(t=>zT(t))}class mC extends Dw{static get requires(){return[iC,fC]}static get pluginName(){return\"Link\"}}class pC extends zw{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;const n=Array.from(e.selection.getSelectedBlocks()).filter(e=>wC(e,t.schema));const i=this.value===true;t.change(t=>{if(i){let e=n[n.length-1].nextSibling;let i=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t<i){i=t}const n=t-i;o.push({element:e,listIndent:n});e=e.nextSibling}o=o.reverse();for(const e of o){t.setAttribute(\"listIndent\",e.listIndent,e.element)}}if(!i){let t=Number.POSITIVE_INFINITY;for(const e of n){if(e.is(\"listItem\")&&e.getAttribute(\"listIndent\")<t){t=e.getAttribute(\"listIndent\")}}t=t===0?1:t;bC(n,true,t);bC(n,false,t)}for(const e of n.reverse()){if(i&&e.name==\"listItem\"){t.rename(e,\"paragraph\")}else if(!i&&e.name!=\"listItem\"){t.setAttributes({listType:this.type,listIndent:0},e);t.rename(e,\"listItem\")}else if(!i&&e.name==\"listItem\"&&e.getAttribute(\"listType\")!=this.type){t.setAttribute(\"listType\",this.type,e)}}})}_getValue(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is(\"listItem\")&&t.getAttribute(\"listType\")==this.type}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return wC(n,e)}}function bC(t,e,n){const i=e?t[0]:t[t.length-1];if(i.is(\"listItem\")){let o=i[e?\"previousSibling\":\"nextSibling\"];let s=i.getAttribute(\"listIndent\");while(o&&o.is(\"listItem\")&&o.getAttribute(\"listIndent\")>=n){if(s>o.getAttribute(\"listIndent\")){s=o.getAttribute(\"listIndent\")}if(o.getAttribute(\"listIndent\")==s){t[e?\"unshift\":\"push\"](o)}o=o[e?\"previousSibling\":\"nextSibling\"]}}}function wC(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class _C extends zw{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change(t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name==\"listItem\"&&i.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}})}_checkEnabled(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let i=t.previousSibling;while(i&&i.is(\"listItem\")&&i.getAttribute(\"listIndent\")>=e){if(i.getAttribute(\"listIndent\")==e){return i.getAttribute(\"listType\")==n}i=i.previousSibling}return false}return true}}function kC(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=SC;return e}function vC(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const s=kC(i);const r=i.createContainerElement(o,null);i.insert(i.createPositionAt(r,0),s);n.bindElements(t,s);return s}function yC(t,e,n,i){const o=e.parent;const s=n.mapper;const r=n.writer;let a=s.toViewPosition(i.createPositionBefore(t));const c=TC(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=s.toViewElement(c);a=r.breakContainer(r.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=s.toViewPosition(i.createPositionAt(l,\"end\"))}else{a=s.toViewPosition(i.createPositionBefore(t))}}a=AC(a);r.insert(a,o);if(l&&l.name==\"listItem\"){const t=s.toViewElement(l);const n=r.createRange(r.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is(\"li\")){const n=r.breakContainer(r.createPositionBefore(t.item));const o=t.item.parent;const s=r.createPositionAt(e,\"end\");xC(r,s.nodeBefore,s.nodeAfter);r.move(r.createRangeOn(o),s);i.position=n}}}else{const n=o.nextSibling;if(n&&(n.is(\"ul\")||n.is(\"ol\"))){let i=null;for(const e of n.getChildren()){const n=s.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){i=e}else{break}}if(i){r.breakContainer(r.createPositionAfter(i));r.move(r.createRangeOn(i.parent),r.createPositionAt(e,\"end\"))}}}xC(r,o,o.nextSibling);xC(r,o.previousSibling,o)}function xC(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function AC(t){return t.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}function TC(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let s=t;while(s&&s.name==\"listItem\"){const t=s.getAttribute(\"listIndent\");if(n&&o==t||i&&o>t){return s}s=s.previousSibling}return null}function CC(t,e,n,i){t.ui.componentFactory.add(e,o=>{const s=t.commands.get(e);const r=new sw(o);r.set({label:n,icon:i,tooltip:true,isToggleable:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");r.on(\"execute\",()=>{t.execute(e);t.editing.view.focus()});return r})}function SC(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return Uc.call(this)}function PC(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,\"insert\")||!o.test(n.item,\"attribute:listType\")||!o.test(n.item,\"attribute:listIndent\")){return}o.consume(n.item,\"insert\");o.consume(n.item,\"attribute:listType\");o.consume(n.item,\"attribute:listIndent\");const s=n.item;const r=vC(s,i);yC(s,r,i,t)}}function EC(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position).getLastMatchingPosition(t=>!t.item.is(\"li\"));const s=o.nodeAfter;const r=i.writer;r.breakContainer(r.createPositionBefore(s));r.breakContainer(r.createPositionAfter(s));const a=s.parent;const c=a.previousSibling;const l=r.createRangeOn(a);const d=r.remove(l);if(c&&c.nextSibling){xC(r,c,c.nextSibling)}const u=i.mapper.toModelElement(s);WC(u.getAttribute(\"listIndent\")+1,n.position,l.start,s,i,t);for(const t of r.createRangeIn(d).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}function MC(t,e,n){if(!n.consumable.consume(e.item,\"attribute:listType\")){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const s=i.parent;const r=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";o.rename(r,s)}function IC(t,e,n){const i=n.mapper.toViewElement(e.item);const o=i.parent;const s=n.writer;xC(s,o,o.nextSibling);xC(s,o.previousSibling,o);for(const t of e.item.getChildren()){n.consumable.consume(t,\"insert\")}}function NC(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,\"attribute:listIndent\")){return}const o=i.mapper.toViewElement(n.item);const s=i.writer;s.breakContainer(s.createPositionBefore(o));s.breakContainer(s.createPositionAfter(o));const r=o.parent;const a=r.previousSibling;const c=s.createRangeOn(r);s.remove(c);if(a&&a.nextSibling){xC(s,a,a.nextSibling)}WC(n.attributeOldValue+1,n.range.start,c.start,o,i,t);yC(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,\"insert\")}}}function OC(t,e,n){if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=i.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=i.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e<o.length;e++){const n=t.nodeBefore;const s=i.insert(t,o[e]);t=s.end;if(e>0){const e=xC(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}xC(i,t.nodeBefore,t.nodeAfter)}}}function RC(t,e,n){const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const s=i.nodeAfter;xC(n.writer,o,s)}function DC(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement(\"listItem\");const o=$C(e.viewItem);t.setAttribute(\"listIndent\",o,i);const s=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",s,i);const r=n.splitToAllowedParent(i,e.modelCursor);if(!r){return}t.insert(i,r.position);const a=HC(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,a);if(r.cursorParent){e.modelCursor=t.createPositionAt(r.cursorParent,0)}else{e.modelCursor=e.modelRange.end}}}function LC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"li\")||qC(e));if(t){e._remove()}}}}function zC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;let i=true;for(const e of t){if(n&&!qC(e)){e._remove()}if(e.is(\"text\")){if(i){e._data=e.data.replace(/^\\s+/,\"\")}if(!e.nextSibling||qC(e.nextSibling)){e._data=e.data.replace(/\\s+$/,\"\")}}else if(qC(e)){n=true}i=false}}}function VC(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is(\"listItem\")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(qC);const s=t.createPositionAt(e,0).getWalker();for(const t of s){if(t.type==\"elementStart\"&&t.item.is(\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function jC(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const s=n.mapper;if(o.name==\"ul\"||o.name==\"ol\"){if(!i.isAtEnd){const e=s.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=s.toModelElement(i.nodeBefore);const o=s.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name==\"li\"&&i.nodeBefore&&(i.nodeBefore.name==\"ul\"||i.nodeBefore.name==\"ol\")){const r=s.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&qC(c)){a+=s.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(r).getShiftedBy(a);e.stop()}}}function BC(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type==\"insert\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"insert\"&&i.name!=\"listItem\"){if(i.name!=\"$text\"){const n=i.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);o=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter(t=>t.item.is(\"listItem\"))){s(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);s(n)}else if(i.type==\"remove\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"attribute\"&&i.attributeKey==\"listIndent\"){s(i.range.start)}else if(i.type==\"attribute\"&&i.attributeKey==\"listType\"){s(i.range.start)}}for(const t of i.values()){r(t);a(t)}return o;function s(t){const e=t.nodeBefore;if(!e||!e.is(\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"listItem\")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"listItem\");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function r(t){let n=0;let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(s>n){let r;if(i===null){i=s-n;r=n}else{if(i>s){i=s}r=s-i}e.setAttribute(\"listIndent\",r,t);o=true}else{i=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(i&&i.getAttribute(\"listIndent\")>s){n=n.slice(0,s+1)}if(s!=0){if(n[s]){const i=n[s];if(t.getAttribute(\"listType\")!=i){e.setAttribute(\"listType\",i,t);o=true}}else{n[s]=t.getAttribute(\"listType\")}}i=t;t=t.nextSibling}}}function FC(t,[e,n]){let i=e.is(\"documentFragment\")?e.getChild(0):e;let o;if(!n){o=this.document.selection}else{o=this.createSelection(n)}if(i&&i.is(\"listItem\")){const t=o.getFirstPosition();let e=null;if(t.parent.is(\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(i&&i.is(\"listItem\")){i._setAttribute(\"listIndent\",i.getAttribute(\"listIndent\")+t);i=i.nextSibling}}}}}function HC(t,e,n){const{writer:i,schema:o}=n;let s=i.createPositionAfter(t);for(const r of e){if(r.name==\"ul\"||r.name==\"ol\"){s=n.convertItem(r,s).modelCursor}else{const e=n.convertItem(r,i.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"listItem\")){t=e.modelCursor.parent}else{t=UC(e.modelCursor)}s=i.createPositionAfter(t)}}}return s}function UC(t){const e=new Uh({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"listItem\"));return n.value.item}function WC(t,e,n,i,o,s){const r=TC(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:\"b\"});const a=o.mapper;const c=o.writer;const l=r?r.getAttribute(\"listIndent\"):null;let d;if(!r){d=n}else if(l==t){const t=a.toViewElement(r).parent;d=c.createPositionAfter(t)}else{const t=s.createPositionAt(r,\"end\");d=a.toViewPosition(t)}d=AC(d);for(const t of[...i.getChildren()]){if(qC(t)){d=c.move(c.createRangeOn(t),d).end;xC(c,t,t.nextSibling);xC(c,t.previousSibling,t)}}}function qC(t){return t.is(\"ol\")||t.is(\"ul\")}function $C(t){let e=0;let n=t.parent;while(n){if(n.is(\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"li\")){e++}}n=n.parent}return e}class YC extends Dw{static get pluginName(){return\"ListEditing\"}static get requires(){return[nv]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer(e=>BC(t.model,e));n.mapper.registerViewToModelLength(\"li\",GC);e.mapper.registerViewToModelLength(\"li\",GC);n.mapper.on(\"modelToViewPosition\",VC(n.view));n.mapper.on(\"viewToModelPosition\",jC(t.model));e.mapper.on(\"modelToViewPosition\",VC(n.view));t.conversion.for(\"editingDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model));e.on(\"attribute:listType:listItem\",MC,{priority:\"high\"});e.on(\"attribute:listType:listItem\",IC,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",NC(t.model));e.on(\"remove:listItem\",EC(t.model));e.on(\"remove\",RC,{priority:\"low\"})});t.conversion.for(\"dataDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model))});t.conversion.for(\"upcast\").add(t=>{t.on(\"element:ul\",LC,{priority:\"high\"});t.on(\"element:ol\",LC,{priority:\"high\"});t.on(\"element:li\",zC,{priority:\"high\"});t.on(\"element:li\",DC)});t.model.on(\"insertContent\",FC,{priority:\"high\"});t.commands.add(\"numberedList\",new pC(t,\"numbered\"));t.commands.add(\"bulletedList\",new pC(t,\"bulleted\"));t.commands.add(\"indentList\",new _C(t,\"forward\"));t.commands.add(\"outdentList\",new _C(t,\"backward\"));const i=n.view.document;this.listenTo(i,\"enter\",(t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name==\"listItem\"&&i.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}});this.listenTo(i,\"delete\",(t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!==\"listItem\"){return}const s=o.previousSibling&&o.previousSibling.name===\"listItem\";if(s){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()},{priority:\"high\"});const o=t=>(e,n)=>{const i=this.editor.commands.get(t);if(i.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set(\"Tab\",o(\"indentList\"));t.keystrokes.set(\"Shift+Tab\",o(\"outdentList\"))}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function GC(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=GC(t)}}}return e}var QC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z\"/></svg>';var KC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z\"/></svg>';class JC extends Dw{init(){const t=this.editor.t;CC(this.editor,\"numberedList\",t(\"Numbered List\"),QC);CC(this.editor,\"bulletedList\",t(\"Bulleted List\"),KC)}}class ZC extends Dw{static get requires(){return[YC,JC]}static get pluginName(){return\"List\"}}function XC(t,e){return t=>{t.on(\"attribute:url:media\",n)};function n(n,i,o){if(!o.consumable.consume(i.item,n.name)){return}const s=i.attributeNewValue;const r=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find(t=>t.getCustomProperty(\"media-content\"));r.remove(c);const l=t.getMediaViewElement(r,s,e);r.insert(r.createPositionAt(a,0),l)}}function tS(t,e,n){e.setCustomProperty(\"media\",true,t);return Mv(t,e,{label:n})}function eS(t){const e=t.getSelectedElement();if(e&&nS(e)){return e}return null}function nS(t){return!!t.getCustomProperty(\"media\")&&Ev(t)}function iS(t,e,n,i){const o=t.createContainerElement(\"figure\",{class:\"media\"});o.getFillerOffset=rS;t.insert(t.createPositionAt(o,0),e.getMediaViewElement(t,n,i));return o}function oS(t){const e=t.getSelectedElement();if(e&&e.is(\"media\")){return e}return null}function sS(t,e,n){t.change(i=>{const o=i.createElement(\"media\",{url:e});t.insertContent(o,n);i.setSelection(o,\"on\")})}function rS(){return null}class aS extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=e.getFirstPosition();const o=oS(e);let s=i.parent;if(s!=s.root){s=s.parent}this.value=o?o.getAttribute(\"url\"):null;this.isEnabled=n.checkChild(s,\"media\")}execute(t){const e=this.editor.model;const n=e.document.selection;const i=oS(n);if(i){e.change(e=>{e.setAttribute(\"url\",t,i)})}else{const i=Dv(n,e);sS(e,t,i)}}}var cS='<svg viewBox=\"0 0 64 42\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M47.426 17V3.713L63.102 0v19.389h-.001l.001.272c0 1.595-2.032 3.43-4.538 4.098-2.506.668-4.538-.083-4.538-1.678 0-1.594 2.032-3.43 4.538-4.098.914-.244 2.032-.565 2.888-.603V4.516L49.076 7.447v9.556A1.014 1.014 0 0 0 49 17h-1.574zM29.5 17h-8.343a7.073 7.073 0 1 0-4.657 4.06v3.781H3.3a2.803 2.803 0 0 1-2.8-2.804V8.63a2.803 2.803 0 0 1 2.8-2.805h4.082L8.58 2.768A1.994 1.994 0 0 1 10.435 1.5h8.985c.773 0 1.477.448 1.805 1.149l1.488 3.177H26.7c1.546 0 2.8 1.256 2.8 2.805V17zm-11.637 0H17.5a1 1 0 0 0-1 1v.05A4.244 4.244 0 1 1 17.863 17zm29.684 2c.97 0 .953-.048.953.889v20.743c0 .953.016.905-.953.905H19.453c-.97 0-.953.048-.953-.905V19.89c0-.937-.016-.889.97-.889h28.077zm-4.701 19.338V22.183H24.154v16.155h18.692zM20.6 21.375v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616V37.53H20.6zm24.233-16.155v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615V37.53h-1.615zM29.485 25.283a.4.4 0 0 1 .593-.35l9.05 4.977a.4.4 0 0 1 0 .701l-9.05 4.978a.4.4 0 0 1-.593-.35v-9.956z\"/></svg>';const lS=\"0 0 64 42\";class dS{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const s=n.concat(i).filter(t=>{const e=t.name;if(!e){console.warn(Object(rr[\"a\"])(\"media-embed-no-provider-name: The configured media provider has no name and cannot be used.\"),{provider:t});return false}return!o.has(e)});this.locale=t;this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new uS(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;let i=e.url;if(!Array.isArray(i)){i=[i]}for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new uS(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\\/\\//,\"\");n=i.match(e);if(n){return n}i=i.replace(/^www\\./,\"\");n=i.match(e);if(n){return n}return null}}class uS{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._t=t.t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n[\"data-oembed-url\"]=this.url}if(e.renderForEditingView){n.class=\"ck-media__wrapper\"}const o=this._getPreviewHtml(e);i=t.createUIElement(\"div\",n,(function(t){const e=this.toDomElement(t);e.innerHTML=o;return e}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(\"oembed\",n)}t.setCustomProperty(\"media-content\",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return\"\"}}_getPlaceholderHtml(){const t=new iw;const e=new ew;t.text=this._t(\"Open media in new tab\");e.content=cS;e.viewBox=lS;const n=new $p({tag:\"div\",attributes:{class:\"ck ck-reset_all ck-media__placeholder\"},children:[{tag:\"div\",attributes:{class:\"ck-media__placeholder__icon\"},children:[e]},{tag:\"a\",attributes:{class:\"ck-media__placeholder__url\",target:\"_blank\",rel:\"noopener noreferrer\",href:this.url},children:[{tag:\"span\",attributes:{class:\"ck-media__placeholder__url__text\"},children:[this.url]},t]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return\"https://\"+t}}var hS=n(86);class fS extends Dw{static get pluginName(){return\"MediaEmbedEditing\"}constructor(t){super(t);t.config.define(\"mediaEmbed\",{providers:[{name:\"dailymotion\",url:/^dailymotion\\.com\\/video\\/(\\w+)/,html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; \">'+`<iframe src=\"https://www.dailymotion.com/embed/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" width=\"480\" height=\"270\" allowfullscreen allow=\"autoplay\">'+\"</iframe>\"+\"</div>\"}},{name:\"spotify\",url:[/^open\\.spotify\\.com\\/(artist\\/\\w+)/,/^open\\.spotify\\.com\\/(album\\/\\w+)/,/^open\\.spotify\\.com\\/(track\\/\\w+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;\">'+`<iframe src=\"https://open.spotify.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allowtransparency=\"true\" allow=\"encrypted-media\">'+\"</iframe>\"+\"</div>\"}},{name:\"youtube\",url:[/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)/,/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)/,/^youtube\\.com\\/embed\\/([\\w-]+)/,/^youtu\\.be\\/([\\w-]+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://www.youtube.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"vimeo\",url:[/^vimeo\\.com\\/(\\d+)/,/^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,/^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,/^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,/^player\\.vimeo\\.com\\/video\\/(\\d+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://player.vimeo.com/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"instagram\",url:/^instagram\\.com\\/p\\/(\\w+)/},{name:\"twitter\",url:/^twitter\\.com/},{name:\"googleMaps\",url:/^google\\.com\\/maps/},{name:\"flickr\",url:/^flickr\\.com/},{name:\"facebook\",url:/^facebook\\.com/}]});this.registry=new dS(t.locale,t.config.get(\"mediaEmbed\"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get(\"mediaEmbed.previewsInData\");const s=this.registry;t.commands.add(\"mediaEmbed\",new aS(t));e.register(\"media\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"url\"]});i.for(\"dataDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const n=t.getAttribute(\"url\");return iS(e,s,n,{renderMediaPreview:n&&o})}});i.for(\"dataDowncast\").add(XC(s,{renderMediaPreview:o}));i.for(\"editingDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const i=t.getAttribute(\"url\");const o=iS(e,s,i,{renderForEditingView:true});return tS(o,e,n(\"media widget\"))}});i.for(\"editingDowncast\").add(XC(s,{renderForEditingView:true}));i.for(\"upcast\").elementToElement({view:{name:\"oembed\",attributes:{url:true}},model:(t,e)=>{const n=t.getAttribute(\"url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}}).elementToElement({view:{name:\"div\",attributes:{\"data-oembed-url\":true}},model:(t,e)=>{const n=t.getAttribute(\"data-oembed-url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}})}}const gS=/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=]+$/;class mS extends Dw{static get requires(){return[$_,Jk]}static get pluginName(){return\"AutoMediaEmbed\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get($_),\"inputTransformation\",()=>{const t=e.selection.getFirstRange();const n=Dm.fromPosition(t.start);n.stickiness=\"toPrevious\";const i=Dm.fromPosition(t.end);i.stickiness=\"toNext\";e.once(\"change:data\",()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()},{priority:\"high\"})});t.commands.get(\"undo\").on(\"execute\",()=>{if(this._timeoutId){Nd.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}},{priority:\"high\"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(fS).registry;const o=new cf(t,e);const s=o.getWalker({ignoreElementEnd:true});let r=\"\";for(const t of s){if(t.item.is(\"textProxy\")){r+=t.item.data}}r=r.trim();if(!r.match(gS)){o.detach();return}if(!i.hasMedia(r)){o.detach();return}const a=n.commands.get(\"mediaEmbed\");if(!a.isEnabled){o.detach();return}this._positionToInsert=Dm.fromPosition(t);this._timeoutId=Nd.window.setTimeout(()=>{n.model.change(t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert}sS(n.model,r,e);this._positionToInsert.detach();this._positionToInsert=null})},100)}}var pS=n(88);class bS extends _b{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this._validators=t;this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-media-form\"],tabindex:\"-1\"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();Ry({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e);this.keystrokes.set(\"arrowleft\",e);this.keystrokes.set(\"arrowup\",e);this.keystrokes.set(\"arrowdown\",e);this.listenTo(this.urlInputView.element,\"selectstart\",(t,e)=>{e.stopPropagation()},{priority:\"high\"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);const n=e.fieldView;this._urlInputViewInfoDefault=t(\"Paste the media URL in the input.\");this._urlInputViewInfoTip=t(\"Tip: Paste the URL into the content to embed faster.\");e.label=t(\"Media URL\");e.infoText=this._urlInputViewInfoDefault;n.placeholder=\"https://example.com\";n.on(\"input\",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault});return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}}var wS='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M18.68 3.03c.6 0 .59-.03.59.55v12.84c0 .59.01.56-.59.56H1.29c-.6 0-.59.03-.59-.56V3.58c0-.58-.01-.55.6-.55h17.38zM15.77 15V5H4.2v10h11.57zM2 4v1h1V4H2zm0 2v1h1V6H2zm0 2v1h1V8H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zM17 4v1h1V4h-1zm0 2v1h1V6h-1zm0 2v1h1V8h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zM7.5 7.177a.4.4 0 01.593-.351l5.133 2.824a.4.4 0 010 .7l-5.133 2.824a.4.4 0 01-.593-.35V7.176v.001z\"/></svg>\\n';class _S extends Dw{static get requires(){return[fS]}static get pluginName(){return\"MediaEmbedUI\"}init(){const t=this.editor;const e=t.commands.get(\"mediaEmbed\");const n=t.plugins.get(fS).registry;t.ui.componentFactory.add(\"mediaEmbed\",i=>{const o=bw(i);const s=new bS(kS(t.t,n),t.locale);this._setUpDropdown(o,s,e,t);this._setUpForm(o,s,e);return o})}_setUpDropdown(t,e,n){const i=this.editor;const o=i.t;const s=t.buttonView;t.bind(\"isEnabled\").to(n);t.panelView.children.add(e);s.set({label:o(\"Insert media\"),icon:wS,tooltip:true});s.on(\"open\",()=>{e.url=n.value||\"\";e.urlInputView.fieldView.select();e.focus()},{priority:\"low\"});t.on(\"submit\",()=>{if(e.isValid()){i.execute(\"mediaEmbed\",e.url);r()}});t.on(\"change:isOpen\",()=>e.resetFormStatus());t.on(\"cancel\",()=>r());function r(){i.editing.view.focus();t.isOpen=false}}_setUpForm(t,e,n){e.delegate(\"submit\",\"cancel\").to(t);e.urlInputView.bind(\"value\").to(n,\"value\");e.urlInputView.bind(\"isReadOnly\").to(n,\"isEnabled\",t=>!t);e.saveButtonView.bind(\"isEnabled\").to(n)}}function kS(t,e){return[e=>{if(!e.url.length){return t(\"The URL must not be empty.\")}},n=>{if(!e.hasMedia(n.url)){return t(\"This media URL is not supported.\")}}]}var vS=n(90);class yS extends Dw{static get requires(){return[fS,_S,mS,vy]}static get pluginName(){return\"MediaEmbed\"}}function xS(t,e){for(const n of t.getChildren()){if(n.is(\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function AS(t,e){if(!t.childCount){return}const n=new AA(t.document);const i=CS(t,n);if(!i.length){return}let o=null;let s=1;i.forEach((t,r)=>{const a=NS(i[r-1],t);const c=a?null:i[r-1];const l=RS(c,t);if(a){o=null;s=1}if(!o||l!==0){const i=SS(t,e);if(!o){o=PS(i,t.element,n)}else if(t.indent>s){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=PS(i,e,n);s+=1}else if(t.indent<s){const e=s-t.indent;o=DS(o,e);s=parseInt(t.indent)}if(t.indent<=s){if(!o.is(i.type)){o=n.rename(i.type,o)}}}const d=ES(t.element,n);n.appendChild(d,o)})}function TS(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"li\")){const n=t.getChild(0);if(n.is(\"p\")){e.unwrapElement(n)}}}}function CS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/^p|h\\d+$/,styles:{\"mso-list\":/.*/}});const o=[];for(const t of n){if(t.type===\"elementStart\"&&i.match(t.item)){const e=MS(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}}return o}function SS(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\");const i=/mso-level-number-format:([^;]*);/gi;const o=n.exec(e);let s=\"decimal\";if(o&&o[1]){const t=i.exec(o[1]);if(t&&t[1]){s=t[1].trim()}}return{type:s!==\"bullet\"&&s!==\"image\"?\"ol\":\"ul\",style:s}}function PS(t,e,n){const i=e.parent;const o=n.createElement(t.type);const s=i.getChildIndex(e)+1;n.insertChild(s,o,i);return o}function ES(t,e){IS(t,e);return e.rename(\"li\",t)}function MS(t){const e={};const n=t.getStyle(\"mso-list\");if(n){const t=n.match(/(^|\\s+)l(\\d+)/i);const i=n.match(/\\s*lfo(\\d+)/i);const o=n.match(/\\s*level(\\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=o[1]}}return e}function IS(t,e){const n=new Wr({name:\"span\",styles:{\"mso-list\":\"Ignore\"}});const i=e.createRangeIn(t);for(const t of i){if(t.type===\"elementStart\"&&n.match(t.item)){e.remove(t.item)}}}function NS(t,e){if(!t){return true}if(t.id!==e.id){return true}const n=e.element.previousSibling;if(!n){return true}return!OS(n)}function OS(t){return t.is(\"ol\")||t.is(\"ul\")}function RS(t,e){return t?e.indent-t.indent:e.indent-1}function DS(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.name===\"ul\"||t.name===\"ol\"){o++}if(o===e){i=t;break}}return i}const LS=/id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;class zS{constructor(t){this.document=t}isActive(t){return LS.test(t)}execute(t){const e=new AA(this.document);xS(t.content,e);TS(t.content,e)}}function VS(t){return BS(BS(t)).replace(/(<span\\s+style=['\"]mso-spacerun:yes['\"]>[\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g,\"$1$2\").replace(/<span\\s+style=['\"]mso-spacerun:yes['\"]><\\/span>/g,\"\").replace(/ <\\//g,\" </\").replace(/ <o:p><\\/o:p>/g,\" <o:p></o:p>\").replace(/<o:p>(&nbsp;|\\u00A0)<\\/o:p>/g,\"\").replace(/>(\\s*[\\r\\n]\\s*)</g,\"><\")}function jS(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach(t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join(\"  \").substr(0,e)})}function BS(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>e.length===1?\" \":Array(e.length+1).join(\"  \").substr(0,e.length))}function FS(t,e){const n=new DOMParser;t=t.replace(/<!--\\[if gte vml 1]>/g,\"\");const i=VS(WS(t));const o=n.parseFromString(i,\"text/html\");jS(o);const s=o.body.innerHTML;const r=HS(o,e);const a=US(o);return{body:r,bodyString:s,styles:a.styles,stylesString:a.stylesString}}function HS(t,e){const n=new bl(e);const i=new zd(n,{blockFillerMode:\"nbsp\"});const o=t.createDocumentFragment();const s=t.body.childNodes;while(s.length>0){o.appendChild(s[0])}return i.domToView(o)}function US(t){const e=[];const n=[];const i=Array.from(t.getElementsByTagName(\"style\"));for(const t of i){if(t.sheet&&t.sheet.cssRules&&t.sheet.cssRules.length){e.push(t.sheet);n.push(t.innerHTML)}}return{styles:e,stylesString:n.join(\" \")}}function WS(t){const e=/<\\/body>(.*?)(<\\/html>|$)/;const n=t.match(e);if(n&&n[1]){t=t.slice(0,n.index)+t.slice(n.index).replace(n[1],\"\")}return t}function qS(t,e){if(!t.childCount){return}const n=new AA;const i=YS(t,n);GS(i,t,n);QS(t,n);const o=KS(t,n);if(o.length){ZS(o,JS(e),n)}}function $S(t){return btoa(t.match(/\\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(\"\"))}function YS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){const e=t.item;const n=e.previousSibling&&e.previousSibling.name||null;if(i.match(e)&&e.getAttribute(\"o:gfxdata\")&&n!==\"v:shapetype\"){o.push(t.item.getAttribute(\"id\"))}}return o}function GS(t,e,n){const i=n.createRangeIn(e);const o=new Wr({name:\"img\"});const s=[];for(const e of i){if(o.match(e.item)){const n=e.item;const i=n.getAttribute(\"v:shapes\")?n.getAttribute(\"v:shapes\").split(\" \"):[];if(i.length&&i.every(e=>t.indexOf(e)>-1)){s.push(n)}else if(!n.getAttribute(\"src\")){s.push(n)}}}for(const t of s){n.remove(t)}}function QS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){if(i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function KS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:\"img\"});const o=[];for(const t of n){if(i.match(t.item)){if(t.item.getAttribute(\"src\").startsWith(\"file://\")){o.push(t.item)}}}return o}function JS(t){if(!t){return[]}const e=/{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;const n=new RegExp(\"(?:(\"+e.source+\"))([\\\\da-fA-F\\\\s]+)\\\\}\",\"g\");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes(\"\\\\pngblip\")){n=\"image/png\"}else if(t.includes(\"\\\\jpegblip\")){n=\"image/jpeg\"}if(n){o.push({hex:t.replace(e,\"\").replace(/[^\\da-fA-F]/g,\"\"),type:n})}}}return o}function ZS(t,e,n){if(t.length===e.length){for(let i=0;i<t.length;i++){const o=`data:${e[i].type};base64,${$S(e[i].hex)}`;n.setAttribute(\"src\",o,t[i])}}}const XS=/<meta\\s*name=\"?generator\"?\\s*content=\"?microsoft\\s*word\\s*\\d+\"?\\/?>/i;const tP=/xmlns:o=\"urn:schemas-microsoft-com/i;class eP{constructor(t){this.document=t}isActive(t){return XS.test(t)||tP.test(t)}execute(t){const{body:e,stylesString:n}=FS(t.dataTransfer.getData(\"text/html\"),this.document.stylesProcessor);AS(e,n);qS(e,t.dataTransfer.getData(\"text/rtf\"));t.content=e}}class nP extends Dw{static get pluginName(){return\"PasteFromOffice\"}static get requires(){return[$_]}init(){const t=this.editor;const e=t.editing.view.document;const n=[];n.push(new eP(e));n.push(new zS(e));t.plugins.get(\"Clipboard\").on(\"inputTransformation\",(t,e)=>{if(e.isTransformedWithPasteFromOffice){return}const i=e.dataTransfer.getData(\"text/html\");const o=n.find(t=>t.isActive(i));if(o){o.execute(e);e.isTransformedWithPasteFromOffice=true}},{priority:\"high\"})}}var iP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z\"/></svg>';const oP=\"removeFormat\";class sP extends Dw{static get pluginName(){return\"RemoveFormatUI\"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(oP,n=>{const i=t.commands.get(oP);const o=new sw(n);o.set({label:e(\"Remove Format\"),icon:iP,tooltip:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(oP);t.editing.view.focus()});return o})}}class rP extends zw{refresh(){const t=this.editor.model;this.isEnabled=!!jw(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model;const e=t.schema;t.change(n=>{for(const i of this._getFormattingItems(t.document.selection,e)){if(i.is(\"selection\")){for(const t of this._getFormattingAttributes(i,e)){n.removeSelectionAttribute(t)}}else{const t=n.createRangeOn(i);for(const o of this._getFormattingAttributes(i,e)){n.removeAttribute(o,t)}}}})}*_getFormattingItems(t,e){const n=t=>!!jw(this._getFormattingAttributes(t,e));for(const e of t.getRanges()){for(const t of e.getItems()){if(n(t)){yield t}}}if(n(t)){yield t}}*_getFormattingAttributes(t,e){for(const[n]of t.getAttributes()){const t=e.getAttributeProperties(n);if(t&&t.isFormatting){yield n}}}}class aP extends Dw{static get pluginName(){return\"RemoveFormatEditing\"}init(){const t=this.editor;t.commands.add(\"removeFormat\",new rP(t))}}class cP extends Dw{static get requires(){return[aP,sP]}static get pluginName(){return\"RemoveFormat\"}}const lP=\"strikethrough\";class dP extends Dw{static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:lP});t.model.schema.setAttributeProperties(lP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:lP,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]});t.commands.add(lP,new A_(t,lP));t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\")}}var uP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9L6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z\"/><path d=\"M3 10.5V9h14v1.5z\"/></svg>';const hP=\"strikethrough\";class fP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(hP,n=>{const i=t.commands.get(hP);const o=new sw(n);o.set({label:e(\"Strikethrough\"),icon:uP,keystroke:\"CTRL+SHIFT+X\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(hP);t.editing.view.focus()});return o})}}class gP extends Dw{static get requires(){return[dP,fP]}static get pluginName(){return\"Strikethrough\"}}const mP=\"subscript\";class pP extends Dw{static get pluginName(){return\"SubscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:mP});t.model.schema.setAttributeProperties(mP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:mP,view:\"sub\",upcastAlso:[{styles:{\"vertical-align\":\"sub\"}}]});t.commands.add(mP,new A_(t,mP))}}var bP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82zm8.147 7.829h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309z\"/></svg>';const wP=\"subscript\";class _P extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(wP,n=>{const i=t.commands.get(wP);const o=new sw(n);o.set({label:e(\"Subscript\"),icon:bP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(wP);t.editing.view.focus()});return o})}}class kP extends Dw{static get requires(){return[pP,_P]}static get pluginName(){return\"Subscript\"}}const vP=\"superscript\";class yP extends Dw{static get pluginName(){return\"SuperscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:vP});t.model.schema.setAttributeProperties(vP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:vP,view:\"sup\",upcastAlso:[{styles:{\"vertical-align\":\"super\"}}]});t.commands.add(vP,new A_(t,vP))}}var xP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.677 8.678h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309zM7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82z\"/></svg>';const AP=\"superscript\";class TP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(AP,n=>{const i=t.commands.get(AP);const o=new sw(n);o.set({label:e(\"Superscript\"),icon:xP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(AP);t.editing.view.focus()});return o})}}class CP extends Dw{static get requires(){return[yP,TP]}static get pluginName(){return\"Superscript\"}}function SP(t,e){let n=e.parent;while(n){if(n.name===t){return n}n=n.parent}}function PP(t,e,n,i,o=1){if(e>o){i.setAttribute(t,e,n)}else{i.removeAttribute(t,n)}}function EP(t,e,n={}){const i=t.createElement(\"tableCell\",n);t.insertElement(\"paragraph\",i);t.insert(i,e)}function MP(t){if(!t||!ct(t)){return t}const{top:e,right:n,bottom:i,left:o}=t;if(e==n&&n==i&&i==o){return e}}function IP(t,e){const n=parseFloat(t);if(Number.isNaN(n)){return t}if(String(n)!==String(t)){return t}return`${n}${e}`}function NP(t,e){const n=e.parent.parent;const i=parseInt(n.getAttribute(\"headingColumns\")||0);const{column:o}=t.getCellLocation(e);return!!i&&o<i}function OP(){return t=>{t.on(\"element:table\",(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const{rows:o,headingRows:s,headingColumns:r}=LP(i);const a={};if(r){a.headingColumns=r}if(s){a.headingRows=s}const c=n.writer.createElement(\"table\",a);const l=n.splitToAllowedParent(c,e.modelCursor);if(!l){return}n.writer.insert(c,l.position);n.consumable.consume(i,{name:true});o.forEach(t=>n.convertItem(t,n.writer.createPositionAt(c,\"end\")));if(c.isEmpty){const t=n.writer.createElement(\"tableRow\");n.writer.insert(t,n.writer.createPositionAt(c,\"end\"));EP(n.writer,n.writer.createPositionAt(t,\"end\"))}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(c),n.writer.createPositionAfter(c));if(l.cursorParent){e.modelCursor=n.writer.createPositionAt(l.cursorParent,0)}else{e.modelCursor=e.modelRange.end}})}}function RP(){return t=>{t.on(\"element:tr\",(t,e)=>{if(e.viewItem.isEmpty){t.stop()}},{priority:\"high\"})}}function DP(t){return e=>{e.on(`element:${t}`,(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const o=n.writer.createElement(\"tableCell\");const s=n.splitToAllowedParent(o,e.modelCursor);if(!s){return}n.writer.insert(o,s.position);n.consumable.consume(i,{name:true});const r=n.writer.createPositionAt(o,0);n.convertChildren(i,r);if(!o.childCount){n.writer.insertElement(\"paragraph\",r)}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(o),n.writer.createPositionAfter(o));e.modelCursor=e.modelRange.end})}}function LP(t){const e={headingRows:0,headingColumns:0};const n=[];const i=[];let o;for(const s of Array.from(t.getChildren())){if(s.name===\"tbody\"||s.name===\"thead\"||s.name===\"tfoot\"){if(s.name===\"thead\"&&!o){o=s}const t=Array.from(s.getChildren()).filter(t=>t.is(\"element\",\"tr\"));for(const s of t){if(s.parent.name===\"thead\"&&s.parent===o){e.headingRows++;n.push(s)}else{i.push(s);const t=zP(s,e,o);if(t>e.headingColumns){e.headingColumns=t}}}}}e.rows=[...n,...i];return e}function zP(t){let e=0;let n=0;const i=Array.from(t.getChildren()).filter(t=>t.name===\"th\"||t.name===\"td\");while(n<i.length&&i[n].name===\"th\"){const t=i[n];const o=parseInt(t.getAttribute(\"colspan\")||1);e=e+o;n++}return e}class VP{constructor(t,e={}){this.table=t;this.startRow=e.startRow||0;this.endRow=typeof e.endRow==\"number\"?e.endRow:undefined;this.includeSpanned=!!e.includeSpanned;this.column=typeof e.column==\"number\"?e.column:undefined;this._skipRows=new Set;this._row=0;this._column=0;this._cellIndex=0;this._spannedCells=new Map;this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const t=this.table.getChild(this._row);if(!t||this._isOverEndRow()){return{done:true}}let e,n,i;if(this._isSpanned(this._row,this._column)){e=this._getSpanned(this._row,this._column);n=!this.includeSpanned||this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,true)}else{e=t.getChild(this._cellIndex);if(!e){this._row++;this._column=0;this._cellIndex=0;this._nextCellAtColumn=-1;return this.next()}const o=parseInt(e.getAttribute(\"colspan\")||1);const s=parseInt(e.getAttribute(\"rowspan\")||1);if(o>1||s>1){this._recordSpans(this._row,this._column,s,o,e)}this._nextCellAtColumn=this._column+o;n=this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,false,s,o)}this._column++;if(this._column==this._nextCellAtColumn){this._cellIndex++}return n?this.next():i}skipRow(t){this._skipRows.add(t)}_isOverEndRow(){return this.endRow!==undefined&&this._row>this.endRow}_formatOutValue(t,e,n,i=1,o=1){return{done:false,value:{cell:t,row:this._row,column:e,isSpanned:n,rowspan:i,colspan:o,cellIndex:this._cellIndex}}}_shouldSkipRow(){const t=this._row<this.startRow;const e=this._skipRows.has(this._row);return t||e}_shouldSkipColumn(){if(this.column===undefined){return false}return this.column!=this._column}_isSpanned(t,e){if(!this._spannedCells.has(t)){return false}const n=this._spannedCells.get(t);return n.has(e)}_getSpanned(t,e){return this._spannedCells.get(t).get(e)}_recordSpans(t,e,n,i,o){for(let n=e+1;n<=e+i-1;n++){this._markSpannedCell(t,n,o)}for(let s=t+1;s<t+n;s++){for(let t=e;t<=e+i-1;t++){this._markSpannedCell(s,t,o)}}}_markSpannedCell(t,e,n){if(!this._spannedCells.has(t)){this._spannedCells.set(t,new Map)}const i=this._spannedCells.get(t);i.set(e,n)}}function jP(t,e){e.setCustomProperty(\"table\",true,t);return Mv(t,e,{hasSelectionHandle:true})}function BP(t){return!!t.getCustomProperty(\"table\")&&Ev(t)}function FP(t){const e=t.getSelectedElement();if(e&&BP(e)){return e}return null}function HP(t){const e=SP(\"table\",t.getFirstPosition());if(e&&BP(e.parent)){return e.parent}return null}function UP(t){const e=[];for(const n of tE(t.getRanges())){const t=n.getContainedElement();if(t&&t.is(\"tableCell\")){e.push(t)}}return e}function WP(t){const e=[];for(const n of t.getRanges()){const t=SP(\"tableCell\",n.start);if(t){e.push(t)}}return e}function qP(t){const e=UP(t);if(e.length){return e}return WP(t)}function $P(t){const e=t.map(t=>t.parent.index);return XP(e)}function YP(t){const e=SP(\"table\",t[0]);const n=[...new VP(e)];const i=n.filter(e=>t.includes(e.cell)).map(t=>t.column);return XP(i)}function GP(t,e){if(t.length<2||!iE(t)){return false}const n=new Set;const i=new Set;let o=0;for(const s of t){const{row:t,column:r}=e.getCellLocation(s);const a=parseInt(s.getAttribute(\"rowspan\")||1);const c=parseInt(s.getAttribute(\"colspan\")||1);n.add(t);i.add(r);if(a>1){n.add(t+a-1)}if(c>1){i.add(r+c-1)}o+=a*c}const s=nE(n,i);return s==o}function QP(t,e,n=0){const i=[];const o=new VP(t,{startRow:n,endRow:e-1});for(const t of o){const{row:n,rowspan:o}=t;const s=n+o-1;if(n<e&&e<=s){i.push(t)}}return i}function KP(t,e,n){const i=t.parent;const o=i.parent;const s=i.index;const r=parseInt(t.getAttribute(\"rowspan\"));const a=e-s;const c={};const l=r-a;if(l>1){c.rowspan=l}const d=parseInt(t.getAttribute(\"colspan\")||1);if(d>1){c.colspan=d}const u=s;const h=u+a;const f=[...new VP(o,{startRow:u,endRow:h,includeSpanned:true})];let g;for(const{row:e,column:i,cell:s,cellIndex:r}of f){if(s===t&&g===undefined){g=i}if(g!==undefined&&g===i&&e===h){const t=o.getChild(e);const i=n.createPositionAt(t,r);EP(n,i,c)}}PP(\"rowspan\",a,t,n)}function JP(t,e){const n=[];const i=new VP(t);for(const t of i){const{column:i,colspan:o}=t;const s=i+o-1;if(i<e&&e<=s){n.push(t)}}return n}function ZP(t,e,n,i){const o=parseInt(t.getAttribute(\"colspan\"));const s=n-e;const r={};const a=o-s;if(a>1){r.colspan=a}const c=parseInt(t.getAttribute(\"rowspan\")||1);if(c>1){r.rowspan=c}EP(i,i.createPositionAfter(t),r);PP(\"colspan\",s,t,i)}function XP(t){const e=t.sort((t,e)=>t-e);const n=e[0];const i=e[e.length-1];return{first:n,last:i}}function tE(t){return Array.from(t).sort(eE)}function eE(t,e){const n=t.start;const i=e.start;return n.isBefore(i)?-1:1}function nE(t,e){const n=Array.from(t.values());const i=Array.from(e.values());const o=Math.max(...n);const s=Math.min(...n);const r=Math.max(...i);const a=Math.min(...i);return(o-s+1)*(r-a+1)}function iE(t){const e=SP(\"table\",t[0]);const n=$P(t);const i=parseInt(e.getAttribute(\"headingRows\")||0);if(!oE(n,i)){return false}const o=parseInt(e.getAttribute(\"headingColumns\")||0);const s=YP(t);return oE(s,o)}function oE({first:t,last:e},n){const i=t<n;const o=e<n;return i===o}function sE(t={}){return e=>e.on(\"insert:table\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}i.consumable.consume(o,\"attribute:headingRows:table\");i.consumable.consume(o,\"attribute:headingColumns:table\");const s=t&&t.asWidget;const r=i.writer.createContainerElement(\"figure\",{class:\"table\"});const a=i.writer.createContainerElement(\"table\");i.writer.insert(i.writer.createPositionAt(r,0),a);let c;if(s){c=jP(r,i.writer)}const l=new VP(o);const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const{row:n,cell:s}=e;const r=bE(pE(n,d),a,i);const c=o.getChild(n);const l=u.get(n)||gE(c,n,r,i);u.set(n,l);i.consumable.consume(s,\"insert\");const h=i.writer.createPositionAt(l,\"end\");fE(e,d,h,i,t)}const h=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(o,s?c:r);i.writer.insert(h,s?c:r)})}function rE(t={}){return e=>e.on(\"insert:tableRow\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=i.mapper.toViewElement(s);const a=yE(r);const c=s.getChildIndex(o);const l=new VP(s,{startRow:c,endRow:c});const d={headingRows:s.getAttribute(\"headingRows\")||0,headingColumns:s.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const n=bE(pE(c,d),a,i);const s=u.get(c)||gE(o,c,n,i);u.set(c,s);i.consumable.consume(e.cell,\"insert\");const r=i.writer.createPositionAt(s,\"end\");fE(e,d,r,i,t)}})}function aE(t={}){return e=>e.on(\"insert:tableCell\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=s.parent;const a=r.getChildIndex(s);const c=new VP(r,{startRow:a,endRow:a});const l={headingRows:r.getAttribute(\"headingRows\")||0,headingColumns:r.getAttribute(\"headingColumns\")||0};for(const e of c){if(e.cell===o){const n=i.mapper.toViewElement(s);const r=i.writer.createPositionAt(n,s.getChildIndex(o));fE(e,l,r,i,t);return}}})}function cE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingRows:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s=i.mapper.toViewElement(o);const r=yE(s);const a=n.attributeOldValue;const c=n.attributeNewValue;if(c>a){const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,a-1,c));const n=bE(\"thead\",r,i);vE(t,n,i,\"end\");for(const n of t){for(const t of n.getChildren()){uE(t,\"th\",i,e)}}}else{const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,c-1,a)).reverse();const n=bE(\"tbody\",r,i);vE(t,n,i,0);const s=new VP(o,{startRow:c?c-1:c,endRow:a-1});const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};for(const t of s){hE(t,d,i,e)}}kE(\"thead\",r,i);kE(\"tbody\",r,i);function l(t,e,n){return t>e&&t<n}})}function lE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingColumns:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const r=n.attributeOldValue;const a=n.attributeNewValue;const c=(r>a?r:a)-1;for(const t of new VP(o)){if(t.column>c){continue}hE(t,s,i,e)}})}function dE(){return t=>t.on(\"remove:tableRow\",(t,e,n)=>{t.stop();const i=n.writer;const o=n.mapper;const s=o.toViewPosition(e.position).getLastMatchingPosition(t=>!t.item.is(\"tr\"));const r=s.nodeAfter;const a=r.parent;const c=a.parent;const l=i.createRangeOn(r);const d=i.remove(l);for(const t of i.createRangeIn(d).getItems()){o.unbindViewElement(t)}kE(\"thead\",c,n);kE(\"tbody\",c,n)},{priority:\"higher\"})}function uE(t,e,n,i){const o=n.writer;const s=n.mapper.toViewElement(t);if(!s){return}let r;if(i){const t=o.createEditableElement(e,s.getAttributes());r=Rv(t,o);o.insert(o.createPositionAfter(s),r);o.move(o.createRangeIn(s),o.createPositionAt(r,0));o.remove(o.createRangeOn(s))}else{r=o.rename(e,s)}n.mapper.unbindViewElement(s);n.mapper.bindElements(t,r)}function hE(t,e,n,i){const{cell:o}=t;const s=mE(t,e);const r=n.mapper.toViewElement(o);if(r&&r.name!==s){uE(o,s,n,i)}}function fE(t,e,n,i,o){const s=o&&o.asWidget;const r=mE(t,e);const a=s?Rv(i.writer.createEditableElement(r),i.writer):i.writer.createContainerElement(r);const c=t.cell;const l=c.getChild(0);const d=c.childCount===1&&l.name===\"paragraph\";i.writer.insert(n,a);if(d&&!xE(l)){const t=c.getChild(0);const e=i.writer.createPositionAt(a,\"end\");i.consumable.consume(t,\"insert\");if(o.asWidget){const n=i.writer.createContainerElement(\"span\",{style:\"display:inline-block\"});i.mapper.bindElements(t,n);i.writer.insert(e,n);i.mapper.bindElements(c,a)}else{i.mapper.bindElements(c,a);i.mapper.bindElements(t,a)}}else{i.mapper.bindElements(c,a)}}function gE(t,e,n,i){i.consumable.consume(t,\"insert\");const o=i.writer.createContainerElement(\"tr\");i.mapper.bindElements(t,o);const s=t.parent.getAttribute(\"headingRows\")||0;const r=s>0&&e>=s?e-s:e;const a=i.writer.createPositionAt(n,r);i.writer.insert(a,o);return o}function mE(t,e){const{row:n,column:i}=t;const{headingColumns:o,headingRows:s}=e;const r=s&&s>n;if(r){return\"th\"}const a=o&&o>i;return a?\"th\":\"td\"}function pE(t,e){return t<e.headingRows?\"thead\":\"tbody\"}function bE(t,e,n){const i=wE(t,e);return i?i:_E(t,e,n)}function wE(t,e){for(const n of e.getChildren()){if(n.name==t){return n}}}function _E(t,e,n){const i=n.writer.createContainerElement(t);const o=n.writer.createPositionAt(e,t==\"tbody\"?\"end\":0);n.writer.insert(o,i);return i}function kE(t,e,n){const i=wE(t,e);if(i&&i.childCount===0){n.writer.remove(n.writer.createRangeOn(i))}}function vE(t,e,n,i){for(const o of t){const t=n.mapper.toViewElement(o);if(t){n.writer.move(n.writer.createRangeOn(t),n.writer.createPositionAt(e,i))}}}function yE(t){for(const e of t.getChildren()){if(e.name===\"table\"){return e}}}function xE(t){return!![...t.getAttributeKeys()].length}class AE extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=TE(e.getFirstPosition());this.isEnabled=n.checkChild(i,\"table\")}execute(t={}){const e=this.editor.model;const n=e.document.selection;const i=this.editor.plugins.get(\"TableUtils\");const o=parseInt(t.rows)||2;const s=parseInt(t.columns)||2;const r=Dv(n,e);e.change(t=>{const n=i.createTable(t,o,s);e.insertContent(n,r);t.setSelection(t.createPositionAt(n.getNodeByPath([0,0,0]),0))})}}function TE(t){const e=t.parent;return e===e.root?e:e.parent}class CE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"below\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"above\";const o=qP(e);const s=$P(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertRows(a,{at:i?r:r+1,copyStructureFromAbove:!i})}}class SE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"right\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"left\";const o=qP(e);const s=YP(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertColumns(a,{columns:1,at:i?r:r+1})}}class PE extends zw{constructor(t,e={}){super(t);this.direction=e.direction||\"horizontally\"}refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length===1}execute(){const t=qP(this.editor.model.document.selection)[0];const e=this.direction===\"horizontally\";const n=this.editor.plugins.get(\"TableUtils\");if(e){n.splitCellHorizontally(t,2)}else{n.splitCellVertically(t,2)}}}class EE extends zw{constructor(t,e){super(t);this.direction=e.direction;this.isHorizontal=this.direction==\"right\"||this.direction==\"left\"}refresh(){const t=this._getMergeableCell();this.value=t;this.isEnabled=!!t}execute(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];const i=this.value;const o=this.direction;t.change(t=>{const e=o==\"right\"||o==\"down\";const s=e?n:i;const r=e?i:n;const a=r.parent;NE(r,s,t);const c=this.isHorizontal?\"colspan\":\"rowspan\";const l=parseInt(n.getAttribute(c)||1);const d=parseInt(i.getAttribute(c)||1);t.setAttribute(c,l+d,s);t.setSelection(t.createRangeIn(s));if(!a.childCount){const e=this.editor.plugins.get(\"TableUtils\");const n=SP(\"table\",a);e.removeRows(n,{at:a.index,batch:t.batch})}})}_getMergeableCell(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];if(!n){return}const i=this.editor.plugins.get(\"TableUtils\");const o=this.isHorizontal?ME(n,this.direction,i):IE(n,this.direction);if(!o){return}const s=this.isHorizontal?\"rowspan\":\"colspan\";const r=parseInt(n.getAttribute(s)||1);const a=parseInt(o.getAttribute(s)||1);if(a===r){return o}}}function ME(t,e,n){const i=t.parent;const o=i.parent;const s=e==\"right\"?t.nextSibling:t.previousSibling;const r=(o.getAttribute(\"headingColumns\")||0)>0;if(!s){return}const a=e==\"right\"?t:s;const c=e==\"right\"?s:t;const{column:l}=n.getCellLocation(a);const{column:d}=n.getCellLocation(c);const u=parseInt(a.getAttribute(\"colspan\")||1);const h=NP(n,a,o);const f=NP(n,c,o);if(r&&h!=f){return}const g=l+u===d;return g?s:undefined}function IE(t,e){const n=t.parent;const i=n.parent;const o=i.getChildIndex(n);if(e==\"down\"&&o===i.childCount-1||e==\"up\"&&o===0){return}const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=i.getAttribute(\"headingRows\")||0;const a=e==\"down\"&&o+s===r;const c=e==\"up\"&&o===r;if(r&&(a||c)){return}const l=parseInt(t.getAttribute(\"rowspan\")||1);const d=e==\"down\"?o+l:o;const u=[...new VP(i,{endRow:d})];const h=u.find(e=>e.cell===t);const f=h.column;const g=u.find(({row:t,rowspan:n,column:i})=>{if(i!==f){return false}if(e==\"down\"){return t===d}else{return d===t+n}});return g&&g.cell}function NE(t,e,n){if(!OE(t)){if(OE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function OE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}class RE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getRows(n);const o=i-1;const s=$P(t);const r=s.first===0&&s.last===o;this.isEnabled=!r}else{this.isEnabled=false}}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=e[0];const o=SP(\"table\",i);const s=this.editor.plugins.get(\"TableUtils\").getCellLocation(i).column;const r=t.createBatch();t.enqueueChange(r,t=>{t.setSelection(t.createSelection(o,\"on\"));const e=n.last-n.first+1;this.editor.plugins.get(\"TableUtils\").removeRows(o,{at:n.first,rows:e,batch:r})});t.enqueueChange(r,t=>{const e=DE(o,n.first,s);t.setSelection(t.createPositionAt(e,0))})}}function DE(t,e,n){const i=t.getChild(e)||t.getChild(t.childCount-1);let o=i.getChild(0);let s=0;for(const t of i.getChildren()){if(s>n){return o}o=t;s+=parseInt(t.getAttribute(\"colspan\")||1)}return o}class LE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getColumns(n);const{first:o,last:s}=YP(t);this.isEnabled=s-o<i-1}else{this.isEnabled=false}}execute(){const[t,e]=VE(this.editor.model.document.selection);const n=t.parent.parent;const i=[...new VP(n)];const o={first:i.find(e=>e.cell===t).column,last:i.find(t=>t.cell===e).column};const s=zE(i,t,e,o);this.editor.model.change(t=>{const e=o.last-o.first+1;this.editor.plugins.get(\"TableUtils\").removeColumns(n,{at:o.first,columns:e});t.setSelection(t.createPositionAt(s,0))})}}function zE(t,e,n,i){const o=parseInt(n.getAttribute(\"colspan\")||1);if(o>1){return n}else if(e.previousSibling||n.nextSibling){return n.nextSibling||e.previousSibling}else{if(i.first){return t.reverse().find(({column:t})=>t<i.first).cell}else{return t.reverse().find(({column:t})=>t>i.last).cell}}}function VE(t){const e=qP(t);const n=e[0];const i=e.pop();const o=[n,i];return n.isBefore(i)?o:o.reverse()}class jE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=e.length>0;this.isEnabled=n;this.value=n&&e.every(t=>this._isInHeading(t,t.parent.parent))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=$P(n);const r=this.value?o:s+1;const a=i.getAttribute(\"headingRows\")||0;e.change(t=>{if(r){const e=r>a?a:0;const n=QP(i,r,e);for(const{cell:e}of n){KP(e,r,t)}}PP(\"headingRows\",r,i,t,0)})}_isInHeading(t,e){const n=parseInt(e.getAttribute(\"headingRows\")||0);return!!n&&t.parent.index<n}}class BE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=this.editor.plugins.get(\"TableUtils\");const i=e.length>0;this.isEnabled=i;this.value=i&&e.every(t=>NP(n,t))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=YP(n);const r=this.value?o:s+1;e.change(t=>{if(r){const e=JP(i,r);for(const{cell:n,column:i}of e){ZP(n,i,r,t)}}PP(\"headingColumns\",r,i,t,0)})}}class FE extends Dw{static get pluginName(){return\"TableUtils\"}getCellLocation(t){const e=t.parent;const n=e.parent;const i=n.getChildIndex(e);const o=new VP(n,{startRow:i,endRow:i});for(const{cell:e,row:n,column:i}of o){if(e===t){return{row:n,column:i}}}}createTable(t,e,n){const i=t.createElement(\"table\");HE(t,i,0,e,n);return i}insertRows(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.rows||1;const s=e.copyStructureFromAbove!==undefined;const r=e.copyStructureFromAbove?i-1:i;const a=this.getRows(t);const c=this.getColumns(t);n.change(e=>{const n=t.getAttribute(\"headingRows\")||0;if(n>i){e.setAttribute(\"headingRows\",n+o,t)}if(!s&&(i===0||i===a)){HE(e,t,i,o,c);return}const l=s?Math.max(i,r):i;const d=new VP(t,{endRow:l});const u=new Array(c).fill(1);for(const{row:t,column:n,rowspan:a,colspan:c,cell:l}of d){const d=t+a-1;const h=t<i&&i<=d;const f=t<=r&&r<=d;if(h){e.setAttribute(\"rowspan\",a+o,l);u[n]=-c}else if(s&&f){u[n]=c}}for(let n=0;n<o;n++){const n=e.createElement(\"tableRow\");e.insert(n,t,i);for(let t=0;t<u.length;t++){const i=u[t];const o=e.createPositionAt(n,\"end\");if(i>0){EP(e,o,i>1?{colspan:i}:null)}t+=Math.abs(i)-1}}})}insertColumns(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.columns||1;n.change(e=>{const n=t.getAttribute(\"headingColumns\");if(i<n){e.setAttribute(\"headingColumns\",n+o,t)}const s=this.getColumns(t);if(i===0||s===i){for(const n of t.getChildren()){UE(o,e,e.createPositionAt(n,i?\"end\":0))}return}const r=new VP(t,{column:i,includeSpanned:true});for(const{row:n,cell:s,cellIndex:a}of r){const c=parseInt(s.getAttribute(\"rowspan\")||1);const l=parseInt(s.getAttribute(\"colspan\")||1);if(a!==i&&l>1){e.setAttribute(\"colspan\",l+o,s);r.skipRow(n);if(c>1){for(let t=n+1;t<n+c;t++){r.skipRow(t)}}}else{const i=e.createPositionAt(t.getChild(n),a);UE(o,e,i)}}})}removeRows(t,e){const n=this.editor.model;const i=e.rows||1;const o=e.at;const s=o+i-1;const r=e.batch||\"default\";n.enqueueChange(r,e=>{const{cellsToMove:i,cellsToTrim:a}=YE(t,o,s);if(i.size){const n=s+1;GE(t,n,i,e)}for(let n=s;n>=o;n--){e.remove(t.getChild(n))}for(const{rowspan:t,cell:n}of a){PP(\"rowspan\",t,n,e)}$E(t,o,s,n,r)})}removeColumns(t,e){const n=this.editor.model;const i=e.at;const o=e.columns||1;const s=e.at+o-1;n.change(e=>{qE(t,{first:i,last:s},e);const n=[];for(let o=s;o>=i;o--){for(const{cell:i,column:s,colspan:r}of[...new VP(t)]){if(s<=o&&r>1&&s+r>o){PP(\"colspan\",r-1,i,e)}else if(s===o){const t=i.parent;e.remove(i);if(!t.childCount){n.push(t.index)}}}}n.reverse().forEach(n=>this.removeRows(t,{at:n,batch:e.batch}))})}splitCellVertically(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const{newCellsSpan:i,updatedSpan:o}=WE(r,e);PP(\"colspan\",o,t,n);const a={};if(i>1){a.colspan=i}if(s>1){a.rowspan=s}const c=r>e?e-1:r-1;UE(c,n,n.createPositionAfter(t),a)}if(r<e){const i=e-r;const a=[...new VP(o)];const{column:c}=a.find(({cell:e})=>e===t);const l=a.filter(({cell:e,colspan:n,column:i})=>{const o=e!==t&&i===c;const s=i<c&&i+n>c;return o||s});for(const{cell:t,colspan:e}of l){n.setAttribute(\"colspan\",e+i,t)}const d={};if(s>1){d.rowspan=s}UE(i,n,n.createPositionAfter(t),d);const u=o.getAttribute(\"headingColumns\")||0;if(u>c){PP(\"headingColumns\",u+i,o,n)}}})}splitCellHorizontally(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=o.getChildIndex(i);const r=parseInt(t.getAttribute(\"rowspan\")||1);const a=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const i=[...new VP(o,{startRow:s,endRow:s+r-1,includeSpanned:true})];const{newCellsSpan:c,updatedSpan:l}=WE(r,e);PP(\"rowspan\",l,t,n);const{column:d}=i.find(({cell:e})=>e===t);const u={};if(c>1){u.rowspan=c}if(a>1){u.colspan=a}for(const{column:t,row:e,cellIndex:r}of i){const i=e>=s+l;const a=t===d;const h=(e+s+l)%c===0;if(i&&a&&h){const t=n.createPositionAt(o.getChild(e),r);UE(1,n,t,u)}}}if(r<e){const i=e-r;const c=[...new VP(o,{startRow:0,endRow:s})];for(const{cell:e,rowspan:o,row:r}of c){if(e!==t&&r+o>s){const t=o+i;n.setAttribute(\"rowspan\",t,e)}}const l={};if(a>1){l.colspan=a}HE(n,o,s+1,i,1,l);const d=o.getAttribute(\"headingRows\")||0;if(d>s){PP(\"headingRows\",d+i,o,n)}}})}getColumns(t){const e=t.getChild(0);return[...e.getChildren()].reduce((t,e)=>{const n=parseInt(e.getAttribute(\"colspan\")||1);return t+n},0)}getRows(t){return t.childCount}}function HE(t,e,n,i,o,s={}){for(let r=0;r<i;r++){const i=t.createElement(\"tableRow\");t.insert(i,e,n);UE(o,t,t.createPositionAt(i,\"end\"),s)}}function UE(t,e,n,i={}){for(let o=0;o<t;o++){EP(e,n,i)}}function WE(t,e){if(t<e){return{newCellsSpan:1,updatedSpan:1}}const n=Math.floor(t/e);const i=t-n*e+n;return{newCellsSpan:n,updatedSpan:i}}function qE(t,e,n){const i=t.getAttribute(\"headingColumns\")||0;if(i&&e.first<i){const o=Math.min(i-1,e.last)-e.first+1;n.setAttribute(\"headingColumns\",i-o,t)}}function $E(t,e,n,i,o){i.enqueueChange(o,i=>{const o=t.getAttribute(\"headingRows\")||0;if(e<o){const s=n<o?o-(n-e+1):e;PP(\"headingRows\",s,t,i,0)}})}function YE(t,e,n){const i=new Map;const o=[];for(const{row:s,column:r,rowspan:a,cell:c}of new VP(t,{endRow:n})){const t=s+a-1;const l=s>=e&&s<=n&&t>n;if(l){const t=n-s+1;const e=a-t;i.set(r,{cell:c,rowspan:e})}const d=s<e&&t>=e;if(d){let i;if(t>=n){i=n-e+1}else{i=t-e+1}o.push({cell:c,rowspan:a-i})}}return{cellsToMove:i,cellsToTrim:o}}function GE(t,e,n,i){const o=new VP(t,{includeSpanned:true,startRow:e,endRow:e});const s=[...o];const r=t.getChild(e);let a;for(const{column:t,cell:e,isSpanned:o}of s){if(n.has(t)){const{cell:e,rowspan:o}=n.get(t);const s=a?i.createPositionAfter(a):i.createPositionAt(r,0);i.move(i.createRangeOn(e),s);PP(\"rowspan\",o,e,i);a=e}else if(!o){a=e}}}class QE extends zw{refresh(){const t=UP(this.editor.model.document.selection);this.isEnabled=GP(t,this.editor.plugins.get(FE))}execute(){const t=this.editor.model;const e=this.editor.plugins.get(FE);t.change(n=>{const i=UP(t.document.selection);const o=i.shift();n.setSelection(o,0);const{mergeWidth:s,mergeHeight:r}=ZE(o,i,e);PP(\"colspan\",s,o,n);PP(\"rowspan\",r,o,n);const a=[];for(const t of i){const e=t.parent;KE(t,o,n);if(!e.childCount){a.push(e.index)}}if(a.length){const t=SP(\"table\",o);a.reverse().forEach(i=>e.removeRows(t,{at:i,batch:n.batch}))}n.setSelection(o,\"in\")})}}function KE(t,e,n){if(!JE(t)){if(JE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function JE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}function ZE(t,e,n){let i=0;let o=0;for(const t of e){const{row:e,column:s}=n.getCellLocation(t);i=XE(t,s,i,\"colspan\");o=XE(t,e,o,\"rowspan\")}const{row:s,column:r}=n.getCellLocation(t);const a=i-r;const c=o-s;return{mergeWidth:a,mergeHeight:c}}function XE(t,e,n,i){const o=parseInt(t.getAttribute(i)||1);return Math.max(n,e+o)}class tM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=SP(\"table\",e[0]);const o=[];for(let e=n.first;e<=n.last;e++){for(const n of i.getChild(e).getChildren()){o.push(t.createRangeOn(n))}}t.change(t=>{t.setSelection(o)})}}class eM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=e[0];const i=e.pop();const o=this.editor.plugins.get(\"TableUtils\");const s=o.getCellLocation(n);const r=o.getCellLocation(i);const a=Math.min(s.column,r.column);const c=Math.max(s.column,r.column);const l=[];for(const e of new VP(SP(\"table\",n))){if(e.column>=a&&e.column<=c){l.push(t.createRangeOn(e.cell))}}t.change(t=>{t.setSelection(l)})}}function nM(t){t.document.registerPostFixer(e=>iM(e,t))}function iM(t,e){const n=e.document.differ.getChanges();let i=false;const o=new Set;for(const e of n){let n;if(e.name==\"table\"&&e.type==\"insert\"){n=e.position.nodeAfter}if(e.name==\"tableRow\"||e.name==\"tableCell\"){n=SP(\"table\",e.position)}if(cM(e)){n=SP(\"table\",e.range.start)}if(n&&!o.has(n)){i=oM(n,t)||i;i=sM(n,t)||i;o.add(n)}}return i}function oM(t,e){let n=false;const i=rM(t);if(i.length){n=true;for(const t of i){PP(\"rowspan\",t.rowspan,t.cell,e,1)}}return n}function sM(t,e){let n=false;const i=aM(t);const o=[];for(const[t,e]of i.entries()){if(!e){o.push(t)}}if(o.length){n=true;for(const n of o.reverse()){e.remove(t.getChild(n));i.splice(n,1)}}const s=i[0];const r=i.every(t=>t===s);if(!r){const o=i.reduce((t,e)=>e>t?e:t,0);for(const[s,r]of i.entries()){const i=o-r;if(i){for(let n=0;n<i;n++){EP(e,e.createPositionAt(t.getChild(s),\"end\"))}n=true}}}return n}function rM(t){const e=parseInt(t.getAttribute(\"headingRows\")||0);const n=t.childCount;const i=[];for(const{row:o,rowspan:s,cell:r}of new VP(t)){if(s<2){continue}const t=o<e;const a=t?e:n;if(o+s>a){const t=a-o;i.push({cell:r,rowspan:t})}}return i}function aM(t){const e=new Array(t.childCount).fill(0);for(const{row:n}of new VP(t,{includeSpanned:true})){e[n]++}return e}function cM(t){const e=t.type===\"attribute\";const n=t.attributeKey;return e&&(n===\"headingRows\"||n===\"colspan\"||n===\"rowspan\")}function lM(t){t.document.registerPostFixer(e=>dM(e,t))}function dM(t,e){const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type==\"insert\"&&e.name==\"table\"){i=uM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableRow\"){i=hM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableCell\"){i=fM(e.position.nodeAfter,t)||i}if(gM(e)){i=fM(e.position.parent,t)||i}}return i}function uM(t,e){let n=false;for(const i of t.getChildren()){n=hM(i,e)||n}return n}function hM(t,e){let n=false;for(const i of t.getChildren()){n=fM(i,e)||n}return n}function fM(t,e){if(t.childCount==0){e.insertElement(\"paragraph\",t);return true}const n=Array.from(t.getChildren()).filter(t=>t.is(\"text\"));for(const t of n){e.wrap(e.createRangeOn(t),\"paragraph\")}return!!n.length}function gM(t){if(!t.position||!t.position.parent.is(\"tableCell\")){return false}return t.type==\"insert\"&&t.name==\"$text\"||t.type==\"remove\"}function mM(t){t.document.registerPostFixer(()=>pM(t))}function pM(t){const e=t.document.differ;const n=new Set;let i=0;for(const t of e.getChanges()){const e=t.type==\"insert\"||t.type==\"remove\"?t.position.parent:t.range.start.parent;if(!e.is(\"tableCell\")){continue}if(t.type==\"insert\"){i++}if(bM(e,t.type,i)){n.add(e)}}if(n.size){for(const t of n.values()){e.refreshItem(t)}return true}return false}function bM(t,e,n){const i=Array.from(t.getChildren()).some(t=>t.is(\"paragraph\"));if(!i){return false}if(e==\"attribute\"){const e=Array.from(t.getChild(0).getAttributeKeys()).length;return t.childCount===1&&e<2}return t.childCount<=(e==\"insert\"?n+1:1)}var wM=n(92);class _M extends Dw{static get pluginName(){return\"TableEditing\"}init(){const t=this.editor;const e=t.model;const n=e.schema;const i=t.conversion;n.register(\"table\",{allowWhere:\"$block\",allowAttributes:[\"headingRows\",\"headingColumns\"],isLimit:true,isObject:true,isBlock:true});n.register(\"tableRow\",{allowIn:\"table\",isLimit:true});n.register(\"tableCell\",{allowIn:\"tableRow\",allowAttributes:[\"colspan\",\"rowspan\"],isObject:true});n.extend(\"$block\",{allowIn:\"tableCell\"});n.addChildCheck((t,e)=>{if(e.name==\"table\"&&Array.from(t.getNames()).includes(\"table\")){return false}});i.for(\"upcast\").add(OP());i.for(\"editingDowncast\").add(sE({asWidget:true}));i.for(\"dataDowncast\").add(sE());i.for(\"upcast\").elementToElement({model:\"tableRow\",view:\"tr\"});i.for(\"upcast\").add(RP());i.for(\"editingDowncast\").add(rE({asWidget:true}));i.for(\"dataDowncast\").add(rE());i.for(\"downcast\").add(dE());i.for(\"upcast\").add(DP(\"td\"));i.for(\"upcast\").add(DP(\"th\"));i.for(\"editingDowncast\").add(aE({asWidget:true}));i.for(\"dataDowncast\").add(aE());i.attributeToAttribute({model:\"colspan\",view:\"colspan\"});i.attributeToAttribute({model:\"rowspan\",view:\"rowspan\"});i.for(\"editingDowncast\").add(lE({asWidget:true}));i.for(\"dataDowncast\").add(lE());i.for(\"editingDowncast\").add(cE({asWidget:true}));i.for(\"dataDowncast\").add(cE());t.commands.add(\"insertTable\",new AE(t));t.commands.add(\"insertTableRowAbove\",new CE(t,{order:\"above\"}));t.commands.add(\"insertTableRowBelow\",new CE(t,{order:\"below\"}));t.commands.add(\"insertTableColumnLeft\",new SE(t,{order:\"left\"}));t.commands.add(\"insertTableColumnRight\",new SE(t,{order:\"right\"}));t.commands.add(\"removeTableRow\",new RE(t));t.commands.add(\"removeTableColumn\",new LE(t));t.commands.add(\"splitTableCellVertically\",new PE(t,{direction:\"vertically\"}));t.commands.add(\"splitTableCellHorizontally\",new PE(t,{direction:\"horizontally\"}));t.commands.add(\"mergeTableCells\",new QE(t));t.commands.add(\"mergeTableCellRight\",new EE(t,{direction:\"right\"}));t.commands.add(\"mergeTableCellLeft\",new EE(t,{direction:\"left\"}));t.commands.add(\"mergeTableCellDown\",new EE(t,{direction:\"down\"}));t.commands.add(\"mergeTableCellUp\",new EE(t,{direction:\"up\"}));t.commands.add(\"setTableColumnHeader\",new BE(t));t.commands.add(\"setTableRowHeader\",new jE(t));t.commands.add(\"selectTableRow\",new tM(t));t.commands.add(\"selectTableColumn\",new eM(t));nM(e);mM(e);lM(e)}static get requires(){return[FE]}}var kM=n(94);class vM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isToggleable\",false);this.set(\"isVisible\",true);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.children=this.createCollection();this.actionView=this._createActionView();this.arrowView=this._createArrowView();this.keystrokes=new gp;this.focusTracker=new Sp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",e.if(\"isVisible\",\"ck-hidden\",t=>!t),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}});this.keystrokes.set(\"arrowleft\",(t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}})}focus(){this.actionView.focus()}_createActionView(){const t=new sw;t.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this);t.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}});t.delegate(\"execute\").to(this);return t}_createArrowView(){const t=new sw;const e=t.bindTemplate;t.icon=rw;t.extendTemplate({attributes:{class:\"ck-splitbutton__arrow\",\"aria-haspopup\":true,\"aria-expanded\":e.to(\"isOn\",t=>String(t))}});t.bind(\"isEnabled\").to(this);t.delegate(\"execute\").to(this,\"open\");return t}}var yM=n(96);class xM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection();this.set(\"rows\",0);this.set(\"columns\",0);this.bind(\"label\").to(this,\"columns\",this,\"rows\",(t,e)=>`${e} × ${t}`);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\"]},children:[{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__grid\"]},on:{\"mouseover@.ck-insert-table-dropdown-grid-box\":e.to(\"boxover\")},children:this.items},{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__label\"]},children:[{text:e.to(\"label\")}]}],on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(()=>{this.fire(\"execute\")})}});this.on(\"boxover\",(t,e)=>{const{row:n,column:i}=e.target.dataset;this.set({rows:parseInt(n),columns:parseInt(i)})});this.on(\"change:columns\",()=>{this._highlightGridBoxes()});this.on(\"change:rows\",()=>{this._highlightGridBoxes()})}focus(){}focusLast(){}_highlightGridBoxes(){const t=this.rows;const e=this.columns;this.items.map((n,i)=>{const o=Math.floor(i/10);const s=i%10;const r=o<t&&s<e;n.set(\"isOn\",r)})}_createGridCollection(){const t=[];for(let e=0;e<100;e++){const n=Math.floor(e/10);const i=e%10;t.push(new AM(this.locale,n+1,i+1))}return this.createCollection(t)}}class AM extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.set(\"isOn\",false);this.setTemplate({tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown-grid-box\",i.if(\"isOn\",\"ck-on\")],\"data-row\":e,\"data-column\":n}})}}var TM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z\"/></svg>';var CM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M18 7v1H2V7h16zm0 5v1H2v-1h16z\" opacity=\".6\"/><path d=\"M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z\"/></svg>';var SM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v16h-1V2z\" opacity=\".6\"/><path d=\"M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z\"/></svg>';var PM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z\" opacity=\".6\"/><path d=\"M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z\"/></svg>';class EM extends Dw{init(){const t=this.editor;const e=this.editor.t;const n=t.locale.contentLanguageDirection;const i=n===\"ltr\";t.ui.componentFactory.add(\"insertTable\",n=>{const i=t.commands.get(\"insertTable\");const o=bw(n);o.bind(\"isEnabled\").to(i);o.buttonView.set({icon:TM,label:e(\"Insert table\"),tooltip:true});let s;o.on(\"change:isOpen\",()=>{if(s){return}s=new xM(n);o.panelView.children.add(s);s.delegate(\"execute\").to(o);o.buttonView.on(\"open\",()=>{s.rows=0;s.columns=0});o.on(\"execute\",()=>{t.execute(\"insertTable\",{rows:s.rows,columns:s.columns});t.editing.view.focus()})});return o});t.ui.componentFactory.add(\"tableColumn\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableColumnHeader\",label:e(\"Header column\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:i?\"insertTableColumnLeft\":\"insertTableColumnRight\",label:e(\"Insert column left\")}},{type:\"button\",model:{commandName:i?\"insertTableColumnRight\":\"insertTableColumnLeft\",label:e(\"Insert column right\")}},{type:\"button\",model:{commandName:\"removeTableColumn\",label:e(\"Delete column\")}},{type:\"button\",model:{commandName:\"selectTableColumn\",label:e(\"Select column\")}}];return this._prepareDropdown(e(\"Column\"),CM,n,t)});t.ui.componentFactory.add(\"tableRow\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableRowHeader\",label:e(\"Header row\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:\"insertTableRowAbove\",label:e(\"Insert row above\")}},{type:\"button\",model:{commandName:\"insertTableRowBelow\",label:e(\"Insert row below\")}},{type:\"button\",model:{commandName:\"removeTableRow\",label:e(\"Delete row\")}},{type:\"button\",model:{commandName:\"selectTableRow\",label:e(\"Select row\")}}];return this._prepareDropdown(e(\"Row\"),SM,n,t)});t.ui.componentFactory.add(\"mergeTableCells\",t=>{const n=[{type:\"button\",model:{commandName:\"mergeTableCellUp\",label:e(\"Merge cell up\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellRight\":\"mergeTableCellLeft\",label:e(\"Merge cell right\")}},{type:\"button\",model:{commandName:\"mergeTableCellDown\",label:e(\"Merge cell down\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellLeft\":\"mergeTableCellRight\",label:e(\"Merge cell left\")}},{type:\"separator\"},{type:\"button\",model:{commandName:\"splitTableCellVertically\",label:e(\"Split cell vertically\")}},{type:\"button\",model:{commandName:\"splitTableCellHorizontally\",label:e(\"Split cell horizontally\")}}];return this._prepareMergeSplitButtonDropdown(e(\"Merge cells\"),PM,n,t)})}_prepareDropdown(t,e,n,i){const o=this.editor;const s=bw(i);const r=this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true});s.bind(\"isEnabled\").toMany(r,\"isEnabled\",(...t)=>t.some(t=>t));this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_prepareMergeSplitButtonDropdown(t,e,n,i){const o=this.editor;const s=bw(i,vM);const r=\"mergeTableCells\";this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true,isEnabled:true});this.listenTo(s.buttonView,\"execute\",()=>{o.execute(r);o.editing.view.focus()});this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_fillDropdownWithListOptions(t,e){const n=this.editor;const i=[];const o=new xr;for(const t of e){MM(t,n,i,o)}_w(t,o,n.ui.componentFactory);return i}}function MM(t,e,n,i){const o=t.model=new lv(t.model);const{commandName:s,bindIsOn:r}=t.model;if(t.type===\"button\"||t.type===\"switchbutton\"){const t=e.commands.get(s);n.push(t);o.set({commandName:s});o.bind(\"isEnabled\").to(t);if(r){o.bind(\"isOn\").to(t,\"value\")}}o.set({withText:true});i.add(t)}class IM extends Qu{constructor(t){super(t);this.domEventType=[\"mousemove\",\"mouseup\",\"mouseleave\"]}onDomEvent(t){this.fire(t.type,t)}}function NM(t,e,n,i){const{startRow:o,startColumn:s,endRow:r,endColumn:a}=e;const c=n.createElement(\"table\");const l=r-o+1;for(let t=0;t<l;t++){n.insertElement(\"tableRow\",c,\"end\")}const d=[...new VP(t,{startRow:o,endRow:r,includeSpanned:true})];for(const{row:t,column:e,cell:l,isSpanned:u}of d){if(e<s||e>a){continue}const d=t-o;const h=c.getChild(d);if(u){const{row:t,column:e}=i.getCellLocation(l);if(t<o||e<s){EP(n,n.createPositionAt(h,\"end\"))}}else{const i=l._clone(true);n.append(i,h);OM(i,t,e,r,a,n)}}RM(c,t,o,s,n);return c}function OM(t,e,n,i,o,s){const r=parseInt(t.getAttribute(\"colspan\")||1);const a=parseInt(t.getAttribute(\"rowspan\")||1);const c=n+r-1;if(c>o){const e=o-n+1;PP(\"colspan\",e,t,s,1)}const l=e+a-1;if(l>i){const n=i-e+1;PP(\"rowspan\",n,t,s,1)}}function RM(t,e,n,i,o){const s=parseInt(e.getAttribute(\"headingRows\")||0);if(s>0){const e=s-n;PP(\"headingRows\",e,t,o,0)}const r=parseInt(e.getAttribute(\"headingColumns\")||0);if(r>0){const e=r-i;PP(\"headingColumns\",e,t,o,0)}}var DM=n(98);class LM extends Dw{static get pluginName(){return\"TableSelection\"}static get requires(){return[FE]}init(){const t=this.editor;const e=t.model;this.listenTo(e,\"deleteContent\",(t,e)=>this._handleDeleteContent(t,e),{priority:\"high\"});t.editing.view.addObserver(IM);this._defineSelectionConverter();this._enableShiftClickSelection();this._enableMouseDragSelection();this._enablePluginDisabling()}getSelectedTableCells(){const t=this.editor.model.document.selection;const e=UP(t);if(e.length==0){return null}return e}getSelectionAsFragment(){const t=this.getSelectedTableCells();if(!t){return null}return this.editor.model.change(e=>{const n=e.createDocumentFragment();const{first:i,last:o}=YP(t);const{first:s,last:r}=$P(t);const a=SP(\"table\",t[0]);const c={startRow:s,startColumn:i,endRow:r,endColumn:o};const l=NM(a,c,e,this.editor.plugins.get(\"TableUtils\"));e.insert(l,n,0);return n})}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change(t=>{t.setSelection(n.cells.map(e=>t.createRangeOn(e)),{backward:n.backward})})}getFocusCell(){const t=this.editor.model.document.selection;const e=[...t.getRanges()].pop();const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}getAnchorCell(){const t=this.editor.model.document.selection;const e=jw(t.getRanges());const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}_defineSelectionConverter(){const t=this.editor;const e=new Set;t.conversion.for(\"editingDowncast\").add(t=>t.on(\"selection\",(t,i,o)=>{const s=o.writer;n(s);const r=this.getSelectedTableCells();if(!r){return}for(const t of r){const n=o.mapper.toViewElement(t);s.addClass(\"ck-editor__editable_selected\",n);e.add(n)}const a=o.mapper.toViewElement(r[r.length-1]);s.setSelection(a,0)},{priority:\"lowest\"}));function n(t){for(const n of e){t.removeClass(\"ck-editor__editable_selected\",n)}e.clear()}}_enableShiftClickSelection(){const t=this.editor;let e=false;this.listenTo(t.editing.view.document,\"mousedown\",(n,i)=>{if(!this.isEnabled){return}if(!i.domEvent.shiftKey){return}const o=this.getAnchorCell()||WP(t.model.document.selection)[0];if(!o){return}const s=this._getModelTableCellFromDomEvent(i);if(s&&zM(o,s)){e=true;this.setCellSelection(o,s);i.preventDefault()}});this.listenTo(t.editing.view.document,\"mouseup\",()=>{e=false});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(e){t.stop()}},{priority:\"highest\"})}_enableMouseDragSelection(){const t=this.editor;let e,n;let i=false;let o=false;this.listenTo(t.editing.view.document,\"mousedown\",(t,n)=>{if(!this.isEnabled){return}if(n.domEvent.shiftKey||n.domEvent.ctrlKey||n.domEvent.altKey){return}e=this._getModelTableCellFromDomEvent(n)});this.listenTo(t.editing.view.document,\"mousemove\",(t,s)=>{if(!s.domEvent.buttons){return}if(!e){return}const r=this._getModelTableCellFromDomEvent(s);if(r&&zM(e,r)){n=r;if(!i&&n!=e){i=true}}if(!i){return}o=true;this.setCellSelection(e,n);s.preventDefault()});this.listenTo(t.editing.view.document,\"mouseup\",()=>{i=false;o=false;e=null;n=null});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(o){t.stop()}},{priority:\"highest\"})}_enablePluginDisabling(){const t=this.editor;this.on(\"change:isEnabled\",()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e){return}t.model.change(n=>{const i=n.createPositionAt(e[0],0);const o=t.model.schema.getNearestSelectionRange(i);n.setSelection(o)})}})}_handleDeleteContent(t,e){const[n,i]=e;const o=this.editor.model;const s=!i||i.direction==\"backward\";const r=UP(n);if(!r.length){return}t.stop();o.change(t=>{const e=r[s?r.length-1:0];o.change(t=>{for(const e of r){o.deleteContent(t.createSelection(e,\"in\"))}});const i=o.schema.getNearestSelectionRange(t.createPositionAt(e,0));if(n.is(\"documentSelection\")){t.setSelection(i)}else{n.setTo(i)}})}_getModelTableCellFromDomEvent(t){const e=t.target;const n=this.editor.editing.view.createPositionAt(e,0);const i=this.editor.editing.mapper.toModelPosition(n);const o=i.parent;if(o.is(\"tableCell\")){return o}return SP(\"tableCell\",o)}_getCellsToSelect(t,e){const n=this.editor.plugins.get(\"TableUtils\");const i=n.getCellLocation(t);const o=n.getCellLocation(e);const s=Math.min(i.row,o.row);const r=Math.max(i.row,o.row);const a=Math.min(i.column,o.column);const c=Math.max(i.column,o.column);const l=new Array(r-s+1).fill(null).map(()=>[]);for(const e of new VP(SP(\"table\",t),{startRow:s,endRow:r})){if(e.column>=a&&e.column<=c){l[e.row-s].push(e.cell)}}const d=o.row<i.row;const u=o.column<i.column;if(d){l.reverse()}if(u){l.forEach(t=>t.reverse())}return{cells:l.flat(),backward:d||u}}}function zM(t,e){return t.parent.parent==e.parent.parent}class VM extends Dw{static get pluginName(){return\"TableClipboard\"}static get requires(){return[LM,FE]}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"copy\",(t,e)=>this._onCopyCut(t,e));this.listenTo(e,\"cut\",(t,e)=>this._onCopyCut(t,e));this.listenTo(t.model,\"insertContent\",(t,e)=>this._onInsertContent(t,...e),{priority:\"high\"})}_onCopyCut(t,e){const n=this.editor.plugins.get(LM);if(!n.getSelectedTableCells()){return}if(t.name==\"cut\"&&this.editor.isReadOnly){return}e.preventDefault();t.stop();const i=this.editor.data;const o=this.editor.editing.view.document;const s=i.toView(n.getSelectionAsFragment());o.fire(\"clipboardOutput\",{dataTransfer:e.dataTransfer,content:s,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is(\"documentSelection\")){return}const i=this.editor.model;const o=this.editor.plugins.get(FE);const s=qP(i.document.selection);if(!s.length){return}let r=FM(e);if(!r){return}t.stop();i.change(t=>{const e=YP(s);const n=$P(s);let{first:i,last:a}=e;let{first:c,last:l}=n;const d=o.getRows(r);const u=o.getColumns(r);const h=SP(\"table\",s[0]);const f=s.length===1;if(f){l+=d-1;a+=u-1;BM(h,l+1,a+1,t,o)}if(f||!GP(s,o)){const e={firstRow:c,lastRow:l,firstColumn:i,lastColumn:a};UM(h,e,t)}else{l=YM(h,n,e);a=GM(h,n,e)}const g=l-c+1;const m=a-i+1;const p={startRow:0,startColumn:0,endRow:Math.min(g-1,d-1),endColumn:Math.min(m-1,u-1)};r=NM(r,p,t,o);const b={width:u,height:d};const w={firstColumnOfSelection:i,firstRowOfSelection:c,lastColumnOfSelection:a,lastRowOfSelection:l};jM(r,b,h,w,t)})}}function jM(t,e,n,i,o){const{firstColumnOfSelection:s,lastColumnOfSelection:r,firstRowOfSelection:a,lastRowOfSelection:c}=i;const{width:l,height:d}=e;const u=HM(t,l,d);const h=[...new VP(n,{startRow:a,endRow:c,includeSpanned:true})];const f=[];let g;for(const{row:t,column:e,cell:i,isSpanned:m}of h){if(e===0){g=null}if(e<s||e>r){if(!m){g=i}continue}if(!m){o.remove(i)}const h=t-a;const p=e-s;const b=u[h%d][p%l];if(!b){continue}const w=b._clone(true);OM(w,t,e,c,r,o);let _;if(!g){_=o.createPositionAt(n.getChild(t),0)}else{_=o.createPositionAfter(g)}o.insert(w,_);f.push(w);g=w}o.setSelection(f.map(t=>o.createRangeOn(t)))}function BM(t,e,n,i,o){const s=o.getColumns(t);const r=o.getRows(t);if(n>s){o.insertColumns(t,{batch:i.batch,at:s,columns:n-s})}if(e>r){o.insertRows(t,{batch:i.batch,at:r,rows:e-r})}}function FM(t){if(t.is(\"table\")){return t}if(t.childCount!=1||!t.getChild(0).is(\"table\")){return null}return t.getChild(0)}function HM(t,e,n){const i=new Array(n).fill(null).map(()=>new Array(e).fill(null));for(const{column:e,row:n,cell:o}of new VP(t)){i[n][e]=o}return i}function UM(t,e,n){const{firstRow:i,lastRow:o,firstColumn:s,lastColumn:r}=e;const a={first:i,last:o};const c={first:s,last:r};qM(t,s,a,n);qM(t,r+1,a,n);WM(t,i,c,n);WM(t,o+1,c,n,i)}function WM(t,e,n,i,o=0){if(e<1){return}const s=QP(t,e,o);const r=s.filter(({column:t,colspan:e})=>$M(t,e,n));for(const{cell:t}of r){KP(t,e,i)}}function qM(t,e,n,i){if(e<1){return}const o=JP(t,e);const s=o.filter(({row:t,rowspan:e})=>$M(t,e,n));for(const{cell:t,column:n}of s){ZP(t,n,e,i)}}function $M(t,e,n){const i=t+e-1;const{first:o,last:s}=n;const r=t>=o&&t<=s;const a=t<o&&i>=o;return r||a}function YM(t,e,n){const i=new VP(t,{startRow:e.last,endRow:e.last});const o=Array.from(i).filter(({column:t})=>n.first<=t&&t<=n.last);const s=o.every(({rowspan:t})=>t===1);if(s){return e.last}const r=o[0].rowspan-1;return e.last+r}function GM(t,e,n){const i=Array.from(new VP(t,{startRow:e.first,endRow:e.last,column:n.last}));const o=i.every(({colspan:t})=>t===1);if(o){return n.last}const s=i[0].colspan-1;return n.last+s}class QM extends Dw{static get pluginName(){return\"TableNavigation\"}static get requires(){return[LM]}init(){const t=this.editor.editing.view;const e=t.document;this.editor.keystrokes.set(\"Tab\",(...t)=>this._handleTabOnSelectedTable(...t),{priority:\"low\"});this.editor.keystrokes.set(\"Tab\",this._getTabHandler(true),{priority:\"low\"});this.editor.keystrokes.set(\"Shift+Tab\",this._getTabHandler(false),{priority:\"low\"});this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:or.get(\"high\")+1})}_handleTabOnSelectedTable(t,e){const n=this.editor;const i=n.model.document.selection;if(!i.isCollapsed&&i.rangeCount===1&&i.getFirstRange().isFlat){const t=i.getSelectedElement();if(!t||!t.is(\"table\")){return}e();n.model.change(e=>{e.setSelection(e.createRangeIn(t.getChild(0).getChild(0)))})}}_getTabHandler(t){const e=this.editor;return(n,i)=>{const o=e.model.document.selection;const s=WP(o)[0];if(!s){return}i();const r=s.parent;const a=r.parent;const c=a.getChildIndex(r);const l=r.getChildIndex(s);const d=l===0;if(!t&&d&&c===0){return}const u=l===r.childCount-1;const h=c===a.childCount-1;if(t&&h&&u){e.execute(\"insertTableRowBelow\");if(c===a.childCount-1){return}}let f;if(t&&u){const t=a.getChild(c+1);f=t.getChild(0)}else if(!t&&d){const t=a.getChild(c-1);f=t.getChild(t.childCount-1)}else{f=r.getChild(l+(t?1:-1))}e.model.change(t=>{t.setSelection(t.createRangeIn(f))})}}_onKeydown(t,e){const n=e.keyCode;if(!KM(n)){return}const i=JM(n,this.editor.locale.contentLanguageDirection);const o=this._handleArrowKeys(i,e.shiftKey);if(o){e.preventDefault();e.stopPropagation();t.stop()}}_handleArrowKeys(t,e){const n=this.editor.model;const i=n.document.selection;const o=[\"right\",\"down\"].includes(t);const s=UP(i);if(s.length){let n;if(e){n=this.editor.plugins.get(\"TableSelection\").getFocusCell()}else{n=o?s[s.length-1]:s[0]}this._navigateFromCellInDirection(n,t,e);return true}const r=SP(\"tableCell\",i.focus);if(!r){return false}const a=n.createRangeIn(r);if(this._isSelectionAtCellEdge(i,o)){this._navigateFromCellInDirection(r,t,e);return true}const c=i.getSelectedElement();if(c&&n.schema.isObject(c)){return false}if(this._isObjectElementNextToSelection(i,o)){return false}const l=this._findTextRangeFromSelection(a,i,o);if(!l){this._navigateFromCellInDirection(r,t,e);return true}if([\"left\",\"right\"].includes(t)){return false}if(this._isSingleLineRange(l,o)){n.change(t=>{const s=o?a.end:a.start;if(e){const e=n.createSelection(i.anchor);e.setFocus(s);t.setSelection(e)}else{t.setSelection(s)}});return true}}_isSelectionAtCellEdge(t,e){const n=this.editor.model;const i=this.editor.model.schema;const o=e?t.getLastPosition():t.getFirstPosition();if(!i.getLimitElement(o).is(\"tableCell\")){return false}const s=n.createSelection(o);n.modifySelection(s,{direction:e?\"forward\":\"backward\"});return o.isEqual(s.focus)}_isObjectElementNextToSelection(t,e){const n=this.editor.model;const i=n.schema;const o=n.createSelection(t);n.modifySelection(o,{direction:e?\"forward\":\"backward\"});const s=e?o.focus.nodeBefore:o.focus.nodeAfter;return s&&i.isObject(s)}_findTextRangeFromSelection(t,e,n){const i=this.editor.model;if(n){const n=e.getLastPosition();const o=this._getNearestVisibleTextPosition(t,\"backward\");if(o&&n.isBefore(o)){return i.createRange(n,o)}return null}else{const n=e.getFirstPosition();const o=this._getNearestVisibleTextPosition(t,\"forward\");if(o&&n.isAfter(o)){return i.createRange(o,n)}return null}}_getNearestVisibleTextPosition(t,e){const n=this.editor.model.schema;const i=this.editor.editing.mapper;for(const{nextPosition:o,item:s}of t.getWalker({direction:e})){if(n.checkChild(o,\"$text\")){const t=i.toViewElement(s);if(t&&!t.hasClass(\"ck-hidden\")){return o}}}}_isSingleLineRange(t,e){const n=this.editor.model;const i=this.editor.editing;const o=i.view.domConverter;if(e){const e=n.createSelection(t.start);n.modifySelection(e);if(!e.focus.isAtEnd&&!t.start.isEqual(e.focus)){t=n.createRange(e.focus,t.end)}}const s=i.mapper.toViewRange(t);const r=o.viewRangeToDom(s);const a=vh.getDomRangeRects(r);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}_navigateFromCellInDirection(t,e,n=false){const i=this.editor.model;const o=SP(\"table\",t);const s=[...new VP(o,{includeSpanned:true})];const{row:r,column:a}=s[s.length-1];const c=s.find(({cell:e})=>e==t);let{row:l,column:d}=c;switch(e){case\"left\":d--;break;case\"up\":l--;break;case\"right\":d+=c.colspan;break;case\"down\":l+=c.rowspan;break}const u=l<0||l>r;const h=d<0&&l<=0;const f=d>a&&l>=r;if(u||h||f){i.change(t=>{t.setSelection(t.createRangeOn(o))});return}if(d<0){d=n?0:a;l--}else if(d>a){d=n?a:0;l++}const g=s.find(t=>t.row==l&&t.column==d).cell;const m=[\"right\",\"down\"].includes(e);if(n){const e=this.editor.plugins.get(\"TableSelection\");const n=e.getAnchorCell()||t;e.setCellSelection(n,g)}else{const t=i.createPositionAt(g,m?0:\"end\");i.change(e=>{e.setSelection(t)})}}}function KM(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function JM(t,e){const n=e===\"ltr\";switch(t){case Rl.arrowleft:return n?\"left\":\"right\";case Rl.arrowright:return n?\"right\":\"left\";case Rl.arrowup:return\"up\";case Rl.arrowdown:return\"down\"}}var ZM=n(100);class XM extends Dw{static get requires(){return[_M,EM,LM,VM,QM,vy]}static get pluginName(){return\"Table\"}}class tI extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"TableToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);const i=t.config.get(\"table.contentToolbar\");const o=t.config.get(\"table.tableToolbar\");if(i){n.register(\"tableContent\",{ariaLabel:e(\"Table toolbar\"),items:i,getRelatedElement:HP})}if(o){n.register(\"table\",{ariaLabel:e(\"Table toolbar\"),items:o,getRelatedElement:FP})}}}class eI{constructor(t,e){this.model=t;this.testCallback=e;this.hasMatch=false;this.set(\"isEnabled\",true);this.on(\"change:isEnabled\",()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}});this._startListening()}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,\"change:range\",(t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire(\"unmatched\");this.hasMatch=false}return}this._evaluateTextBeforeSelection(\"selection\")});this.listenTo(e,\"change:data\",(t,e)=>{if(e.type==\"transparent\"){return}this._evaluateTextBeforeSelection(\"data\",{batch:e})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const s=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:r,range:a}=i_(s,n);const c=this.testCallback(r);if(!c&&this.hasMatch){this.fire(\"unmatched\")}this.hasMatch=!!c;if(c){const n=Object.assign(e,{text:r,range:a});if(typeof c==\"object\"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}yr(eI,Kc);var nI=/[\\\\^$.*+?()[\\]{}|]/g,iI=RegExp(nI.source);function oI(t){t=va(t);return t&&iI.test(t)?t.replace(nI,\"\\\\$&\"):t}var sI=oI;const rI={copyright:{from:\"(c)\",to:\"©\"},registeredTrademark:{from:\"(r)\",to:\"®\"},trademark:{from:\"(tm)\",to:\"™\"},oneHalf:{from:\"1/2\",to:\"½\"},oneThird:{from:\"1/3\",to:\"⅓\"},twoThirds:{from:\"2/3\",to:\"⅔\"},oneForth:{from:\"1/4\",to:\"¼\"},threeQuarters:{from:\"3/4\",to:\"¾\"},lessThanOrEqual:{from:\"<=\",to:\"≤\"},greaterThanOrEqual:{from:\">=\",to:\"≥\"},notEqual:{from:\"!=\",to:\"≠\"},arrowLeft:{from:\"<-\",to:\"←\"},arrowRight:{from:\"->\",to:\"→\"},horizontalEllipsis:{from:\"...\",to:\"…\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"–\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"—\",null]},quotesPrimary:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesSecondary:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesPrimaryEnGb:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesSecondaryEnGb:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesPrimaryPl:{from:fI('\"'),to:[null,\"„\",null,\"”\"]},quotesSecondaryPl:{from:fI(\"'\"),to:[null,\"‚\",null,\"’\"]}};const aI={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]};const cI=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];class lI extends Dw{static get pluginName(){return\"TextTransformation\"}constructor(t){super(t);t.config.define(\"typing\",{transformations:{include:cI}})}init(){const t=this.editor.model;const e=t.document.selection;e.on(\"change:range\",()=>{this.isEnabled=!e.anchor.parent.is(\"codeBlock\")});this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"Input\");const i=gI(t.config.get(\"typing.transformations\"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const s=(t,i)=>{if(!n.isInput(i.batch)){return}const{from:o,to:s}=i.normalizedTransformation;const r=o.exec(i.text);const a=s(r.slice(1));const c=i.range;let l=r.index;e.enqueueChange(t=>{for(let n=1;n<r.length;n++){const i=r[n];const o=a[n-1];if(o==null){l+=i.length;continue}const s=c.start.getShiftedBy(l);const d=e.createRange(s,s.getShiftedBy(i.length));const u=hI(s);e.insertContent(t.createText(o,u),d);l+=o.length}})};const r=new eI(t.model,o);r.on(\"matched:data\",s);r.bind(\"isEnabled\").to(this)}}function dI(t){if(typeof t==\"string\"){return new RegExp(`(${sI(t)})$`)}return t}function uI(t){if(typeof t==\"string\"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function hI(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function fI(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function gI(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return mI(o).filter(i).map(t=>rI[t]||t).map(t=>({from:dI(t.from),to:uI(t.to)}))}function mI(t){const e=new Set;for(const n of t){if(aI[n]){for(const t of aI[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}class pI extends Ow{}pI.builtinPlugins=[e_,r_,f_,x_,M_,z_,Zk,fv,Xy,ux,Ex,$x,Jx,MA,LA,HA,mC,ZC,yS,nv,nP,cP,gP,kP,CP,XM,tI,lI];var bI=e[\"default\"]=pI}])[\"default\"]}));\n//# sourceMappingURL=ckeditor.js.map","(function(){\r\n  var crypt = require('crypt'),\r\n      utf8 = require('charenc').utf8,\r\n      isBuffer = require('is-buffer'),\r\n      bin = require('charenc').bin,\r\n\r\n  // The core\r\n  md5 = function (message, options) {\r\n    // Convert to byte array\r\n    if (message.constructor == String)\r\n      if (options && options.encoding === 'binary')\r\n        message = bin.stringToBytes(message);\r\n      else\r\n        message = utf8.stringToBytes(message);\r\n    else if (isBuffer(message))\r\n      message = Array.prototype.slice.call(message, 0);\r\n    else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n      message = message.toString();\r\n    // else, assume byte array already\r\n\r\n    var m = crypt.bytesToWords(message),\r\n        l = message.length * 8,\r\n        a =  1732584193,\r\n        b = -271733879,\r\n        c = -1732584194,\r\n        d =  271733878;\r\n\r\n    // Swap endian\r\n    for (var i = 0; i < m.length; i++) {\r\n      m[i] = ((m[i] <<  8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n             ((m[i] << 24) | (m[i] >>>  8)) & 0xFF00FF00;\r\n    }\r\n\r\n    // Padding\r\n    m[l >>> 5] |= 0x80 << (l % 32);\r\n    m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n    // Method shortcuts\r\n    var FF = md5._ff,\r\n        GG = md5._gg,\r\n        HH = md5._hh,\r\n        II = md5._ii;\r\n\r\n    for (var i = 0; i < m.length; i += 16) {\r\n\r\n      var aa = a,\r\n          bb = b,\r\n          cc = c,\r\n          dd = d;\r\n\r\n      a = FF(a, b, c, d, m[i+ 0],  7, -680876936);\r\n      d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n      c = FF(c, d, a, b, m[i+ 2], 17,  606105819);\r\n      b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n      a = FF(a, b, c, d, m[i+ 4],  7, -176418897);\r\n      d = FF(d, a, b, c, m[i+ 5], 12,  1200080426);\r\n      c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n      b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n      a = FF(a, b, c, d, m[i+ 8],  7,  1770035416);\r\n      d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n      c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n      b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n      a = FF(a, b, c, d, m[i+12],  7,  1804603682);\r\n      d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n      c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n      b = FF(b, c, d, a, m[i+15], 22,  1236535329);\r\n\r\n      a = GG(a, b, c, d, m[i+ 1],  5, -165796510);\r\n      d = GG(d, a, b, c, m[i+ 6],  9, -1069501632);\r\n      c = GG(c, d, a, b, m[i+11], 14,  643717713);\r\n      b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n      a = GG(a, b, c, d, m[i+ 5],  5, -701558691);\r\n      d = GG(d, a, b, c, m[i+10],  9,  38016083);\r\n      c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n      b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n      a = GG(a, b, c, d, m[i+ 9],  5,  568446438);\r\n      d = GG(d, a, b, c, m[i+14],  9, -1019803690);\r\n      c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n      b = GG(b, c, d, a, m[i+ 8], 20,  1163531501);\r\n      a = GG(a, b, c, d, m[i+13],  5, -1444681467);\r\n      d = GG(d, a, b, c, m[i+ 2],  9, -51403784);\r\n      c = GG(c, d, a, b, m[i+ 7], 14,  1735328473);\r\n      b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n      a = HH(a, b, c, d, m[i+ 5],  4, -378558);\r\n      d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n      c = HH(c, d, a, b, m[i+11], 16,  1839030562);\r\n      b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n      a = HH(a, b, c, d, m[i+ 1],  4, -1530992060);\r\n      d = HH(d, a, b, c, m[i+ 4], 11,  1272893353);\r\n      c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n      b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n      a = HH(a, b, c, d, m[i+13],  4,  681279174);\r\n      d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n      c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n      b = HH(b, c, d, a, m[i+ 6], 23,  76029189);\r\n      a = HH(a, b, c, d, m[i+ 9],  4, -640364487);\r\n      d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n      c = HH(c, d, a, b, m[i+15], 16,  530742520);\r\n      b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n      a = II(a, b, c, d, m[i+ 0],  6, -198630844);\r\n      d = II(d, a, b, c, m[i+ 7], 10,  1126891415);\r\n      c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n      b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n      a = II(a, b, c, d, m[i+12],  6,  1700485571);\r\n      d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n      c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n      b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n      a = II(a, b, c, d, m[i+ 8],  6,  1873313359);\r\n      d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n      c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n      b = II(b, c, d, a, m[i+13], 21,  1309151649);\r\n      a = II(a, b, c, d, m[i+ 4],  6, -145523070);\r\n      d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n      c = II(c, d, a, b, m[i+ 2], 15,  718787259);\r\n      b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n      a = (a + aa) >>> 0;\r\n      b = (b + bb) >>> 0;\r\n      c = (c + cc) >>> 0;\r\n      d = (d + dd) >>> 0;\r\n    }\r\n\r\n    return crypt.endian([a, b, c, d]);\r\n  };\r\n\r\n  // Auxiliary functions\r\n  md5._ff  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._gg  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._hh  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._ii  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n\r\n  // Package private blocksize\r\n  md5._blocksize = 16;\r\n  md5._digestsize = 16;\r\n\r\n  module.exports = function (message, options) {\r\n    if (message === undefined || message === null)\r\n      throw new Error('Illegal argument ' + message);\r\n\r\n    var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n    return options && options.asBytes ? digestbytes :\r\n        options && options.asString ? bin.bytesToString(digestbytes) :\r\n        crypt.bytesToHex(digestbytes);\r\n  };\r\n\r\n})();\r\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                '_'\n            ),\n            standalone:\n                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                    '_'\n                ),\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                    ? 'тан'\n                    : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n            ? forms(key)[1]\n            : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dager',\n            w: 'en uke',\n            ww: '%d uker',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                        ? ':a'\n                        : b === 2\n                        ? ':a'\n                        : b === 3\n                        ? ':e'\n                        : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'waQ'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'nem'\n                : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'wen'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'ben'\n                : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n            ? format[key][0]\n            : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n            ? 'genitive'\n            : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 157,\n\t\"./af.js\": 157,\n\t\"./ar\": 158,\n\t\"./ar-dz\": 159,\n\t\"./ar-dz.js\": 159,\n\t\"./ar-kw\": 160,\n\t\"./ar-kw.js\": 160,\n\t\"./ar-ly\": 161,\n\t\"./ar-ly.js\": 161,\n\t\"./ar-ma\": 162,\n\t\"./ar-ma.js\": 162,\n\t\"./ar-sa\": 163,\n\t\"./ar-sa.js\": 163,\n\t\"./ar-tn\": 164,\n\t\"./ar-tn.js\": 164,\n\t\"./ar.js\": 158,\n\t\"./az\": 165,\n\t\"./az.js\": 165,\n\t\"./be\": 166,\n\t\"./be.js\": 166,\n\t\"./bg\": 167,\n\t\"./bg.js\": 167,\n\t\"./bm\": 168,\n\t\"./bm.js\": 168,\n\t\"./bn\": 169,\n\t\"./bn-bd\": 170,\n\t\"./bn-bd.js\": 170,\n\t\"./bn.js\": 169,\n\t\"./bo\": 171,\n\t\"./bo.js\": 171,\n\t\"./br\": 172,\n\t\"./br.js\": 172,\n\t\"./bs\": 173,\n\t\"./bs.js\": 173,\n\t\"./ca\": 174,\n\t\"./ca.js\": 174,\n\t\"./cs\": 175,\n\t\"./cs.js\": 175,\n\t\"./cv\": 176,\n\t\"./cv.js\": 176,\n\t\"./cy\": 177,\n\t\"./cy.js\": 177,\n\t\"./da\": 178,\n\t\"./da.js\": 178,\n\t\"./de\": 179,\n\t\"./de-at\": 180,\n\t\"./de-at.js\": 180,\n\t\"./de-ch\": 181,\n\t\"./de-ch.js\": 181,\n\t\"./de.js\": 179,\n\t\"./dv\": 182,\n\t\"./dv.js\": 182,\n\t\"./el\": 183,\n\t\"./el.js\": 183,\n\t\"./en-au\": 184,\n\t\"./en-au.js\": 184,\n\t\"./en-ca\": 185,\n\t\"./en-ca.js\": 185,\n\t\"./en-gb\": 186,\n\t\"./en-gb.js\": 186,\n\t\"./en-ie\": 187,\n\t\"./en-ie.js\": 187,\n\t\"./en-il\": 188,\n\t\"./en-il.js\": 188,\n\t\"./en-in\": 189,\n\t\"./en-in.js\": 189,\n\t\"./en-nz\": 190,\n\t\"./en-nz.js\": 190,\n\t\"./en-sg\": 191,\n\t\"./en-sg.js\": 191,\n\t\"./eo\": 192,\n\t\"./eo.js\": 192,\n\t\"./es\": 193,\n\t\"./es-do\": 194,\n\t\"./es-do.js\": 194,\n\t\"./es-mx\": 195,\n\t\"./es-mx.js\": 195,\n\t\"./es-us\": 196,\n\t\"./es-us.js\": 196,\n\t\"./es.js\": 193,\n\t\"./et\": 197,\n\t\"./et.js\": 197,\n\t\"./eu\": 198,\n\t\"./eu.js\": 198,\n\t\"./fa\": 199,\n\t\"./fa.js\": 199,\n\t\"./fi\": 200,\n\t\"./fi.js\": 200,\n\t\"./fil\": 201,\n\t\"./fil.js\": 201,\n\t\"./fo\": 202,\n\t\"./fo.js\": 202,\n\t\"./fr\": 203,\n\t\"./fr-ca\": 204,\n\t\"./fr-ca.js\": 204,\n\t\"./fr-ch\": 205,\n\t\"./fr-ch.js\": 205,\n\t\"./fr.js\": 203,\n\t\"./fy\": 206,\n\t\"./fy.js\": 206,\n\t\"./ga\": 207,\n\t\"./ga.js\": 207,\n\t\"./gd\": 208,\n\t\"./gd.js\": 208,\n\t\"./gl\": 209,\n\t\"./gl.js\": 209,\n\t\"./gom-deva\": 210,\n\t\"./gom-deva.js\": 210,\n\t\"./gom-latn\": 211,\n\t\"./gom-latn.js\": 211,\n\t\"./gu\": 212,\n\t\"./gu.js\": 212,\n\t\"./he\": 213,\n\t\"./he.js\": 213,\n\t\"./hi\": 214,\n\t\"./hi.js\": 214,\n\t\"./hr\": 215,\n\t\"./hr.js\": 215,\n\t\"./hu\": 216,\n\t\"./hu.js\": 216,\n\t\"./hy-am\": 217,\n\t\"./hy-am.js\": 217,\n\t\"./id\": 218,\n\t\"./id.js\": 218,\n\t\"./is\": 219,\n\t\"./is.js\": 219,\n\t\"./it\": 220,\n\t\"./it-ch\": 221,\n\t\"./it-ch.js\": 221,\n\t\"./it.js\": 220,\n\t\"./ja\": 222,\n\t\"./ja.js\": 222,\n\t\"./jv\": 223,\n\t\"./jv.js\": 223,\n\t\"./ka\": 224,\n\t\"./ka.js\": 224,\n\t\"./kk\": 225,\n\t\"./kk.js\": 225,\n\t\"./km\": 226,\n\t\"./km.js\": 226,\n\t\"./kn\": 227,\n\t\"./kn.js\": 227,\n\t\"./ko\": 228,\n\t\"./ko.js\": 228,\n\t\"./ku\": 229,\n\t\"./ku.js\": 229,\n\t\"./ky\": 230,\n\t\"./ky.js\": 230,\n\t\"./lb\": 231,\n\t\"./lb.js\": 231,\n\t\"./lo\": 232,\n\t\"./lo.js\": 232,\n\t\"./lt\": 233,\n\t\"./lt.js\": 233,\n\t\"./lv\": 234,\n\t\"./lv.js\": 234,\n\t\"./me\": 235,\n\t\"./me.js\": 235,\n\t\"./mi\": 236,\n\t\"./mi.js\": 236,\n\t\"./mk\": 237,\n\t\"./mk.js\": 237,\n\t\"./ml\": 238,\n\t\"./ml.js\": 238,\n\t\"./mn\": 239,\n\t\"./mn.js\": 239,\n\t\"./mr\": 240,\n\t\"./mr.js\": 240,\n\t\"./ms\": 241,\n\t\"./ms-my\": 242,\n\t\"./ms-my.js\": 242,\n\t\"./ms.js\": 241,\n\t\"./mt\": 243,\n\t\"./mt.js\": 243,\n\t\"./my\": 244,\n\t\"./my.js\": 244,\n\t\"./nb\": 245,\n\t\"./nb.js\": 245,\n\t\"./ne\": 246,\n\t\"./ne.js\": 246,\n\t\"./nl\": 247,\n\t\"./nl-be\": 248,\n\t\"./nl-be.js\": 248,\n\t\"./nl.js\": 247,\n\t\"./nn\": 249,\n\t\"./nn.js\": 249,\n\t\"./oc-lnc\": 250,\n\t\"./oc-lnc.js\": 250,\n\t\"./pa-in\": 251,\n\t\"./pa-in.js\": 251,\n\t\"./pl\": 252,\n\t\"./pl.js\": 252,\n\t\"./pt\": 253,\n\t\"./pt-br\": 254,\n\t\"./pt-br.js\": 254,\n\t\"./pt.js\": 253,\n\t\"./ro\": 255,\n\t\"./ro.js\": 255,\n\t\"./ru\": 256,\n\t\"./ru.js\": 256,\n\t\"./sd\": 257,\n\t\"./sd.js\": 257,\n\t\"./se\": 258,\n\t\"./se.js\": 258,\n\t\"./si\": 259,\n\t\"./si.js\": 259,\n\t\"./sk\": 260,\n\t\"./sk.js\": 260,\n\t\"./sl\": 261,\n\t\"./sl.js\": 261,\n\t\"./sq\": 262,\n\t\"./sq.js\": 262,\n\t\"./sr\": 263,\n\t\"./sr-cyrl\": 264,\n\t\"./sr-cyrl.js\": 264,\n\t\"./sr.js\": 263,\n\t\"./ss\": 265,\n\t\"./ss.js\": 265,\n\t\"./sv\": 266,\n\t\"./sv.js\": 266,\n\t\"./sw\": 267,\n\t\"./sw.js\": 267,\n\t\"./ta\": 268,\n\t\"./ta.js\": 268,\n\t\"./te\": 269,\n\t\"./te.js\": 269,\n\t\"./tet\": 270,\n\t\"./tet.js\": 270,\n\t\"./tg\": 271,\n\t\"./tg.js\": 271,\n\t\"./th\": 272,\n\t\"./th.js\": 272,\n\t\"./tk\": 273,\n\t\"./tk.js\": 273,\n\t\"./tl-ph\": 274,\n\t\"./tl-ph.js\": 274,\n\t\"./tlh\": 275,\n\t\"./tlh.js\": 275,\n\t\"./tr\": 276,\n\t\"./tr.js\": 276,\n\t\"./tzl\": 277,\n\t\"./tzl.js\": 277,\n\t\"./tzm\": 278,\n\t\"./tzm-latn\": 279,\n\t\"./tzm-latn.js\": 279,\n\t\"./tzm.js\": 278,\n\t\"./ug-cn\": 280,\n\t\"./ug-cn.js\": 280,\n\t\"./uk\": 281,\n\t\"./uk.js\": 281,\n\t\"./ur\": 282,\n\t\"./ur.js\": 282,\n\t\"./uz\": 283,\n\t\"./uz-latn\": 284,\n\t\"./uz-latn.js\": 284,\n\t\"./uz.js\": 283,\n\t\"./vi\": 285,\n\t\"./vi.js\": 285,\n\t\"./x-pseudo\": 286,\n\t\"./x-pseudo.js\": 286,\n\t\"./yo\": 287,\n\t\"./yo.js\": 287,\n\t\"./zh-cn\": 288,\n\t\"./zh-cn.js\": 288,\n\t\"./zh-hk\": 289,\n\t\"./zh-hk.js\": 289,\n\t\"./zh-mo\": 290,\n\t\"./zh-mo.js\": 290,\n\t\"./zh-tw\": 291,\n\t\"./zh-tw.js\": 291\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 514;","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        if (m._isValid == null) {\n            var flags = getParsingFlags(m),\n                parsedParts = some.call(flags.parsedDateParts, function (i) {\n                    return i != null;\n                }),\n                isNowValid =\n                    !isNaN(m._d.getTime()) &&\n                    flags.overflow < 0 &&\n                    !flags.empty &&\n                    !flags.invalidEra &&\n                    !flags.invalidMonth &&\n                    !flags.invalidWeekday &&\n                    !flags.weekdayMismatch &&\n                    !flags.nullInput &&\n                    !flags.invalidFormat &&\n                    !flags.userInvalidated &&\n                    (!flags.meridiem || (flags.meridiem && parsedParts));\n\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n\n            if (Object.isFrozen == null || !Object.isFrozen(m)) {\n                m._isValid = isNowValid;\n            } else {\n                return isNowValid;\n            }\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {};\n\n    function addUnitAlias(unit, shorthand) {\n        var lowerCase = unit.toLowerCase();\n        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n    }\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {};\n\n    function addUnitPriority(unit, priority) {\n        priorities[unit] = priority;\n    }\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        return mom.isValid()\n            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n            : NaN;\n    }\n\n    function set$1(mom, unit, value) {\n        if (mom.isValid() && !isNaN(value)) {\n            if (\n                unit === 'FullYear' &&\n                isLeapYear(mom.year()) &&\n                mom.month() === 1 &&\n                mom.date() === 29\n            ) {\n                value = toInt(value);\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n                    value,\n                    mom.month(),\n                    daysInMonth(value, mom.month())\n                );\n            } else {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // ALIASES\n\n    addUnitAlias('month', 'M');\n\n    // PRIORITY\n\n    addUnitPriority('month', 8);\n\n    // PARSING\n\n    addRegexToken('M', match1to2);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        var dayOfMonth;\n\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortPieces.push(this.monthsShort(mom, ''));\n            longPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.monthsShort(mom, ''));\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 12; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n        }\n        for (i = 0; i < 24; i++) {\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // ALIASES\n\n    addUnitAlias('year', 'y');\n\n    // PRIORITIES\n\n    addUnitPriority('year', 1);\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // ALIASES\n\n    addUnitAlias('week', 'w');\n    addUnitAlias('isoWeek', 'W');\n\n    // PRIORITIES\n\n    addUnitPriority('week', 5);\n    addUnitPriority('isoWeek', 5);\n\n    // PARSING\n\n    addRegexToken('w', match1to2);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // ALIASES\n\n    addUnitAlias('day', 'd');\n    addUnitAlias('weekday', 'e');\n    addUnitAlias('isoWeekday', 'E');\n\n    // PRIORITY\n    addUnitPriority('day', 11);\n    addUnitPriority('weekday', 11);\n    addUnitPriority('isoWeekday', 11);\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n            ? weekdays[m.day()]\n            : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n            ? this._weekdaysShort[m.day()]\n            : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n            ? this._weekdaysMin[m.day()]\n            : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // ALIASES\n\n    addUnitAlias('hour', 'h');\n\n    // PRIORITY\n    addUnitPriority('hour', 13);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2);\n    addRegexToken('h', match1to2);\n    addRegexToken('k', match1to2);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        return name.match('^[^/\\\\\\\\]*$') != null;\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                    ? DATE\n                    : a[HOUR] < 0 ||\n                      a[HOUR] > 24 ||\n                      (a[HOUR] === 24 &&\n                          (a[MINUTE] !== 0 ||\n                              a[SECOND] !== 0 ||\n                              a[MILLISECOND] !== 0))\n                    ? HOUR\n                    : a[MINUTE] < 0 || a[MINUTE] > 59\n                    ? MINUTE\n                    : a[SECOND] < 0 || a[SECOND] > 59\n                    ? SECOND\n                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                    ? MILLISECOND\n                    : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n            ? 'lastWeek'\n            : diff < 0\n            ? 'lastDay'\n            : diff < 1\n            ? 'sameDay'\n            : diff < 2\n            ? 'nextDay'\n            : diff < 7\n            ? 'nextWeek'\n            : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            namePieces.push(regexEscape(eras[i].name));\n            abbrPieces.push(regexEscape(eras[i].abbr));\n            narrowPieces.push(regexEscape(eras[i].narrow));\n\n            mixedPieces.push(regexEscape(eras[i].name));\n            mixedPieces.push(regexEscape(eras[i].abbr));\n            mixedPieces.push(regexEscape(eras[i].narrow));\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    addUnitAlias('weekYear', 'gg');\n    addUnitAlias('isoWeekYear', 'GG');\n\n    // PRIORITY\n\n    addUnitPriority('weekYear', 1);\n    addUnitPriority('isoWeekYear', 1);\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // ALIASES\n\n    addUnitAlias('quarter', 'Q');\n\n    // PRIORITY\n\n    addUnitPriority('quarter', 7);\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // ALIASES\n\n    addUnitAlias('date', 'D');\n\n    // PRIORITY\n    addUnitPriority('date', 9);\n\n    // PARSING\n\n    addRegexToken('D', match1to2);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // ALIASES\n\n    addUnitAlias('dayOfYear', 'DDD');\n\n    // PRIORITY\n    addUnitPriority('dayOfYear', 4);\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // ALIASES\n\n    addUnitAlias('minute', 'm');\n\n    // PRIORITY\n\n    addUnitPriority('minute', 14);\n\n    // PARSING\n\n    addRegexToken('m', match1to2);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // ALIASES\n\n    addUnitAlias('second', 's');\n\n    // PRIORITY\n\n    addUnitPriority('second', 15);\n\n    // PARSING\n\n    addRegexToken('s', match1to2);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // ALIASES\n\n    addUnitAlias('millisecond', 'ms');\n\n    // PRIORITY\n\n    addUnitPriority('millisecond', 16);\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    // TODO: Use this.as('ms')?\n    function valueOf$1() {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        return (\n            this._milliseconds +\n            this._days * 864e5 +\n            (this._months % 12) * 2592e6 +\n            toInt(this._months / 12) * 31536e6\n        );\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y');\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.29.3';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  define(IteratorPrototype, iteratorSymbol, function () {\n    return this;\n  });\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = GeneratorFunctionPrototype;\n  define(Gp, \"constructor\", GeneratorFunctionPrototype);\n  define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n    return this;\n  });\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  define(Gp, iteratorSymbol, function() {\n    return this;\n  });\n\n  define(Gp, \"toString\", function() {\n    return \"[object Generator]\";\n  });\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, in modern engines\n  // we can explicitly access globalThis. In older engines we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (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};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (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};\nvar _RestClient_instances, _RestClient_baseUrl, _RestClient_makeUrl, _RestClient_makeRequest, _APIResponse_jsonMimeTypes;\n// @ts-ignore\nimport ENVIRONMENT from '../environment';\nexport class RestClient {\n    constructor() {\n        _RestClient_instances.add(this);\n        _RestClient_baseUrl.set(this, void 0);\n        Object.defineProperty(this, \"auth\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        __classPrivateFieldSet(this, _RestClient_baseUrl, new URL(ENVIRONMENT.APP_API_BASE_URL), \"f\");\n        this.auth = new RestAuth();\n    }\n    // Retrieve the device fingerprint from local storage\n    get xhrFingerprint() {\n        return localStorage.getItem('xhr-fingerprint');\n    }\n    // Execute the fetch and handle API response\n    async fetch(request) {\n        try {\n            const response = await fetch(request);\n            const apiResponse = await APIResponse.from(response);\n            if (!apiResponse.ok) {\n                const errorMessages = apiResponse.data?.errors?.map((err) => err.msg).join(\", \") || \"Server error\";\n                console.warn(`[rest-client] ${apiResponse.status} error: ${errorMessages}`);\n            }\n            return apiResponse;\n        }\n        catch (error) {\n            console.error(\"[rest-client] Fetch error:\", error);\n            throw error;\n        }\n    }\n    // GET request with optional query parameters\n    get(endpoint, data) {\n        const url = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeUrl).call(this, endpoint);\n        if (data) {\n            url.search = new URLSearchParams([...url.search, ...data]).toString();\n        }\n        const request = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeRequest).call(this, url, \"GET\");\n        return this.fetch(request);\n    }\n}\n_RestClient_baseUrl = new WeakMap(), _RestClient_instances = new WeakSet(), _RestClient_makeUrl = function _RestClient_makeUrl(endpoint) {\n    return new URL(`${__classPrivateFieldGet(this, _RestClient_baseUrl, \"f\")}${endpoint}`);\n}, _RestClient_makeRequest = function _RestClient_makeRequest(url, method, data) {\n    const headers = new Headers({\n        \"Accept-Language\": \"it\",\n        \"Content-Type\": \"application/vnd.api+json\",\n        \"X-api-client-name\": ENVIRONMENT.APP_API_CLIENT_NAME,\n        \"X-api-key\": ENVIRONMENT.APP_API_KEY,\n        \"X-api-client-version\": ENVIRONMENT.APP_API_CLIENT_VERSION,\n    });\n    if (ENVIRONMENT.APP_DEBUG === \"true\") {\n        headers.append(\"X-ignore-test-agreements\", \"ignore\");\n    }\n    if (this.xhrFingerprint) {\n        headers.append(\"X-Device-Fingerprint\", this.xhrFingerprint);\n    }\n    if (this.auth.accessToken) {\n        headers.append(\"Authorization\", `Bearer ${this.auth.accessToken}`);\n    }\n    const options = {\n        method,\n        headers,\n        body: data ? JSON.stringify(data) : null,\n    };\n    return new Request(url.toString(), options);\n};\nclass APIResponse {\n    constructor(config = {}) {\n        Object.defineProperty(this, \"data\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"meta\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"headers\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: new Headers()\n        });\n        Object.defineProperty(this, \"ok\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: true\n        });\n        Object.defineProperty(this, \"status\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: 200\n        });\n        _APIResponse_jsonMimeTypes.set(this, [\n            \"application/json\",\n            \"application/ld+json\",\n            \"application/vnd.api+json\",\n            \"application/x-javascript\",\n            \"text/javascript\",\n            \"text/x-javascript\",\n            \"text/x-json\",\n        ]);\n        Object.assign(this, config);\n    }\n    // Check if APIResponse's content type is JSON\n    isJson() {\n        const contentType = (this.headers.get(\"Content-Type\") || \"\").replace(/\\s*[,;].*$/, \"\");\n        return __classPrivateFieldGet(this, _APIResponse_jsonMimeTypes, \"f\").includes(contentType);\n    }\n    // Factory method to create APIResponse from a fetch response\n    static async from(response) {\n        const apiResponse = new this({\n            headers: response.headers,\n            ok: response.ok,\n            status: response.status,\n        });\n        apiResponse.data = apiResponse.isJson() ? await response.json() : await response.text();\n        return apiResponse;\n    }\n}\n_APIResponse_jsonMimeTypes = new WeakMap();\nexport class RestAuth {\n    get accessToken() {\n        return localStorage.getItem(\"access_token\");\n    }\n    set accessToken(accessToken) {\n        if (accessToken) {\n            localStorage.setItem(\"access_token\", accessToken);\n        }\n        else {\n            localStorage.removeItem(\"access_token\");\n        }\n    }\n    get refreshToken() {\n        return localStorage.getItem(\"refresh_token\");\n    }\n    set refreshToken(refreshToken) {\n        if (refreshToken) {\n            localStorage.setItem(\"refresh_token\", refreshToken);\n        }\n        else {\n            localStorage.removeItem(\"refresh_token\");\n        }\n    }\n    // Check if the user is authenticated\n    get isAuthenticated() {\n        return !!this.accessToken && !!this.refreshToken;\n    }\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n  // lazy load so that environments that need to polyfill have a chance to do so\n  if (!getRandomValues) {\n    // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n    // find the complete implementation of crypto (msCrypto) on IE11.\n    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n    if (!getRandomValues) {\n      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n    }\n  }\n\n  return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n\n  if (!validate(uuid)) {\n    throw TypeError('Stringified UUID is invalid');\n  }\n\n  return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n  options = options || {};\n  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    offset = offset || 0;\n\n    for (var i = 0; i < 16; ++i) {\n      buf[offset + i] = rnds[i];\n    }\n\n    return buf;\n  }\n\n  return stringify(rnds);\n}\n\nexport default v4;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","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 * 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// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\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 platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\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 resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\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: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\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 * 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 platform.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 platform.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          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\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\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        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.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 platform.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\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\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 = originSides.has(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        platform\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 platform.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 = originSides.has(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 platform.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","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, 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$1(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$1(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 <html> 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) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - 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 (isOffsetParentAnElement) {\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) : 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 `<html>` and `<body>` 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$1(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\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\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  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\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$1(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$1(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$1(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 && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || 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 firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: 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\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\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      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\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$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(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 <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> 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$1(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 <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\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 */\nconst detectOverflow = detectOverflow$1;\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 = offset$1;\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 = autoPlacement$1;\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 = shift$1;\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 = flip$1;\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 = size$1;\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 = hide$1;\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 = arrow$1;\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 = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, 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) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\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 isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\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 (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(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  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\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","/**\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};\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  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? '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.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\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  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\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 e from\"jsbi\";const t=e.BigInt(0),n=e.BigInt(1),r=e.BigInt(2),o=e.BigInt(10),i=e.BigInt(24),a=e.BigInt(60),s=e.BigInt(1e3),c=e.BigInt(1e6),d=e.BigInt(1e9),h=e.multiply(e.BigInt(3600),d),u=e.multiply(a,d),l=e.multiply(h,i);function m(t){return\"bigint\"==typeof t?e.BigInt(t.toString(10)):t}function f(n){return e.equal(e.remainder(n,r),t)}function y(n){return e.lessThan(n,t)?e.unaryMinus(n):n}function p(t,n){return e.lessThan(t,n)?-1:e.greaterThan(t,n)?1:0}function g(t,n){return{quotient:e.divide(t,n),remainder:e.remainder(t,n)}}var w,v;const b=\"slot-epochNanoSeconds\",D=\"slot-iso-date\",T=\"slot-iso-date-time\",M=\"slot-time\",E=\"slot-calendar\",I=\"slot-date-brand\",C=\"slot-year-month-brand\",O=\"slot-month-day-brand\",$=\"slot-time-zone\",Y=\"slot-years\",R=\"slot-months\",S=\"slot-weeks\",j=\"slot-days\",k=\"slot-hours\",N=\"slot-minutes\",x=\"slot-seconds\",L=\"slot-milliseconds\",P=\"slot-microseconds\",U=\"slot-nanoseconds\",B=\"date\",Z=\"ym\",F=\"md\",H=\"time\",z=\"datetime\",A=\"instant\",q=\"original\",W=\"timezone-canonical\",_=\"timezone-original\",J=\"calendar-id\",G=\"locale\",K=\"options\",V=new WeakMap,X=Symbol.for(\"@@Temporal__GetSlots\");(w=globalThis)[X]||(w[X]=function(e){return V.get(e)});const Q=globalThis[X],ee=Symbol.for(\"@@Temporal__CreateSlots\");(v=globalThis)[ee]||(v[ee]=function(e){V.set(e,Object.create(null))});const te=globalThis[ee];function ne(e,...t){if(!e||\"object\"!=typeof e)return!1;const n=Q(e);return!!n&&t.every((e=>e in n))}function re(e,t){const n=Q(e)?.[t];if(void 0===n)throw new TypeError(`Missing internal slot ${t}`);return n}function oe(e,t,n){const r=Q(e);if(void 0===r)throw new TypeError(\"Missing slots for the given container\");if(r[t])throw new TypeError(`${t} already has set`);r[t]=n}const ie={};function ae(e,t){Object.defineProperty(e.prototype,Symbol.toStringTag,{value:t,writable:!1,enumerable:!1,configurable:!0});const n=Object.getOwnPropertyNames(e);for(let t=0;t<n.length;t++){const r=n[t],o=Object.getOwnPropertyDescriptor(e,r);o.configurable&&o.enumerable&&(o.enumerable=!1,Object.defineProperty(e,r,o))}const r=Object.getOwnPropertyNames(e.prototype);for(let t=0;t<r.length;t++){const n=r[t],o=Object.getOwnPropertyDescriptor(e.prototype,n);o.configurable&&o.enumerable&&(o.enumerable=!1,Object.defineProperty(e.prototype,n,o))}se(t,e),se(`${t}.prototype`,e.prototype)}function se(e,t){const n=`%${e}%`;if(void 0!==ie[n])throw new Error(`intrinsic ${e} already exists`);ie[n]=t}function ce(e){return ie[e]}function de(e,t){let n=e;if(0===n)return{div:n,mod:n};const r=Math.sign(n);n=Math.abs(n);const o=Math.trunc(1+Math.log10(n));if(t>=o)return{div:0*r,mod:r*n};if(0===t)return{div:r*n,mod:0*r};const i=n.toPrecision(o);return{div:r*Number.parseInt(i.slice(0,o-t),10),mod:r*Number.parseInt(i.slice(o-t),10)}}function he(e,t,n){let r=e,o=n;if(0===r)return o;const i=Math.sign(r)||Math.sign(o);r=Math.abs(r),o=Math.abs(o);const a=r.toPrecision(Math.trunc(1+Math.log10(r)));if(0===o)return i*Number.parseInt(a+\"0\".repeat(t),10);const s=a+o.toPrecision(Math.trunc(1+Math.log10(o))).padStart(t,\"0\");return i*Number.parseInt(s,10)}function ue(e,t){const n=\"negative\"===t;switch(e){case\"ceil\":return n?\"zero\":\"infinity\";case\"floor\":return n?\"infinity\":\"zero\";case\"expand\":return\"infinity\";case\"trunc\":return\"zero\";case\"halfCeil\":return n?\"half-zero\":\"half-infinity\";case\"halfFloor\":return n?\"half-infinity\":\"half-zero\";case\"halfExpand\":return\"half-infinity\";case\"halfTrunc\":return\"half-zero\";case\"halfEven\":return\"half-even\"}}function le(e,t,n,r,o){return\"zero\"===o?e:\"infinity\"===o?t:n<0?e:n>0?t:\"half-zero\"===o?e:\"half-infinity\"===o?t:r?e:t}class TimeDuration{constructor(t){this.totalNs=m(t),this.sec=e.toNumber(e.divide(this.totalNs,d)),this.subsec=e.toNumber(e.remainder(this.totalNs,d))}static validateNew(t,n){if(e.greaterThan(y(t),TimeDuration.MAX))throw new RangeError(`${n} of duration time units cannot exceed ${TimeDuration.MAX} s`);return new TimeDuration(t)}static fromEpochNsDiff(t,n){const r=e.subtract(m(t),m(n));return new TimeDuration(r)}static fromComponents(t,n,r,o,i,a){const l=e.add(e.add(e.add(e.add(e.add(e.BigInt(a),e.multiply(e.BigInt(i),s)),e.multiply(e.BigInt(o),c)),e.multiply(e.BigInt(r),d)),e.multiply(e.BigInt(n),u)),e.multiply(e.BigInt(t),h));return TimeDuration.validateNew(l,\"total\")}abs(){return new TimeDuration(y(this.totalNs))}add(t){return TimeDuration.validateNew(e.add(this.totalNs,t.totalNs),\"sum\")}add24HourDays(t){return TimeDuration.validateNew(e.add(this.totalNs,e.multiply(e.BigInt(t),l)),\"sum\")}addToEpochNs(t){return e.add(m(t),this.totalNs)}cmp(e){return p(this.totalNs,e.totalNs)}divmod(t){const{quotient:n,remainder:r}=g(this.totalNs,e.BigInt(t));return{quotient:e.toNumber(n),remainder:new TimeDuration(r)}}fdiv(n){const r=m(n),i=e.BigInt(r);let{quotient:a,remainder:s}=g(this.totalNs,i);const c=[];let d;const h=(e.lessThan(this.totalNs,t)?-1:1)*Math.sign(e.toNumber(r));for(;!e.equal(s,t)&&c.length<50;)s=e.multiply(s,o),({quotient:d,remainder:s}=g(s,i)),c.push(Math.abs(e.toNumber(d)));return h*Number(y(a).toString()+\".\"+c.join(\"\"))}isZero(){return e.equal(this.totalNs,t)}round(o,i){const a=m(o);if(e.equal(a,n))return this;const{quotient:s,remainder:c}=g(this.totalNs,a),d=e.lessThan(this.totalNs,t)?\"negative\":\"positive\",h=e.multiply(y(s),a),u=e.add(h,a),l=p(y(e.multiply(c,r)),a),w=ue(i,d),v=e.equal(y(this.totalNs),h)?h:le(h,u,l,f(s),w),b=\"positive\"===d?v:e.unaryMinus(v);return TimeDuration.validateNew(b,\"rounding\")}sign(){return this.cmp(new TimeDuration(t))}subtract(t){return TimeDuration.validateNew(e.subtract(this.totalNs,t.totalNs),\"difference\")}}TimeDuration.MAX=e.BigInt(\"9007199254740991999999999\"),TimeDuration.ZERO=new TimeDuration(t);const me=/[A-Za-z._][A-Za-z._0-9+-]*/,fe=new RegExp(`(?:${/(?:[+-](?:[01][0-9]|2[0-3])(?::?[0-5][0-9])?)/.source}|(?:${me.source})(?:\\\\/(?:${me.source}))*)`),ye=/(?:[+-]\\d{6}|\\d{4})/,pe=/(?:0[1-9]|1[0-2])/,ge=/(?:0[1-9]|[12]\\d|3[01])/,we=new RegExp(`(${ye.source})(?:-(${pe.source})-(${ge.source})|(${pe.source})(${ge.source}))`),ve=/(\\d{2})(?::(\\d{2})(?::(\\d{2})(?:[.,](\\d{1,9}))?)?|(\\d{2})(?:(\\d{2})(?:[.,](\\d{1,9}))?)?)?/,be=/((?:[+-])(?:[01][0-9]|2[0-3])(?::?(?:[0-5][0-9])(?::?(?:[0-5][0-9])(?:[.,](?:\\d{1,9}))?)?)?)/,De=new RegExp(`([zZ])|${be.source}?`),Te=/\\[(!)?([a-z_][a-z0-9_-]*)=([A-Za-z0-9]+(?:-[A-Za-z0-9]+)*)\\]/g,Me=new RegExp([`^${we.source}`,`(?:(?:[tT]|\\\\s+)${ve.source}(?:${De.source})?)?`,`(?:\\\\[!?(${fe.source})\\\\])?`,`((?:${Te.source})*)$`].join(\"\")),Ee=new RegExp([`^[tT]?${ve.source}`,`(?:${De.source})?`,`(?:\\\\[!?${fe.source}\\\\])?`,`((?:${Te.source})*)$`].join(\"\")),Ie=new RegExp(`^(${ye.source})-?(${pe.source})(?:\\\\[!?${fe.source}\\\\])?((?:${Te.source})*)$`),Ce=new RegExp(`^(?:--)?(${pe.source})-?(${ge.source})(?:\\\\[!?${fe.source}\\\\])?((?:${Te.source})*)$`),Oe=/(\\d+)(?:[.,](\\d{1,9}))?/,$e=new RegExp(`(?:${Oe.source}H)?(?:${Oe.source}M)?(?:${Oe.source}S)?`),Ye=new RegExp(`^([+-])?P${/(?:(\\d+)Y)?(?:(\\d+)M)?(?:(\\d+)W)?(?:(\\d+)D)?/.source}(?:T(?!$)${$e.source})?$`,\"i\"),Re=864e5,Se=1e6*Re,je=6e10,ke=1e8*Re,Ne=xo(ke),xe=e.unaryMinus(Ne),Le=e.add(e.subtract(xe,l),n),Pe=e.subtract(e.add(Ne,l),n),Ue=146097*Re,Be=-271821,Ze=275760,Fe=Date.UTC(1847,0,1),He=[\"iso8601\",\"hebrew\",\"islamic\",\"islamic-umalqura\",\"islamic-tbla\",\"islamic-civil\",\"islamic-rgsa\",\"islamicc\",\"persian\",\"ethiopic\",\"ethioaa\",\"ethiopic-amete-alem\",\"coptic\",\"chinese\",\"dangi\",\"roc\",\"indian\",\"buddhist\",\"japanese\",\"gregory\"],ze=new Set([\"ACT\",\"AET\",\"AGT\",\"ART\",\"AST\",\"BET\",\"BST\",\"CAT\",\"CNT\",\"CST\",\"CTT\",\"EAT\",\"ECT\",\"IET\",\"IST\",\"JST\",\"MIT\",\"NET\",\"NST\",\"PLT\",\"PNT\",\"PRT\",\"PST\",\"SST\",\"VST\"]);function Ae(e){return\"object\"==typeof e&&null!==e||\"function\"==typeof e}function qe(e){if(\"bigint\"==typeof e)throw new TypeError(\"Cannot convert BigInt to number\");return Number(e)}function We(e){if(\"symbol\"==typeof e)throw new TypeError(\"Cannot convert a Symbol value to a String\");return String(e)}function _e(e){const t=qe(e);if(0===t)return 0;if(Number.isNaN(t)||t===1/0||t===-1/0)throw new RangeError(\"invalid number value\");const n=Math.trunc(t);return 0===n?0:n}function Je(e,t){const n=_e(e);if(n<=0){if(void 0!==t)throw new RangeError(`property '${t}' cannot be a a number less than one`);throw new RangeError(\"Cannot convert a number less than one to a positive integer\")}return n}function Ge(e){const t=qe(e);if(Number.isNaN(t))throw new RangeError(\"not a number\");if(t===1/0||t===-1/0)throw new RangeError(\"infinity is out of range\");if(!function(e){if(\"number\"!=typeof e||Number.isNaN(e)||e===1/0||e===-1/0)return!1;const t=Math.abs(e);return Math.floor(t)===t}(t))throw new RangeError(`unsupported fractional value ${e}`);return 0===t?0:t}function Ke(e,t){return String(e).padStart(t,\"0\")}function Ve(e){if(\"string\"!=typeof e)throw new TypeError(`expected a string, not ${String(e)}`);return e}function Xe(e,t){if(Ae(e)){const t=e?.toString();if(\"string\"==typeof t||\"number\"==typeof t)return t;throw new TypeError(\"Cannot convert object to primitive value\")}return e}const Qe=[\"era\",\"eraYear\",\"year\",\"month\",\"monthCode\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\",\"offset\",\"timeZone\"],et={era:We,eraYear:_e,year:_e,month:Je,monthCode:function(e){const t=Ve(Xe(e));if(t.length<3||t.length>4||\"M\"!==t[0]||-1===\"0123456789\".indexOf(t[1])||-1===\"0123456789\".indexOf(t[2])||t[1]+t[2]===\"00\"&&\"L\"!==t[3]||\"L\"!==t[3]&&void 0!==t[3])throw new RangeError(`bad month code ${t}; must match M01-M99 or M00L-M99L`);return t},day:Je,hour:_e,minute:_e,second:_e,millisecond:_e,microsecond:_e,nanosecond:_e,offset:function(e){const t=Ve(Xe(e));return sr(t),t},timeZone:Bn},tt={hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0},nt=[[\"years\",\"year\",\"date\"],[\"months\",\"month\",\"date\"],[\"weeks\",\"week\",\"date\"],[\"days\",\"day\",\"date\"],[\"hours\",\"hour\",\"time\"],[\"minutes\",\"minute\",\"time\"],[\"seconds\",\"second\",\"time\"],[\"milliseconds\",\"millisecond\",\"time\"],[\"microseconds\",\"microsecond\",\"time\"],[\"nanoseconds\",\"nanosecond\",\"time\"]],rt=Object.fromEntries(nt.map((e=>[e[0],e[1]]))),ot=Object.fromEntries(nt.map((([e,t])=>[t,e]))),it=nt.map((([,e])=>e)),at={day:Se,hour:36e11,minute:6e10,second:1e9,millisecond:1e6,microsecond:1e3,nanosecond:1},st=[\"days\",\"hours\",\"microseconds\",\"milliseconds\",\"minutes\",\"months\",\"nanoseconds\",\"seconds\",\"weeks\",\"years\"],ct=Intl.DateTimeFormat,dt=new Map;function ht(e){const t=Ao(e);let n=dt.get(t);return void 0===n&&(n=new ct(\"en-us\",{timeZone:t,hour12:!1,era:\"short\",year:\"numeric\",month:\"numeric\",day:\"numeric\",hour:\"numeric\",minute:\"numeric\",second:\"numeric\"}),dt.set(t,n)),n}function ut(e){return ne(e,b)&&!ne(e,$,E)}function lt(e){return ne(e,Y,R,j,k,N,x,L,P,U)}function mt(e){return ne(e,I)}function ft(e){return ne(e,M)}function yt(e){return ne(e,T)}function pt(e){return ne(e,C)}function gt(e){return ne(e,O)}function wt(e){return ne(e,b,$,E)}function vt(e,t){if(!t(e))throw new TypeError(\"invalid receiver: method called with the wrong type of this-object\")}function bt(e){if(ne(e,E)||ne(e,$))throw new TypeError(\"with() does not support a calendar or timeZone property\");if(ft(e))throw new TypeError(\"with() does not accept Temporal.PlainTime, use withPlainTime() instead\");if(void 0!==e.calendar)throw new TypeError(\"with() does not support a calendar property\");if(void 0!==e.timeZone)throw new TypeError(\"with() does not support a timeZone property\")}function Dt(e,t){return\"never\"===t||\"auto\"===t&&\"iso8601\"===e?\"\":`[${\"critical\"===t?\"!\":\"\"}u-ca=${e}]`}function Tt(e){let t,n,r=!1;for(Te.lastIndex=0;n=Te.exec(e);){const{1:o,2:i,3:a}=n;if(\"u-ca\"===i){if(void 0===t)t=a,r=\"!\"===o;else if(\"!\"===o||r)throw new RangeError(`Invalid annotations in ${e}: more than one u-ca present with critical flag`)}else if(\"!\"===o)throw new RangeError(`Unrecognized annotation: !${i}=${a}`)}return t}function Mt(e){const t=Me.exec(e);if(!t)throw new RangeError(`invalid RFC 9557 string: ${e}`);const n=Tt(t[16]);let r=t[1];if(\"-000000\"===r)throw new RangeError(`invalid RFC 9557 string: ${e}`);const o=+r,i=+(t[2]??t[4]??1),a=+(t[3]??t[5]??1),s=void 0!==t[6],c=+(t[6]??0),d=+(t[7]??t[10]??0);let h=+(t[8]??t[11]??0);60===h&&(h=59);const u=(t[9]??t[12]??\"\")+\"000000000\",l=+u.slice(0,3),m=+u.slice(3,6),f=+u.slice(6,9);let y,p=!1;t[13]?(y=void 0,p=!0):t[14]&&(y=t[14]);const g=t[15];return Ur(o,i,a,c,d,h,l,m,f),{year:o,month:i,day:a,time:s?{hour:c,minute:d,second:h,millisecond:l,microsecond:m,nanosecond:f}:\"start-of-day\",tzAnnotation:g,offset:y,z:p,calendar:n}}function Et(e){const t=Ee.exec(e);let n,r,o,i,a,s,c;if(t){c=Tt(t[10]),n=+(t[1]??0),r=+(t[2]??t[5]??0),o=+(t[3]??t[6]??0),60===o&&(o=59);const e=(t[4]??t[7]??\"\")+\"000000000\";if(i=+e.slice(0,3),a=+e.slice(3,6),s=+e.slice(6,9),t[8])throw new RangeError(\"Z designator not supported for PlainTime\")}else{let t,d;if(({time:t,z:d,calendar:c}=Mt(e)),\"start-of-day\"===t)throw new RangeError(`time is missing in string: ${e}`);if(d)throw new RangeError(\"Z designator not supported for PlainTime\");({hour:n,minute:r,second:o,millisecond:i,microsecond:a,nanosecond:s}=t)}if(Pr(n,r,o,i,a,s),/[tT ][0-9][0-9]/.test(e))return{hour:n,minute:r,second:o,millisecond:i,microsecond:a,nanosecond:s,calendar:c};try{const{month:t,day:n}=Ct(e);xr(1972,t,n)}catch{try{const{year:t,month:n}=It(e);xr(t,n,1)}catch{return{hour:n,minute:r,second:o,millisecond:i,microsecond:a,nanosecond:s,calendar:c}}}throw new RangeError(`invalid RFC 9557 time-only string ${e}; may need a T prefix`)}function It(e){const t=Ie.exec(e);let n,r,o,i;if(t){o=Tt(t[3]);let a=t[1];if(\"-000000\"===a)throw new RangeError(`invalid RFC 9557 string: ${e}`);if(n=+a,r=+t[2],i=1,void 0!==o&&\"iso8601\"!==o)throw new RangeError(\"YYYY-MM format is only valid with iso8601 calendar\")}else{let t;if(({year:n,month:r,calendar:o,day:i,z:t}=Mt(e)),t)throw new RangeError(\"Z designator not supported for PlainYearMonth\")}return{year:n,month:r,calendar:o,referenceISODay:i}}function Ct(e){const t=Ce.exec(e);let n,r,o,i;if(t){if(o=Tt(t[3]),n=+t[1],r=+t[2],void 0!==o&&\"iso8601\"!==o)throw new RangeError(\"MM-DD format is only valid with iso8601 calendar\")}else{let t;if(({month:n,day:r,calendar:o,year:i,z:t}=Mt(e)),t)throw new RangeError(\"Z designator not supported for PlainMonthDay\")}return{month:n,day:r,calendar:o,referenceISOYear:i}}const Ot=new RegExp(`^${fe.source}$`,\"i\"),$t=new RegExp(`^${/([+-])([01][0-9]|2[0-3])(?::?([0-5][0-9])?)?/.source}$`);function Yt(e){const t=Wo.test(e)?\"Seconds not allowed in offset time zone\":\"Invalid time zone\";throw new RangeError(`${t}: ${e}`)}function Rt(e){return Ot.test(e)||Yt(e),$t.test(e)?{offsetMinutes:sr(e)/6e10}:{tzName:e}}function St(e,t,n,r){let o=e,i=t,a=n;switch(r){case\"reject\":xr(o,i,a);break;case\"constrain\":({year:o,month:i,day:a}=kr(o,i,a))}return{year:o,month:i,day:a}}function jt(e,t,n,r,o,i,a){let s=e,c=t,d=n,h=r,u=o,l=i;switch(a){case\"reject\":Pr(s,c,d,h,u,l);break;case\"constrain\":s=jr(s,0,23),c=jr(c,0,59),d=jr(d,0,59),h=jr(h,0,999),u=jr(u,0,999),l=jr(l,0,999)}return{hour:s,minute:c,second:d,millisecond:h,microsecond:u,nanosecond:l}}function kt(e){if(!Ae(e))throw new TypeError(\"invalid duration-like\");const t={years:void 0,months:void 0,weeks:void 0,days:void 0,hours:void 0,minutes:void 0,seconds:void 0,milliseconds:void 0,microseconds:void 0,nanoseconds:void 0};let n=!1;for(let r=0;r<st.length;r++){const o=st[r],i=e[o];void 0!==i&&(n=!0,t[o]=Ge(i))}if(!n)throw new TypeError(\"invalid duration-like\");return t}function Nt({years:e,months:t,weeks:n,days:r},o,i,a){return{years:e,months:a??t,weeks:i??n,days:o??r}}function xt(e,t){return{isoDate:e,time:t}}function Lt(e){return Ho(e,\"overflow\",[\"constrain\",\"reject\"],\"constrain\")}function Pt(e){return Ho(e,\"disambiguation\",[\"compatible\",\"earlier\",\"later\",\"reject\"],\"compatible\")}function Ut(e,t){return Ho(e,\"roundingMode\",[\"ceil\",\"floor\",\"expand\",\"trunc\",\"halfCeil\",\"halfFloor\",\"halfExpand\",\"halfTrunc\",\"halfEven\"],t)}function Bt(e,t){return Ho(e,\"offset\",[\"prefer\",\"use\",\"ignore\",\"reject\"],t)}function Zt(e){return Ho(e,\"calendarName\",[\"auto\",\"always\",\"never\",\"critical\"],\"auto\")}function Ft(e){let t=e.roundingIncrement;if(void 0===t)return 1;const n=_e(t);if(n<1||n>1e9)throw new RangeError(`roundingIncrement must be at least 1 and at most 1e9, not ${t}`);return n}function Ht(e,t,n){const r=n?t:t-1;if(e>r)throw new RangeError(`roundingIncrement must be at least 1 and less than ${r}, not ${e}`);if(t%e!=0)throw new RangeError(`Rounding increment must divide evenly into ${t}`)}function zt(e){const t=e.fractionalSecondDigits;if(void 0===t)return\"auto\";if(\"number\"!=typeof t){if(\"auto\"!==We(t))throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${t}`);return\"auto\"}const n=Math.floor(t);if(!Number.isFinite(n)||n<0||n>9)throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${t}`);return n}function At(e,t){switch(e){case\"minute\":return{precision:\"minute\",unit:\"minute\",increment:1};case\"second\":return{precision:0,unit:\"second\",increment:1};case\"millisecond\":return{precision:3,unit:\"millisecond\",increment:1};case\"microsecond\":return{precision:6,unit:\"microsecond\",increment:1};case\"nanosecond\":return{precision:9,unit:\"nanosecond\",increment:1}}switch(t){case\"auto\":return{precision:t,unit:\"nanosecond\",increment:1};case 0:return{precision:t,unit:\"second\",increment:1};case 1:case 2:case 3:return{precision:t,unit:\"millisecond\",increment:10**(3-t)};case 4:case 5:case 6:return{precision:t,unit:\"microsecond\",increment:10**(6-t)};case 7:case 8:case 9:return{precision:t,unit:\"nanosecond\",increment:10**(9-t)};default:throw new RangeError(`fractionalSecondDigits must be 'auto' or 0 through 9, not ${t}`)}}const qt=Symbol(\"~required~\");function Wt(e,t,n,r,o=[]){let i=[];for(let e=0;e<nt.length;e++){const t=nt[e],r=t[1],o=t[2];\"datetime\"!==n&&n!==o||i.push(r)}i=i.concat(o);let a=r;a===qt?a=void 0:void 0!==a&&i.push(a);let s=[];s=s.concat(i);for(let e=0;e<i.length;e++){const t=i[e],n=ot[t];void 0!==n&&s.push(n)}let c=Ho(e,t,s,a);if(void 0===c&&r===qt)throw new RangeError(`${t} is required`);return c&&c in rt?rt[c]:c}function _t(e){const t=e.relativeTo;if(void 0===t)return{};let n,r,o,i,a,s=\"option\",c=!1;if(Ae(t)){if(wt(t))return{zonedRelativeTo:t};if(mt(t))return{plainRelativeTo:t};if(yt(t))return{plainRelativeTo:pn(re(t,T).isoDate,re(t,E))};o=Nn(t);const e=tn(o,t,[\"year\",\"month\",\"monthCode\",\"day\"],[\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\",\"offset\",\"timeZone\"],[]);({isoDate:n,time:r}=on(o,e,\"constrain\")),({offset:a,timeZone:i}=e),void 0===a&&(s=\"wall\")}else{let e,d,h,u,l;if(({year:h,month:u,day:l,time:r,calendar:o,tzAnnotation:e,offset:a,z:d}=Mt(Ve(t))),e)i=Bn(e),d?s=\"exact\":a||(s=\"wall\"),c=!0;else if(d)throw new RangeError(\"Z designator not supported for PlainDate relativeTo; either remove the Z or add a bracketed time zone\");o||(o=\"iso8601\"),o=zo(o),n={year:h,month:u,day:l}}return void 0===i?{plainRelativeTo:pn(n,o)}:{zonedRelativeTo:$n(mn(n,r,s,\"option\"===s?sr(a):0,i,\"compatible\",\"reject\",c),i,o)}}function Jt(e){return 0!==re(e,Y)?\"year\":0!==re(e,R)?\"month\":0!==re(e,S)?\"week\":0!==re(e,j)?\"day\":0!==re(e,k)?\"hour\":0!==re(e,N)?\"minute\":0!==re(e,x)?\"second\":0!==re(e,L)?\"millisecond\":0!==re(e,P)?\"microsecond\":\"nanosecond\"}function Gt(e,t){return it.indexOf(e)>it.indexOf(t)?t:e}function Kt(e){return\"year\"===e||\"month\"===e||\"week\"===e}function Vt(e){return Kt(e)||\"day\"===e?\"date\":\"time\"}function Xt(e){return ce(\"%calendarImpl%\")(e)}function Qt(e){return ce(\"%calendarImpl%\")(re(e,E))}function en(e,t,n=\"date\"){const r=Object.create(null),o=Xt(e).isoToDate(t,{year:!0,monthCode:!0,day:!0});return r.monthCode=o.monthCode,\"month-day\"!==n&&\"date\"!==n||(r.day=o.day),\"year-month\"!==n&&\"date\"!==n||(r.year=o.year),r}function tn(e,t,n,r,o){const i=Xt(e).extraFields(n),a=n.concat(r,i),s=Object.create(null);let c=!1;a.sort();for(let e=0;e<a.length;e++){const n=a[e],r=t[n];if(void 0!==r)c=!0,s[n]=(0,et[n])(r);else if(\"partial\"!==o){if(o.includes(n))throw new TypeError(`required property '${n}' missing or undefined`);s[n]=tt[n]}}if(\"partial\"===o&&!c)throw new TypeError(\"no supported properties found\");return s}function nn(e,t=\"complete\"){const n=[\"hour\",\"microsecond\",\"millisecond\",\"minute\",\"nanosecond\",\"second\"];let r=!1;const o=Object.create(null);for(let i=0;i<n.length;i++){const a=n[i],s=e[a];void 0!==s?(o[a]=_e(s),r=!0):\"complete\"===t&&(o[a]=0)}if(!r)throw new TypeError(\"invalid time-like\");return o}function rn(e,t){if(Ae(e)){if(mt(e))return Lt(Zo(t)),pn(re(e,D),re(e,E));if(wt(e)){const n=zn(re(e,$),re(e,b));return Lt(Zo(t)),pn(n.isoDate,re(e,E))}if(yt(e))return Lt(Zo(t)),pn(re(e,T).isoDate,re(e,E));const n=Nn(e);return pn(Ln(n,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[],[]),Lt(Zo(t))),n)}let{year:n,month:r,day:o,calendar:i,z:a}=Mt(Ve(e));if(a)throw new RangeError(\"Z designator not supported for PlainDate\");return i||(i=\"iso8601\"),i=zo(i),Lt(Zo(t)),pn({year:n,month:r,day:o},i)}function on(e,t,n){return xt(Ln(e,t,n),jt(t.hour,t.minute,t.second,t.millisecond,t.microsecond,t.nanosecond,n))}function an(e,t){let n,r,o;if(Ae(e)){if(yt(e))return Lt(Zo(t)),wn(re(e,T),re(e,E));if(wt(e)){const n=zn(re(e,$),re(e,b));return Lt(Zo(t)),wn(n,re(e,E))}if(mt(e))return Lt(Zo(t)),wn(xt(re(e,D),{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}),re(e,E));o=Nn(e);const i=tn(o,e,[\"year\",\"month\",\"monthCode\",\"day\"],[\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\"],[]),a=Lt(Zo(t));({isoDate:n,time:r}=on(o,i,a))}else{let i,a,s,c;if(({year:a,month:s,day:c,time:r,calendar:o,z:i}=Mt(Ve(e))),i)throw new RangeError(\"Z designator not supported for PlainDateTime\");\"start-of-day\"===r&&(r={deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}),Ur(a,s,c,r.hour,r.minute,r.second,r.millisecond,r.microsecond,r.nanosecond),o||(o=\"iso8601\"),o=zo(o),Lt(Zo(t)),n={year:a,month:s,day:c}}return wn(xt(n,r),o)}function sn(e){const t=ce(\"%Temporal.Duration%\");if(lt(e))return new t(re(e,Y),re(e,R),re(e,S),re(e,j),re(e,k),re(e,N),re(e,x),re(e,L),re(e,P),re(e,U));if(!Ae(e))return function(e){const{years:t,months:n,weeks:r,days:o,hours:i,minutes:a,seconds:s,milliseconds:c,microseconds:d,nanoseconds:h}=function(e){const t=Ye.exec(e);if(!t)throw new RangeError(`invalid duration: ${e}`);if(t.every(((e,t)=>t<2||void 0===e)))throw new RangeError(`invalid duration: ${e}`);const n=\"-\"===t[1]?-1:1,r=void 0===t[2]?0:_e(t[2])*n,o=void 0===t[3]?0:_e(t[3])*n,i=void 0===t[4]?0:_e(t[4])*n,a=void 0===t[5]?0:_e(t[5])*n,s=void 0===t[6]?0:_e(t[6])*n,c=t[7],d=t[8],h=t[9],u=t[10],l=t[11];let m=0,f=0,y=0;if(void 0!==c){if(d??h??u??l)throw new RangeError(\"only the smallest unit can be fractional\");y=3600*_e((c+\"000000000\").slice(0,9))*n}else if(m=void 0===d?0:_e(d)*n,void 0!==h){if(u??l)throw new RangeError(\"only the smallest unit can be fractional\");y=60*_e((h+\"000000000\").slice(0,9))*n}else f=void 0===u?0:_e(u)*n,void 0!==l&&(y=_e((l+\"000000000\").slice(0,9))*n);const p=y%1e3,g=Math.trunc(y/1e3)%1e3,w=Math.trunc(y/1e6)%1e3;return f+=Math.trunc(y/1e9)%60,m+=Math.trunc(y/6e10),zr(r,o,i,a,s,m,f,w,g,p),{years:r,months:o,weeks:i,days:a,hours:s,minutes:m,seconds:f,milliseconds:w,microseconds:g,nanoseconds:p}}(e);return new(ce(\"%Temporal.Duration%\"))(t,n,r,o,i,a,s,c,d,h)}(Ve(e));const n={years:0,months:0,weeks:0,days:0,hours:0,minutes:0,seconds:0,milliseconds:0,microseconds:0,nanoseconds:0};let r=kt(e);for(let e=0;e<st.length;e++){const t=st[e],o=r[t];void 0!==o&&(n[t]=o)}return new t(n.years,n.months,n.weeks,n.days,n.hours,n.minutes,n.seconds,n.milliseconds,n.microseconds,n.nanoseconds)}function cn(e){let t;if(Ae(e)){if(ut(e)||wt(e))return Cn(re(e,b));t=Xe(e)}else t=e;const{year:n,month:r,day:o,time:i,offset:a,z:s}=function(e){const t=Mt(e);if(!t.z&&!t.offset)throw new RangeError(\"Temporal.Instant requires a time zone offset\");return t}(Ve(t)),{hour:c=0,minute:d=0,second:h=0,millisecond:u=0,microsecond:l=0,nanosecond:m=0}=\"start-of-day\"===i?{}:i,f=$r(n,r,o,c,d,h,u,l,m-(s?0:sr(a)));return Kr(f.isoDate),Cn(pr(f))}function dn(e,t){if(Ae(e)){if(gt(e))return Lt(Zo(t)),bn(re(e,D),re(e,E));let n;return ne(e,E)?n=re(e,E):(n=e.calendar,void 0===n&&(n=\"iso8601\"),n=kn(n)),bn(Un(n,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[],[]),Lt(Zo(t))),n)}let{month:n,day:r,referenceISOYear:o,calendar:i}=Ct(Ve(e));if(void 0===i&&(i=\"iso8601\"),i=zo(i),Lt(Zo(t)),\"iso8601\"===i)return bn({year:1972,month:n,day:r},i);let a={year:o,month:n,day:r};return Lr(a),a=Un(i,en(i,a,\"month-day\"),\"constrain\"),bn(a,i)}function hn(e,t){let n;if(Ae(e)){if(ft(e))return Lt(Zo(t)),Tn(re(e,M));if(yt(e))return Lt(Zo(t)),Tn(re(e,T).time);if(wt(e)){const n=zn(re(e,$),re(e,b));return Lt(Zo(t)),Tn(n.time)}const{hour:r,minute:o,second:i,millisecond:a,microsecond:s,nanosecond:c}=nn(e);n=jt(r,o,i,a,s,c,Lt(Zo(t)))}else n=Et(Ve(e)),Lt(Zo(t));return Tn(n)}function un(e){return void 0===e?{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}:re(hn(e),M)}function ln(e,t){if(Ae(e)){if(pt(e))return Lt(Zo(t)),En(re(e,D),re(e,E));const n=Nn(e);return En(Pn(n,tn(n,e,[\"year\",\"month\",\"monthCode\"],[],[]),Lt(Zo(t))),n)}let{year:n,month:r,referenceISODay:o,calendar:i}=It(Ve(e));void 0===i&&(i=\"iso8601\"),i=zo(i),Lt(Zo(t));let a={year:n,month:r,day:o};return Hr(a),a=Pn(i,en(i,a,\"year-month\"),\"constrain\"),En(a,i)}function mn(t,n,r,o,i,a,s,c){if(\"start-of-day\"===n)return _n(i,t);const d=xt(t,n);if(\"wall\"===r||\"ignore\"===s)return An(i,d,a);if(\"exact\"===r||\"use\"===s){const e=$r(t.year,t.month,t.day,n.hour,n.minute,n.second,n.millisecond,n.microsecond,n.nanosecond-o);Kr(e.isoDate);const r=pr(e);return Fr(r),r}Kr(t);const h=pr(d),u=Wn(i,d);for(let t=0;t<u.length;t++){const n=u[t],r=e.toNumber(e.subtract(h,n)),i=Eo(r,6e10,\"halfExpand\");if(r===o||c&&i===o)return n}if(\"reject\"===s){const e=Hn(o),t=nr(d,\"iso8601\",\"auto\");throw new RangeError(`Offset ${e} is invalid for ${t} in ${i}`)}return qn(u,i,d,a)}function fn(e,t){let n,r,o,i,a,s,c,d=!1,h=\"option\";if(Ae(e)){if(wt(e)){const n=Zo(t);return Pt(n),Bt(n,\"reject\"),Lt(n),$n(re(e,b),re(e,$),re(e,E))}a=Nn(e);const d=tn(a,e,[\"year\",\"month\",\"monthCode\",\"day\"],[\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\",\"offset\",\"timeZone\"],[\"timeZone\"]);({offset:i,timeZone:o}=d),void 0===i&&(h=\"wall\");const u=Zo(t);s=Pt(u),c=Bt(u,\"reject\");const l=Lt(u);({isoDate:n,time:r}=on(a,d,l))}else{let u,l,m,f,y;({year:m,month:f,day:y,time:r,tzAnnotation:u,offset:i,z:l,calendar:a}=function(e){const t=Mt(e);if(!t.tzAnnotation)throw new RangeError(\"Temporal.ZonedDateTime requires a time zone ID in brackets\");return t}(Ve(e))),o=Bn(u),l?h=\"exact\":i||(h=\"wall\"),a||(a=\"iso8601\"),a=zo(a),d=!0;const p=Zo(t);s=Pt(p),c=Bt(p,\"reject\"),Lt(p),n={year:m,month:f,day:y}}let u=0;return\"option\"===h&&(u=sr(i)),$n(mn(n,r,h,u,o,s,c,d),o,a)}function yn(e,t,n){Lr(t),te(e),oe(e,D,t),oe(e,E,n),oe(e,I,!0)}function pn(e,t){const n=ce(\"%Temporal.PlainDate%\"),r=Object.create(n.prototype);return yn(r,e,t),r}function gn(e,t,n){Br(t),te(e),oe(e,T,t),oe(e,E,n)}function wn(e,t){const n=ce(\"%Temporal.PlainDateTime%\"),r=Object.create(n.prototype);return gn(r,e,t),r}function vn(e,t,n){Lr(t),te(e),oe(e,D,t),oe(e,E,n),oe(e,O,!0)}function bn(e,t){const n=ce(\"%Temporal.PlainMonthDay%\"),r=Object.create(n.prototype);return vn(r,e,t),r}function Dn(e,t){te(e),oe(e,M,t)}function Tn(e){const t=ce(\"%Temporal.PlainTime%\"),n=Object.create(t.prototype);return Dn(n,e),n}function Mn(e,t,n){Hr(t),te(e),oe(e,D,t),oe(e,E,n),oe(e,C,!0)}function En(e,t){const n=ce(\"%Temporal.PlainYearMonth%\"),r=Object.create(n.prototype);return Mn(r,e,t),r}function In(e,t){Fr(t),te(e),oe(e,b,t)}function Cn(e){const t=ce(\"%Temporal.Instant%\"),n=Object.create(t.prototype);return In(n,e),n}function On(e,t,n,r){Fr(t),te(e),oe(e,b,t),oe(e,$,n),oe(e,E,r)}function $n(e,t,n=\"iso8601\"){const r=ce(\"%Temporal.ZonedDateTime%\"),o=Object.create(r.prototype);return On(o,e,t,n),o}function Yn(e){return Qe.filter((t=>void 0!==e[t]))}function Rn(e,t,n){const r=Yn(n),o=Xt(e).fieldKeysToIgnore(r),i=Object.create(null),a=Yn(t);for(let e=0;e<Qe.length;e++){let s;const c=Qe[e];a.includes(c)&&!o.includes(c)&&(s=t[c]),r.includes(c)&&(s=n[c]),void 0!==s&&(i[c]=s)}return i}function Sn(e,t,n,r){const o=Xt(e).dateAdd(t,n,r);return Lr(o),o}function jn(e,t,n,r){return Xt(e).dateUntil(t,n,r)}function kn(e){if(Ae(e)&&ne(e,E))return re(e,E);const t=Ve(e);try{return zo(t)}catch{}let n;try{({calendar:n}=Mt(t))}catch{try{({calendar:n}=Et(t))}catch{try{({calendar:n}=It(t))}catch{({calendar:n}=Ct(t))}}}return n||(n=\"iso8601\"),zo(n)}function Nn(e){if(ne(e,E))return re(e,E);const{calendar:t}=e;return void 0===t?\"iso8601\":kn(t)}function xn(e,t){return zo(e)===zo(t)}function Ln(e,t,n){const r=Xt(e);r.resolveFields(t,\"date\");const o=r.dateToISO(t,n);return Lr(o),o}function Pn(e,t,n){const r=Xt(e);r.resolveFields(t,\"year-month\"),t.day=1;const o=r.dateToISO(t,n);return Hr(o),o}function Un(e,t,n){const r=Xt(e);r.resolveFields(t,\"month-day\");const o=r.monthDayToISOReferenceDate(t,n);return Lr(o),o}function Bn(e){if(Ae(e)&&wt(e))return re(e,$);const t=Ve(e);if(\"UTC\"===t)return\"UTC\";const{tzName:n,offsetMinutes:r}=function(e){const{tzAnnotation:t,offset:n,z:r}=function(e){if(Ot.test(e))return{tzAnnotation:e,offset:void 0,z:!1};try{const{tzAnnotation:t,offset:n,z:r}=Mt(e);if(r||t||n)return{tzAnnotation:t,offset:n,z:r}}catch{}Yt(e)}(e);return t?Rt(t):r?Rt(\"UTC\"):n?Rt(n):void 0}(t);if(void 0!==r)return mr(r);const o=hr(n);if(!o)throw new RangeError(`Unrecognized time zone ${n}`);return o.identifier}function Zn(e,t){if(e===t)return!0;const n=Rt(e).offsetMinutes,r=Rt(t).offsetMinutes;if(void 0===n&&void 0===r){const n=hr(t);if(!n)return!1;const r=hr(e);return!!r&&r.primaryIdentifier===n.primaryIdentifier}return n===r}function Fn(e,t){const n=Rt(e).offsetMinutes;return void 0!==n?6e10*n:lr(e,t)}function Hn(e){const t=e<0?\"-\":\"+\",n=Math.abs(e),r=Math.floor(n/36e11),o=Math.floor(n/6e10)%60,i=Math.floor(n/1e9)%60,a=n%1e9;return`${t}${Vn(r,o,i,a,0===i&&0===a?\"minute\":\"auto\")}`}function zn(e,t){const n=Fn(e,t);let{isoDate:{year:r,month:o,day:i},time:{hour:a,minute:s,second:c,millisecond:d,microsecond:h,nanosecond:u}}=gr(t);return $r(r,o,i,a,s,c,d,h,u+n)}function An(e,t,n){return qn(Wn(e,t),e,t,n)}function qn(t,n,r,o){const i=t.length;if(1===i)return t[0];if(i)switch(o){case\"compatible\":case\"earlier\":return t[0];case\"later\":return t[i-1];case\"reject\":throw new RangeError(\"multiple instants found\")}if(\"reject\"===o)throw new RangeError(\"multiple instants found\");const a=pr(r),s=e.subtract(a,l);Fr(s);const c=Fn(n,s),d=e.add(a,l);Fr(d);const h=Fn(n,d)-c;switch(o){case\"earlier\":{const e=TimeDuration.fromComponents(0,0,0,0,0,-h),t=fo(r.time,e);return Wn(n,xt(Or(r.isoDate.year,r.isoDate.month,r.isoDate.day+t.deltaDays),t))[0]}case\"compatible\":case\"later\":{const e=TimeDuration.fromComponents(0,0,0,0,0,h),t=fo(r.time,e),o=Wn(n,xt(Or(r.isoDate.year,r.isoDate.month,r.isoDate.day+t.deltaDays),t));return o[o.length-1]}}}function Wn(t,n){if(\"UTC\"===t)return Kr(n.isoDate),[pr(n)];const r=Rt(t).offsetMinutes;if(void 0!==r){const e=$r(n.isoDate.year,n.isoDate.month,n.isoDate.day,n.time.hour,n.time.minute-r,n.time.second,n.time.millisecond,n.time.microsecond,n.time.nanosecond);Kr(e.isoDate);const t=pr(e);return Fr(t),[t]}return Kr(n.isoDate),function(t,n){let r=pr(n),o=e.subtract(r,l);e.lessThan(o,xe)&&(o=r);let i=e.add(r,l);e.greaterThan(i,Ne)&&(i=r);const a=lr(t,o),s=lr(t,i),c=(a===s?[a]:[a,s]).map((o=>{const i=e.subtract(r,e.BigInt(o)),a=function(e,t){const{epochMilliseconds:n,time:{millisecond:r,microsecond:o,nanosecond:i}}=gr(t),{year:a,month:s,day:c,hour:d,minute:h,second:u}=br(e,n);return $r(a,s,c,d,h,u,r,o,i)}(t,i);if(0===jo(n,a))return Fr(i),i}));return c.filter((e=>void 0!==e))}(t,n)}function _n(t,n){const r=xt(n,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}),o=Wn(t,r);if(o.length)return o[0];const i=pr(r),a=e.subtract(i,l);return Fr(a),wr(t,a)}function Jn(e){let t;return t=e<0||e>9999?(e<0?\"-\":\"+\")+Ke(Math.abs(e),6):Ke(e,4),t}function Gn(e){return Ke(e,2)}function Kn(e,t){let n;if(\"auto\"===t){if(0===e)return\"\";n=Ke(e,9).replace(/0+$/,\"\")}else{if(0===t)return\"\";n=Ke(e,9).slice(0,t)}return`.${n}`}function Vn(e,t,n,r,o){let i=`${Gn(e)}:${Gn(t)}`;return\"minute\"===o||(i+=`:${Gn(n)}`,i+=Kn(r,o)),i}function Xn(e,t,n){let r=t;void 0===r&&(r=\"UTC\");const o=re(e,b),i=nr(zn(r,o),\"iso8601\",n,\"never\");let a=\"Z\";return void 0!==t&&(a=fr(Fn(r,o))),`${i}${a}`}function Qn(e,t){const n=re(e,Y),r=re(e,R),o=re(e,S),i=re(e,j),a=re(e,k),s=re(e,N),c=Mr(e);let d=\"\";0!==n&&(d+=`${Math.abs(n)}Y`),0!==r&&(d+=`${Math.abs(r)}M`),0!==o&&(d+=`${Math.abs(o)}W`),0!==i&&(d+=`${Math.abs(i)}D`);let h=\"\";0!==a&&(h+=`${Math.abs(a)}H`),0!==s&&(h+=`${Math.abs(s)}M`);const u=TimeDuration.fromComponents(0,0,re(e,x),re(e,L),re(e,P),re(e,U));u.isZero()&&![\"second\",\"millisecond\",\"microsecond\",\"nanosecond\"].includes(Jt(e))&&\"auto\"===t||(h+=`${Math.abs(u.sec)}${Kn(Math.abs(u.subsec),t)}S`);let l=`${c<0?\"-\":\"\"}P${d}`;return h&&(l=`${l}T${h}`),l}function er(e,t=\"auto\"){const{year:n,month:r,day:o}=re(e,D);return`${Jn(n)}-${Gn(r)}-${Gn(o)}${Dt(re(e,E),t)}`}function tr({hour:e,minute:t,second:n,millisecond:r,microsecond:o,nanosecond:i},a){return Vn(e,t,n,1e6*r+1e3*o+i,a)}function nr(e,t,n,r=\"auto\"){const{isoDate:{year:o,month:i,day:a},time:{hour:s,minute:c,second:d,millisecond:h,microsecond:u,nanosecond:l}}=e;return`${Jn(o)}-${Gn(i)}-${Gn(a)}T${Vn(s,c,d,1e6*h+1e3*u+l,n)}${Dt(t,r)}`}function rr(e,t=\"auto\"){const{year:n,month:r,day:o}=re(e,D);let i=`${Gn(r)}-${Gn(o)}`;const a=re(e,E);\"always\"!==t&&\"critical\"!==t&&\"iso8601\"===a||(i=`${Jn(n)}-${i}`);const s=Dt(a,t);return s&&(i+=s),i}function or(e,t=\"auto\"){const{year:n,month:r,day:o}=re(e,D);let i=`${Jn(n)}-${Gn(r)}`;const a=re(e,E);\"always\"!==t&&\"critical\"!==t&&\"iso8601\"===a||(i+=`-${Gn(o)}`);const s=Dt(a,t);return s&&(i+=s),i}function ir(e,t,n=\"auto\",r=\"auto\",o=\"auto\",i=void 0){let a=re(e,b);if(i){const{unit:e,increment:t,roundingMode:n}=i;a=Io(a,t,e,n)}const s=re(e,$),c=Fn(s,a);let d=nr(zn(s,a),\"iso8601\",t,\"never\");return\"never\"!==o&&(d+=fr(c)),\"never\"!==r&&(d+=`[${\"critical\"===r?\"!\":\"\"}${s}]`),d+=Dt(re(e,E),n),d}function ar(e){return $t.test(e)}function sr(e){const t=_o.exec(e);if(!t)throw new RangeError(`invalid time zone offset: ${e}; must match ±HH:MM[:SS.SSSSSSSSS]`);return(\"-\"===t[1]?-1:1)*(1e9*(60*(60*+t[2]+ +(t[3]||0))+ +(t[4]||0))+ +((t[5]||0)+\"000000000\").slice(0,9))}let cr;const dr=Object.assign(Object.create(null),{\"/\":!0,\"-\":!0,_:!0});function hr(e){if(void 0===cr){const e=Intl.supportedValuesOf?.(\"timeZone\");if(e){cr=new Map;for(let t=0;t<e.length;t++){const n=e[t];cr.set(Ao(n),n)}}else cr=null}const t=Ao(e);let n=cr?.get(t);if(n)return{identifier:n,primaryIdentifier:n};try{n=ht(e).resolvedOptions().timeZone}catch{return}if(\"antarctica/south_pole\"===t&&(n=\"Antarctica/McMurdo\"),ze.has(e))throw new RangeError(`${e} is a legacy time zone identifier from ICU. Use ${n} instead`);const r=[...t].map(((e,n)=>0===n||dr[t[n-1]]?e.toUpperCase():e)).join(\"\").split(\"/\");if(1===r.length)return\"gb-eire\"===t?{identifier:\"GB-Eire\",primaryIdentifier:n}:{identifier:t.length<=3||/[-0-9]/.test(t)?t.toUpperCase():r[0],primaryIdentifier:n};if(\"Etc\"===r[0])return{identifier:`Etc/${[\"Zulu\",\"Greenwich\",\"Universal\"].includes(r[1])?r[1]:r[1].toUpperCase()}`,primaryIdentifier:n};if(\"Us\"===r[0])return{identifier:`US/${r[1]}`,primaryIdentifier:n};const o=new Map([[\"Act\",\"ACT\"],[\"Lhi\",\"LHI\"],[\"Nsw\",\"NSW\"],[\"Dar_Es_Salaam\",\"Dar_es_Salaam\"],[\"Port_Of_Spain\",\"Port_of_Spain\"],[\"Port-Au-Prince\",\"Port-au-Prince\"],[\"Isle_Of_Man\",\"Isle_of_Man\"],[\"Comodrivadavia\",\"ComodRivadavia\"],[\"Knox_In\",\"Knox_IN\"],[\"Dumontdurville\",\"DumontDUrville\"],[\"Mcmurdo\",\"McMurdo\"],[\"Denoronha\",\"DeNoronha\"],[\"Easterisland\",\"EasterIsland\"],[\"Bajanorte\",\"BajaNorte\"],[\"Bajasur\",\"BajaSur\"]]);return r[1]=o.get(r[1])??r[1],r.length>2&&(r[2]=o.get(r[2])??r[2]),{identifier:r.join(\"/\"),primaryIdentifier:n}}function ur(e,t){const{year:n,month:r,day:o,hour:i,minute:a,second:s}=br(e,t);let c=t%1e3;return c<0&&(c+=1e3),1e6*(yr({isoDate:{year:n,month:r,day:o},time:{hour:i,minute:a,second:s,millisecond:c}})-t)}function lr(e,t){return ur(e,No(t,\"floor\"))}function mr(e){const t=e<0?\"-\":\"+\",n=Math.abs(e);return`${t}${Vn(Math.floor(n/60),n%60,0,0,\"minute\")}`}function fr(e){return mr(Eo(e,je,\"halfExpand\")/6e10)}function yr({isoDate:{year:e,month:t,day:n},time:{hour:r,minute:o,second:i,millisecond:a}}){const s=e%400,c=(e-s)/400,d=new Date;return d.setUTCHours(r,o,i,a),d.setUTCFullYear(s,t-1,n),d.getTime()+Ue*c}function pr(t){const n=yr(t),r=1e3*t.time.microsecond+t.time.nanosecond;return e.add(xo(n),e.BigInt(r))}function gr(t){let n=No(t,\"trunc\"),r=e.toNumber(e.remainder(t,c));r<0&&(r+=1e6,n-=1);const o=Math.floor(r/1e3)%1e3,i=r%1e3,a=new Date(n);return{epochMilliseconds:n,isoDate:{year:a.getUTCFullYear(),month:a.getUTCMonth()+1,day:a.getUTCDate()},time:{hour:a.getUTCHours(),minute:a.getUTCMinutes(),second:a.getUTCSeconds(),millisecond:a.getUTCMilliseconds(),microsecond:o,nanosecond:i}}}function wr(e,t){if(\"UTC\"===e)return null;const n=No(t,\"floor\");if(n<Fe)return wr(e,xo(Fe));const r=Date.now(),o=Math.max(n,r)+366*Re*3;let i=n,a=ur(e,i),s=i,c=a;for(;a===c&&i<o;){if(s=i+2*Re*7,s>ke)return null;c=ur(e,s),a===c&&(i=s)}return a===c?null:xo(Jo((t=>ur(e,t)),i,s,a,c))}function vr(t,n){if(\"UTC\"===t)return null;const r=No(n,\"ceil\"),o=Date.now(),i=o+366*Re*3;if(r>i){const n=vr(t,xo(i));if(null===n||e.lessThan(n,xo(o)))return n}if(\"Africa/Casablanca\"===t||\"Africa/El_Aaiun\"===t){const e=Date.UTC(2088,0,1);if(e<r)return vr(t,xo(e))}let a=r-1;if(a<Fe)return null;let s=ur(t,a),c=a,d=s;for(;s===d&&a>Fe;){if(c=a-2*Re*7,c<Fe)return null;d=ur(t,c),s===d&&(a=c)}return s===d?null:xo(Jo((e=>ur(t,e)),c,a,d,s))}function br(e,t){return function(e){const t=e.split(/[^\\w]+/);if(7!==t.length)throw new RangeError(`expected 7 parts in \"${e}`);const n=+t[0],r=+t[1];let o=+t[2];const i=t[3];if(\"b\"===i[0]||\"B\"===i[0])o=1-o;else if(\"a\"!==i[0]&&\"A\"!==i[0])throw new RangeError(`Unknown era ${i} in \"${e}`);const a=\"24\"===t[4]?0:+t[4],s=+t[5],c=+t[6];if(!(Number.isFinite(o)&&Number.isFinite(n)&&Number.isFinite(r)&&Number.isFinite(a)&&Number.isFinite(s)&&Number.isFinite(c)))throw new RangeError(`Invalid number in \"${e}`);return{year:o,month:n,day:r,hour:a,minute:s,second:c}}(ht(e).format(t))}function Dr(e){return void 0!==e&&!(e%4!=0||e%100==0&&e%400!=0)}function Tr(e,t){return{standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]}[Dr(e)?\"leapyear\":\"standard\"][t-1]}function Mr(e){const t=[re(e,Y),re(e,R),re(e,S),re(e,j),re(e,k),re(e,N),re(e,x),re(e,L),re(e,P),re(e,U)];for(let e=0;e<t.length;e++){const n=t[e];if(0!==n)return n<0?-1:1}return 0}function Er(e){const t=[\"years\",\"months\",\"weeks\",\"days\"];for(let n=0;n<t.length;n++){const r=e[t[n]];if(0!==r)return r<0?-1:1}return 0}function Ir(e){const t=Er(e.date);return 0!==t?t:e.time.sign()}function Cr(e,t){let n=e,r=t;if(!Number.isFinite(n)||!Number.isFinite(r))throw new RangeError(\"infinity is out of range\");return r-=1,n+=Math.floor(r/12),r%=12,r<0&&(r+=12),r+=1,{year:n,month:r}}function Or(e,t,n){let r=e,o=t,i=n;if(!Number.isFinite(i))throw new RangeError(\"infinity is out of range\");({year:r,month:o}=Cr(r,o));const a=146097;if(Math.abs(i)>a){const e=Math.trunc(i/a);r+=400*e,i-=e*a}let s=0,c=o>2?r:r-1;for(;s=Dr(c)?366:365,i<-s;)r-=1,c-=1,i+=s;for(c+=1;s=Dr(c)?366:365,i>s;)r+=1,c+=1,i-=s;for(;i<1;)({year:r,month:o}=Cr(r,o-1)),i+=Tr(r,o);for(;i>Tr(r,o);)i-=Tr(r,o),({year:r,month:o}=Cr(r,o+1));return{year:r,month:o,day:i}}function $r(e,t,n,r,o,i,a,s,c){const d=Yr(r,o,i,a,s,c);return xt(Or(e,t,n+d.deltaDays),d)}function Yr(e,t,n,r,o,i){let a,s=e,c=t,d=n,h=r,u=o,l=i;({div:a,mod:l}=de(l,3)),u+=a,l<0&&(u-=1,l+=1e3),({div:a,mod:u}=de(u,3)),h+=a,u<0&&(h-=1,u+=1e3),d+=Math.trunc(h/1e3),h%=1e3,h<0&&(d-=1,h+=1e3),c+=Math.trunc(d/60),d%=60,d<0&&(c-=1,d+=60),s+=Math.trunc(c/60),c%=60,c<0&&(s-=1,c+=60);let m=Math.trunc(s/24);return s%=24,s<0&&(m-=1,s+=24),m+=0,s+=0,c+=0,d+=0,h+=0,u+=0,l+=0,{deltaDays:m,hour:s,minute:c,second:d,millisecond:h,microsecond:u,nanosecond:l}}function Rr(e,t){const n=Nt(e,0);if(0===Er(n))return e.days;const r=re(t,D),o=Sn(re(t,E),r,n,\"constrain\"),i=Gr(r.year,r.month-1,r.day),a=Gr(o.year,o.month-1,o.day)-i;return e.days+a}function Sr(e){return new(ce(\"%Temporal.Duration%\"))(-re(e,Y),-re(e,R),-re(e,S),-re(e,j),-re(e,k),-re(e,N),-re(e,x),-re(e,L),-re(e,P),-re(e,U))}function jr(e,t,n){return Math.min(n,Math.max(t,e))}function kr(e,t,n){const r=jr(t,1,12);return{year:e,month:r,day:jr(n,1,Tr(e,r))}}function Nr(e,t,n){if(e<t||e>n)throw new RangeError(`value out of range: ${t} <= ${e} <= ${n}`)}function xr(e,t,n){Nr(t,1,12),Nr(n,1,Tr(e,t))}function Lr(e){Br(xt(e,{deltaDays:0,hour:12,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}))}function Pr(e,t,n,r,o,i){Nr(e,0,23),Nr(t,0,59),Nr(n,0,59),Nr(r,0,999),Nr(o,0,999),Nr(i,0,999)}function Ur(e,t,n,r,o,i,a,s,c){xr(e,t,n),Pr(r,o,i,a,s,c)}function Br(t){const n=pr(t);(e.lessThan(n,Le)||e.greaterThan(n,Pe))&&Fr(n)}function Zr(e){pr(e)}function Fr(t){if(e.lessThan(t,xe)||e.greaterThan(t,Ne))throw new RangeError(\"date/time value is outside of supported range\")}function Hr({year:e,month:t}){Nr(e,Be,Ze),e===Be?Nr(t,4,12):e===Ze&&Nr(t,1,9)}function zr(e,t,n,r,o,i,a,s,c,d){let h=0;const u=[e,t,n,r,o,i,a,s,c,d];for(let e=0;e<u.length;e++){const t=u[e];if(t===1/0||t===-1/0)throw new RangeError(\"infinite values not allowed as duration fields\");if(0!==t){const e=t<0?-1:1;if(0!==h&&e!==h)throw new RangeError(\"mixed-sign values not allowed as duration fields\");h=e}}if(Math.abs(e)>=2**32||Math.abs(t)>=2**32||Math.abs(n)>=2**32)throw new RangeError(\"years, months, and weeks must be < 2³²\");const l=de(s,3),m=de(c,6),f=de(d,9),y=de(1e6*l.mod+1e3*m.mod+f.mod,9).div,p=86400*r+3600*o+60*i+a+l.div+m.div+f.div+y;if(!Number.isSafeInteger(p))throw new RangeError(\"total of duration time units cannot exceed 9007199254740991.999999999 s\")}function Ar(e){return{date:{years:re(e,Y),months:re(e,R),weeks:re(e,S),days:re(e,j)},time:TimeDuration.fromComponents(re(e,k),re(e,N),re(e,x),re(e,L),re(e,P),re(e,U))}}function qr(e){const t=TimeDuration.fromComponents(re(e,k),re(e,N),re(e,x),re(e,L),re(e,P),re(e,U)).add24HourDays(re(e,j));return{date:{years:re(e,Y),months:re(e,R),weeks:re(e,S),days:0},time:t}}function Wr(e){const t=qr(e),n=Math.trunc(t.time.sec/86400);return zr(t.date.years,t.date.months,t.date.weeks,n,0,0,0,0,0,0),{...t.date,days:n}}function _r(e,t){const n=e.time.sign();let r=e.time.abs().subsec,o=0,i=0,a=e.time.abs().sec,s=0,c=0,d=0;switch(t){case\"year\":case\"month\":case\"week\":case\"day\":o=Math.trunc(r/1e3),r%=1e3,i=Math.trunc(o/1e3),o%=1e3,a+=Math.trunc(i/1e3),i%=1e3,s=Math.trunc(a/60),a%=60,c=Math.trunc(s/60),s%=60,d=Math.trunc(c/24),c%=24;break;case\"hour\":o=Math.trunc(r/1e3),r%=1e3,i=Math.trunc(o/1e3),o%=1e3,a+=Math.trunc(i/1e3),i%=1e3,s=Math.trunc(a/60),a%=60,c=Math.trunc(s/60),s%=60;break;case\"minute\":o=Math.trunc(r/1e3),r%=1e3,i=Math.trunc(o/1e3),o%=1e3,a+=Math.trunc(i/1e3),i%=1e3,s=Math.trunc(a/60),a%=60;break;case\"second\":o=Math.trunc(r/1e3),r%=1e3,i=Math.trunc(o/1e3),o%=1e3,a+=Math.trunc(i/1e3),i%=1e3;break;case\"millisecond\":o=Math.trunc(r/1e3),r%=1e3,i=he(a,3,Math.trunc(o/1e3)),o%=1e3,a=0;break;case\"microsecond\":o=he(a,6,Math.trunc(r/1e3)),r%=1e3,a=0;break;case\"nanosecond\":r=he(a,9,r),a=0}return new(ce(\"%Temporal.Duration%\"))(e.date.years,e.date.months,e.date.weeks,e.date.days+n*d,n*c,n*s,n*a,n*i,n*o,n*r)}function Jr(e,t){return Er(e),t.sign(),{date:e,time:t}}function Gr(e,t,n){return yr({isoDate:{year:e,month:t+1,day:n},time:{hour:0,minute:0,second:0,millisecond:0}})/Re}function Kr({year:e,month:t,day:n}){if(Math.abs(Gr(e,t-1,n))>1e8)throw new RangeError(\"date/time value is outside the supported range\")}function Vr(e,t){const n=t.hour-e.hour,r=t.minute-e.minute,o=t.second-e.second,i=t.millisecond-e.millisecond,a=t.microsecond-e.microsecond,s=t.nanosecond-e.nanosecond;return TimeDuration.fromComponents(n,r,o,i,a,s)}function Xr(e,t,n,r,o){let i=TimeDuration.fromEpochNsDiff(t,e);return i=$o(i,n,r,o),Jr({years:0,months:0,weeks:0,days:0},i)}function Qr(e,t,n,r){Zr(e),Zr(t);let o=Vr(e.time,t.time);const i=o.sign(),a=Ro(e.isoDate,t.isoDate);let s=t.isoDate;a===i&&(s=Or(s.year,s.month,s.day+i),o=o.add24HourDays(-i));const c=Gt(\"day\",r),d=jn(n,e.isoDate,s,c);return r!==c&&(o=o.add24HourDays(d.days),d.days=0),Jr(d,o)}function eo(n,r,o,i,a){const s=e.subtract(r,n);if(e.equal(s,t))return{date:{years:0,months:0,weeks:0,days:0},time:TimeDuration.ZERO};const c=e.lessThan(s,t)?-1:1,d=zn(o,n),h=zn(o,r);let u,l=0,m=1===c?2:1,f=Vr(d.time,h.time);for(f.sign()===-c&&l++;l<=m;l++){u=xt(Or(h.isoDate.year,h.isoDate.month,h.isoDate.day-l*c),d.time);const e=An(o,u,\"compatible\");if(f=TimeDuration.fromEpochNsDiff(r,e),f.sign()!==-c)break}const y=Gt(\"day\",a);return Jr(jn(i,d.isoDate,u.isoDate,y),f)}function to(t,n,r,o,i,a,s,c,d){let h,u,l,m,f=n;switch(c){case\"year\":{const e=Eo(f.date.years,s,\"trunc\");h=e,u=e+s*t,l={years:h,months:0,weeks:0,days:0},m={...l,years:u};break}case\"month\":{const e=Eo(f.date.months,s,\"trunc\");h=e,u=e+s*t,l=Nt(f.date,0,0,h),m=Nt(f.date,0,0,u);break}case\"week\":{const e=Nt(f.date,0,0),n=Sn(a,o.isoDate,e,\"constrain\"),r=jn(a,n,Or(n.year,n.month,n.day+f.date.days),\"week\"),i=Eo(f.date.weeks+r.weeks,s,\"trunc\");h=i,u=i+s*t,l=Nt(f.date,0,h),m=Nt(f.date,0,u);break}case\"day\":{const e=Eo(f.date.days,s,\"trunc\");h=e,u=e+s*t,l=Nt(f.date,h),m=Nt(f.date,u);break}}const y=Sn(a,o.isoDate,l,\"constrain\"),p=Sn(a,o.isoDate,m,\"constrain\");let g,w;const v=xt(y,o.time),b=xt(p,o.time);i?(g=An(i,v,\"compatible\"),w=An(i,b,\"compatible\")):(g=pr(v),w=pr(b));const D=TimeDuration.fromEpochNsDiff(r,g),T=TimeDuration.fromEpochNsDiff(w,g),M=ue(d,t<0?\"negative\":\"positive\"),E=D.add(D).abs().subtract(T.abs()).sign(),I=Math.abs(h)/s%2==0,C=D.isZero()?Math.abs(h):D.cmp(T)?le(Math.abs(h),Math.abs(u),E,I,M):Math.abs(u),O=new TimeDuration(e.add(e.multiply(T.totalNs,e.BigInt(h)),e.multiply(D.totalNs,e.BigInt(s*t)))).fdiv(T.totalNs),$=C===Math.abs(u);return f={date:$?m:l,time:TimeDuration.ZERO},{nudgeResult:{duration:f,nudgedEpochNs:$?w:g,didExpandCalendarUnit:$},total:O}}function no(t,n,r,o,i,a,s,c,d){let h=t;const u=Kt(c)||o&&\"day\"===c,l=Ir(h)<0?-1:1;let m;return u?({nudgeResult:m}=to(l,h,n,r,o,i,s,c,d)):m=o?function(t,n,r,o,i,a,s,c){let d=n;const h=Sn(i,r.isoDate,d.date,\"constrain\"),u=xt(h,r.time),l=xt(Or(h.year,h.month,h.day+t),r.time),m=An(o,u,\"compatible\"),f=An(o,l,\"compatible\"),y=TimeDuration.fromEpochNsDiff(f,m);if(y.sign()!==t)throw new RangeError(\"time zone returned inconsistent Instants\");const p=e.BigInt(at[s]*a);let g=d.time.round(p,c);const w=g.subtract(y),v=w.sign()!==-t;let b,D;return v?(b=t,g=w.round(p,c),D=g.addToEpochNs(f)):(b=0,D=g.addToEpochNs(m)),{duration:Jr(Nt(d.date,d.date.days+b),g),nudgedEpochNs:D,didExpandCalendarUnit:v}}(l,h,r,o,i,s,c,d):function(t,n,r,o,i,a){let s=t;const c=s.time.add24HourDays(s.date.days),d=c.round(e.BigInt(o*at[i]),a),h=d.subtract(c),{quotient:u}=c.divmod(Se),{quotient:l}=d.divmod(Se),m=Math.sign(l-u)===c.sign(),f=h.addToEpochNs(n);let y=0,p=d;return\"date\"===Vt(r)&&(y=l,p=d.add(TimeDuration.fromComponents(24*-l,0,0,0,0,0))),{duration:{date:Nt(s.date,y),time:p},nudgedEpochNs:f,didExpandCalendarUnit:m}}(h,n,a,s,c,d),h=m.duration,m.didExpandCalendarUnit&&\"week\"!==c&&(h=function(e,t,n,r,o,i,a,s){let c=t;if(s===a)return c;const d=it.indexOf(a);for(let t=it.indexOf(s)-1;t>=d;t--){const s=it[t];if(\"week\"===s&&\"week\"!==a)continue;let d;switch(s){case\"year\":d={years:c.date.years+e,months:0,weeks:0,days:0};break;case\"month\":{const t=c.date.months+e;d=Nt(c.date,0,0,t);break}case\"week\":{const t=c.date.weeks+e;d=Nt(c.date,0,t);break}}const h=xt(Sn(i,r.isoDate,d,\"constrain\"),r.time);let u;if(u=o?An(o,h,\"compatible\"):pr(h),p(n,u)===-e)break;c={date:d,time:TimeDuration.ZERO}}return c}(l,h,m.nudgedEpochNs,r,o,i,a,Gt(c,\"day\"))),h}function ro(e,t,n,r,o,i){return Kt(i)||r&&\"day\"===i?to(Ir(e)<0?-1:1,e,t,n,r,o,1,i,\"trunc\").total:Yo(e.time.add24HourDays(e.date.days),i)}function oo(e,t,n,r,o,i,a){if(0==jo(e,t))return{date:{years:0,months:0,weeks:0,days:0},time:TimeDuration.ZERO};Br(e),Br(t);const s=Qr(e,t,n,r);return\"nanosecond\"===i&&1===o?s:no(s,pr(t),e,null,n,r,o,i,a)}function io(e,t,n,r,o,i,a,s){if(\"time\"===Vt(o))return Xr(e,t,i,a,s);const c=eo(e,t,n,r,o);return\"nanosecond\"===a&&1===i?c:no(c,t,zn(n,e),n,r,o,i,a,s)}function ao(e,t,n,r,o,i){const a=nt.reduce(((e,t)=>{const o=t[0],i=t[1],a=t[2];return\"datetime\"!==n&&a!==n||r.includes(i)||e.push(i,o),e}),[]);let s=Wt(t,\"largestUnit\",n,\"auto\");if(r.includes(s))throw new RangeError(`largestUnit must be one of ${a.join(\", \")}, not ${s}`);const c=Ft(t);let d=Ut(t,\"trunc\");\"since\"===e&&(d=function(e){switch(e){case\"ceil\":return\"floor\";case\"floor\":return\"ceil\";case\"halfCeil\":return\"halfFloor\";case\"halfFloor\":return\"halfCeil\";default:return e}}(d));const h=Wt(t,\"smallestUnit\",n,o);if(r.includes(h))throw new RangeError(`smallestUnit must be one of ${a.join(\", \")}, not ${h}`);const u=Gt(i,h);if(\"auto\"===s&&(s=u),Gt(s,h)!==s)throw new RangeError(`largestUnit ${s} cannot be smaller than smallestUnit ${h}`);const l={hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[h];return void 0!==l&&Ht(c,l,!1),{largestUnit:s,roundingIncrement:c,roundingMode:d,smallestUnit:h}}function so(e,t,n,r){const o=cn(n),i=ao(e,Zo(r),\"time\",[],\"nanosecond\",\"second\");let a=_r(Xr(re(t,b),re(o,b),i.roundingIncrement,i.smallestUnit,i.roundingMode),i.largestUnit);return\"since\"===e&&(a=Sr(a)),a}function co(e,t,n,r){const o=rn(n),i=re(t,E),a=re(o,E);if(!xn(i,a))throw new RangeError(`cannot compute difference between dates of ${i} and ${a} calendars`);const s=ao(e,Zo(r),\"date\",[],\"day\",\"day\"),c=ce(\"%Temporal.Duration%\"),d=re(t,D),h=re(o,D);if(0===Ro(d,h))return new c;let u={date:jn(i,d,h,s.largestUnit),time:TimeDuration.ZERO};if(\"day\"!==s.smallestUnit||1!==s.roundingIncrement){const e=xt(d,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0});u=no(u,pr(xt(h,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0})),e,null,i,s.largestUnit,s.roundingIncrement,s.smallestUnit,s.roundingMode)}let l=_r(u,\"day\");return\"since\"===e&&(l=Sr(l)),l}function ho(e,t,n,r){const o=an(n),i=re(t,E),a=re(o,E);if(!xn(i,a))throw new RangeError(`cannot compute difference between dates of ${i} and ${a} calendars`);const s=ao(e,Zo(r),\"datetime\",[],\"nanosecond\",\"day\"),c=ce(\"%Temporal.Duration%\"),d=re(t,T),h=re(o,T);if(0===jo(d,h))return new c;let u=_r(oo(d,h,i,s.largestUnit,s.roundingIncrement,s.smallestUnit,s.roundingMode),s.largestUnit);return\"since\"===e&&(u=Sr(u)),u}function uo(e,t,n,r){const o=hn(n),i=ao(e,Zo(r),\"time\",[],\"nanosecond\",\"hour\");let a=Vr(re(t,M),re(o,M));a=$o(a,i.roundingIncrement,i.smallestUnit,i.roundingMode);let s=_r(Jr({years:0,months:0,weeks:0,days:0},a),i.largestUnit);return\"since\"===e&&(s=Sr(s)),s}function lo(e,t,n,r){const o=ln(n),i=re(t,E),a=re(o,E);if(!xn(i,a))throw new RangeError(`cannot compute difference between months of ${i} and ${a} calendars`);const s=ao(e,Zo(r),\"date\",[\"week\",\"day\"],\"month\",\"year\"),c=ce(\"%Temporal.Duration%\");if(0==Ro(re(t,D),re(o,D)))return new c;const d=en(i,re(t,D),\"year-month\");d.day=1;const h=Ln(i,d,\"constrain\"),u=en(i,re(o,D),\"year-month\");u.day=1;const l=Ln(i,u,\"constrain\");let m={date:Nt(jn(i,h,l,s.largestUnit),0,0),time:TimeDuration.ZERO};if(\"month\"!==s.smallestUnit||1!==s.roundingIncrement){const e=xt(h,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0});m=no(m,pr(xt(l,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0})),e,null,i,s.largestUnit,s.roundingIncrement,s.smallestUnit,s.roundingMode)}let f=_r(m,\"day\");return\"since\"===e&&(f=Sr(f)),f}function mo(t,n,r,o){const i=fn(r),a=re(n,E),s=re(i,E);if(!xn(a,s))throw new RangeError(`cannot compute difference between dates of ${a} and ${s} calendars`);const c=ao(t,Zo(o),\"datetime\",[],\"nanosecond\",\"hour\"),d=re(n,b),h=re(i,b),u=ce(\"%Temporal.Duration%\");let l;if(\"date\"!==Vt(c.largestUnit))l=_r(Xr(d,h,c.roundingIncrement,c.smallestUnit,c.roundingMode),c.largestUnit);else{const t=re(n,$);if(!Zn(t,re(i,$)))throw new RangeError(\"When calculating difference between time zones, largestUnit must be 'hours' or smaller because day lengths can vary between time zones due to DST or time zone offset changes.\");if(e.equal(d,h))return new u;l=_r(io(d,h,t,a,c.largestUnit,c.roundingIncrement,c.smallestUnit,c.roundingMode),\"hour\")}return\"since\"===t&&(l=Sr(l)),l}function fo({hour:e,minute:t,second:n,millisecond:r,microsecond:o,nanosecond:i},a){let s=n,c=i;return s+=a.sec,c+=a.subsec,Yr(e,t,s,r,o,c)}function yo(e,t){const n=t.addToEpochNs(e);return Fr(n),n}function po(e,t,n,r,o=\"constrain\"){if(0===Er(r.date))return yo(e,r.time);const i=zn(t,e);return yo(An(t,xt(Sn(n,i.isoDate,r.date,o),i.time),\"compatible\"),r.time)}function go(e,t,n){let r=sn(n);\"subtract\"===e&&(r=Sr(r));const o=Gt(Jt(t),Jt(r));if(Kt(o))throw new RangeError(\"For years, months, or weeks arithmetic, use date arithmetic relative to a starting point\");const i=qr(t),a=qr(r);return _r(Jr({years:0,months:0,weeks:0,days:0},i.time.add(a.time)),o)}function wo(e,t,n){let r=sn(n);\"subtract\"===e&&(r=Sr(r));const o=Jt(r);if(\"date\"===Vt(o))throw new RangeError(`Duration field ${o} not supported by Temporal.Instant. Try Temporal.ZonedDateTime instead.`);const i=qr(r);return Cn(yo(re(t,b),i.time))}function vo(e,t,n,r){const o=re(t,E);let i=sn(n);\"subtract\"===e&&(i=Sr(i));const a=Wr(i),s=Lt(Zo(r));return pn(Sn(o,re(t,D),a,s),o)}function bo(e,t,n,r){let o=sn(n);\"subtract\"===e&&(o=Sr(o));const i=Lt(Zo(r)),a=re(t,E),s=qr(o),c=re(t,T),d=fo(c.time,s.time),h=Nt(s.date,d.deltaDays);return zr(h.years,h.months,h.weeks,h.days,0,0,0,0,0,0),wn(xt(Sn(a,c.isoDate,h,i),d),a)}function Do(e,t,n){let r=sn(n);\"subtract\"===e&&(r=Sr(r));const o=qr(r),{hour:i,minute:a,second:s,millisecond:c,microsecond:d,nanosecond:h}=fo(re(t,M),o.time);return Tn(jt(i,a,s,c,d,h,\"reject\"))}function To(e,t,n,r){let o=sn(n);\"subtract\"===e&&(o=Sr(o));const i=Lt(Zo(r)),a=Mr(o),s=re(t,E),c=en(s,re(t,D),\"year-month\");c.day=1;let d=Ln(s,c,\"constrain\");if(a<0){const e=Sn(s,d,{months:1},\"constrain\");d=Or(e.year,e.month,e.day-1)}const h=Wr(o);return Lr(d),En(Pn(s,en(s,Sn(s,d,h,i),\"year-month\"),i),s)}function Mo(e,t,n,r){let o=sn(n);\"subtract\"===e&&(o=Sr(o));const i=Lt(Zo(r)),a=re(t,$),s=re(t,E),c=Ar(o);return $n(po(re(t,b),a,s,c,i),a,s)}function Eo(e,t,n){const r=Math.trunc(e/t),o=e%t,i=e<0?\"negative\":\"positive\",a=Math.abs(r),s=a+1,c=Bo(Math.abs(2*o)-t),d=a%2==0,h=ue(n,i),u=0===o?a:le(a,s,c,d,h);return t*(\"positive\"===i?u:-u)}function Io(o,i,a,s){const c=at[a]*i;return function(o,i,a){const s=m(o),c=m(i),d=e.divide(s,c),h=e.remainder(s,c),u=ue(a,\"positive\");let l,g;e.lessThan(s,t)?(l=e.subtract(d,n),g=d):(l=d,g=e.add(d,n));const w=p(y(e.multiply(h,r)),c)*(e.lessThan(s,t)?-1:1)+0,v=e.equal(h,t)?d:le(l,g,w,f(l),u);return e.multiply(v,c)}(o,e.BigInt(c),s)}function Co(e,t,n,r){Zr(e);const{year:o,month:i,day:a}=e.isoDate,s=Oo(e.time,t,n,r);return xt(Or(o,i,a+s.deltaDays),s)}function Oo({hour:e,minute:t,second:n,millisecond:r,microsecond:o,nanosecond:i},a,s,c){let d;switch(s){case\"day\":case\"hour\":d=1e3*(1e3*(1e3*(60*(60*e+t)+n)+r)+o)+i;break;case\"minute\":d=1e3*(1e3*(1e3*(60*t+n)+r)+o)+i;break;case\"second\":d=1e3*(1e3*(1e3*n+r)+o)+i;break;case\"millisecond\":d=1e3*(1e3*r+o)+i;break;case\"microsecond\":d=1e3*o+i;break;case\"nanosecond\":d=i}const h=at[s],u=Eo(d,h*a,c)/h;switch(s){case\"day\":return{deltaDays:u,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0};case\"hour\":return Yr(u,0,0,0,0,0);case\"minute\":return Yr(e,u,0,0,0,0);case\"second\":return Yr(e,t,u,0,0,0);case\"millisecond\":return Yr(e,t,n,u,0,0);case\"microsecond\":return Yr(e,t,n,r,u,0);case\"nanosecond\":return Yr(e,t,n,r,o,u);default:throw new Error(`Invalid unit ${s}`)}}function $o(t,n,r,o){const i=at[r];return t.round(e.BigInt(i*n),o)}function Yo(t,n){const r=at[n];return t.fdiv(e.BigInt(r))}function Ro(e,t){return e.year!==t.year?Bo(e.year-t.year):e.month!==t.month?Bo(e.month-t.month):e.day!==t.day?Bo(e.day-t.day):0}function So(e,t){return e.hour!==t.hour?Bo(e.hour-t.hour):e.minute!==t.minute?Bo(e.minute-t.minute):e.second!==t.second?Bo(e.second-t.second):e.millisecond!==t.millisecond?Bo(e.millisecond-t.millisecond):e.microsecond!==t.microsecond?Bo(e.microsecond-t.microsecond):e.nanosecond!==t.nanosecond?Bo(e.nanosecond-t.nanosecond):0}function jo(e,t){const n=Ro(e.isoDate,t.isoDate);return 0!==n?n:So(e.time,t.time)}function ko(e){const t=Lo(e);return void 0!==globalThis.BigInt?globalThis.BigInt(t.toString(10)):t}function No(t,n){const r=m(t),{quotient:o,remainder:i}=g(r,c);let a=e.toNumber(o);return\"floor\"===n&&e.toNumber(i)<0&&(a-=1),\"ceil\"===n&&e.toNumber(i)>0&&(a+=1),a}function xo(t){if(!Number.isInteger(t))throw new RangeError(\"epoch milliseconds must be an integer\");return e.multiply(e.BigInt(t),c)}function Lo(t){let n=t;if(\"object\"==typeof t){const e=t[Symbol.toPrimitive];e&&\"function\"==typeof e&&(n=e.call(t,\"number\"))}if(\"number\"==typeof n)throw new TypeError(\"cannot convert number to bigint\");return\"bigint\"==typeof n?e.BigInt(n.toString(10)):e.BigInt(n)}const Po=(()=>{let t=e.BigInt(Date.now()%1e6);return()=>{const n=Date.now(),r=e.BigInt(n),o=e.add(xo(n),t);return t=e.remainder(r,c),e.greaterThan(o,Ne)?Ne:e.lessThan(o,xe)?xe:o}})();function Uo(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}function Bo(e){return e<0?-1:e>0?1:e}function Zo(e){if(void 0===e)return Object.create(null);if(Ae(e)&&null!==e)return e;throw new TypeError(\"Options parameter must be an object, not \"+(null===e?\"null\":typeof e))}function Fo(e,t){const n=Object.create(null);return n[e]=t,n}function Ho(e,t,n,r){let o=e[t];if(void 0!==o){if(o=We(o),!n.includes(o))throw new RangeError(`${t} must be one of ${n.join(\", \")}, not ${o}`);return o}if(r===qt)throw new RangeError(`${t} option is required`);return r}function zo(e){const t=Ao(e);if(!He.includes(Ao(t)))throw new RangeError(`invalid calendar identifier ${t}`);switch(t){case\"ethiopic-amete-alem\":return\"ethioaa\";case\"islamicc\":return\"islamic-civil\"}return t}function Ao(e){let t=\"\";for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);t+=r>=65&&r<=90?String.fromCharCode(r+32):String.fromCharCode(r)}return t}function qo(e){throw new TypeError(`Do not use built-in arithmetic operators with Temporal objects. When comparing, use ${\"PlainMonthDay\"===e?\"Temporal.PlainDate.compare(obj1.toPlainDate(year), obj2.toPlainDate(year))\":`Temporal.${e}.compare(obj1, obj2)`}, not obj1 > obj2. When coercing to strings, use \\`\\${obj}\\` or String(obj), not '' + obj. When coercing to numbers, use properties or methods of the object, not \\`+obj\\`. When concatenating with strings, use \\`\\${str}\\${obj}\\` or str.concat(obj), not str + obj. In React, coerce to a string before rendering a Temporal object.`)}const Wo=new RegExp(`^${be.source}$`),_o=new RegExp(`^${/([+-])([01][0-9]|2[0-3])(?::?([0-5][0-9])(?::?([0-5][0-9])(?:[.,](\\d{1,9}))?)?)?/.source}$`);function Jo(e,t,n,r=e(t),o=e(n)){let i=t,a=n,s=r,c=o;for(;a-i>1;){let t=Math.trunc((i+a)/2);const n=e(t);n===s?(i=t,s=n):n===c&&(a=t,c=n)}return a}function Go(e){return[...e]}function Ko(e,t){if(\"gregory\"!==e&&\"iso8601\"!==e)return;const n=Xo[e];let r=t.year;const{dayOfWeek:o,dayOfYear:i,daysInYear:a}=n.isoToDate(t,{dayOfWeek:!0,dayOfYear:!0,daysInYear:!0}),s=n.getFirstDayOfWeek(),c=n.getMinimalDaysInFirstWeek();let d=(o+7-s)%7,h=(o-i+7001-s)%7,u=Math.floor((i-1+h)/7);if(7-h>=c&&++u,0==u)u=function(e,t,n,r){let o=(r-e-n+1)%7;o<0&&(o+=7);let i=Math.floor((n+o-1)/7);return 7-o>=t&&++i,i}(s,c,i+n.isoToDate(n.dateAdd(t,{years:-1},\"constrain\"),{daysInYear:!0}).daysInYear,o),r--;else if(i>=a-5){let e=(d+a-i)%7;e<0&&(e+=7),6-e>=c&&i+7-d>a&&(u=1,r++)}return{week:u,year:r}}function Vo(e,t,n,r,o){if(t!==o.year){if(e*(t-o.year)>0)return!0}else if(n!==o.month){if(e*(n-o.month)>0)return!0}else if(r!==o.day&&e*(r-o.day)>0)return!0;return!1}const Xo={};function Qo(e){if(!e.startsWith(\"M\"))throw new RangeError(`Invalid month code: ${e}.  Month codes must start with M.`);const t=+e.slice(1);if(Number.isNaN(t))throw new RangeError(`Invalid month code: ${e}`);return t}function ei(e,t=!1){return`M${`${e}`.padStart(2,\"0\")}${t?\"L\":\"\"}`}function ti(e,t=void 0,n=12){let{month:r,monthCode:o}=e;if(void 0===o){if(void 0===r)throw new TypeError(\"Either month or monthCode are required\");\"reject\"===t&&Nr(r,1,n),\"constrain\"===t&&(r=jr(r,1,n)),o=ei(r)}else{const e=Qo(o);if(o!==ei(e))throw new RangeError(`Invalid month code: ${o}`);if(void 0!==r&&r!==e)throw new RangeError(`monthCode ${o} and month ${r} must match if both are present`);if(r=e,r<1||r>n)throw new RangeError(`Invalid monthCode: ${o}`)}return{...e,month:r,monthCode:o}}Xo.iso8601={resolveFields(e,t){if((\"date\"===t||\"year-month\"===t)&&void 0===e.year)throw new TypeError(\"year is required\");if((\"date\"===t||\"month-day\"===t)&&void 0===e.day)throw new TypeError(\"day is required\");Object.assign(e,ti(e))},dateToISO:(e,t)=>St(e.year,e.month,e.day,t),monthDayToISOReferenceDate(e,t){const{month:n,day:r}=St(e.year??1972,e.month,e.day,t);return{month:n,day:r,year:1972}},extraFields:()=>[],fieldKeysToIgnore(e){const t=new Set;for(let n=0;n<e.length;n++){const r=e[n];t.add(r),\"month\"===r?t.add(\"monthCode\"):\"monthCode\"===r&&t.add(\"month\")}return Go(t)},dateAdd(e,{years:t=0,months:n=0,weeks:r=0,days:o=0},i){let{year:a,month:s,day:c}=e;return a+=t,s+=n,({year:a,month:s}=Cr(a,s)),({year:a,month:s,day:c}=St(a,s,c,i)),c+=o+7*r,Or(a,s,c)},dateUntil(e,t,n){const r=-Ro(e,t);if(0===r)return{years:0,months:0,weeks:0,days:0};let o,i=0,a=0;if(\"year\"===n||\"month\"===n){let s=t.year-e.year;for(0!==s&&(s-=r);!Vo(r,e.year+s,e.month,e.day,t);)i=s,s+=r;let c=r;for(o=Cr(e.year+i,e.month+c);!Vo(r,o.year,o.month,e.day,t);)a=c,c+=r,o=Cr(o.year,o.month+r);\"month\"===n&&(a+=12*i,i=0)}o=Cr(e.year+i,e.month+a);const s=kr(o.year,o.month,e.day);let c=0,d=Gr(t.year,t.month-1,t.day)-Gr(s.year,s.month-1,s.day);return\"week\"===n&&(c=Math.trunc(d/7),d%=7),{years:i,months:a,weeks:c,days:d}},isoToDate({year:e,month:t,day:n},r){const o={era:void 0,eraYear:void 0,year:e,month:t,day:n,daysInWeek:7,monthsInYear:12};if(r.monthCode&&(o.monthCode=ei(t)),r.dayOfWeek){const r=t+(t<3?10:-2),i=e-(t<3?1:0),a=Math.floor(i/100),s=i-100*a,c=(n+Math.floor(2.6*r-.2)+(s+Math.floor(s/4))+(Math.floor(a/4)-2*a))%7;o.dayOfWeek=c+(c<=0?7:0)}if(r.dayOfYear){let r=n;for(let n=t-1;n>0;n--)r+=Tr(e,n);o.dayOfYear=r}return r.weekOfYear&&(o.weekOfYear=Ko(\"iso8601\",{year:e,month:t,day:n})),r.daysInMonth&&(o.daysInMonth=Tr(e,t)),(r.daysInYear||r.inLeapYear)&&(o.inLeapYear=Dr(e),o.daysInYear=o.inLeapYear?366:365),o},getFirstDayOfWeek:()=>1,getMinimalDaysInFirstWeek:()=>4};class OneObjectCache{constructor(e){if(this.map=new Map,this.calls=0,this.hits=0,this.misses=0,void 0!==e){let t=0;for(const n of e.map.entries()){if(++t>OneObjectCache.MAX_CACHE_ENTRIES)break;this.map.set(...n)}}}get(e){const t=this.map.get(e);return t&&(this.hits++,this.report()),this.calls++,t}set(e,t){this.map.set(e,t),this.misses++,this.report()}report(){}setObject(e){if(OneObjectCache.objectMap.get(e))throw new RangeError(\"object already cached\");OneObjectCache.objectMap.set(e,this),this.report()}static getCacheForObject(e){let t=OneObjectCache.objectMap.get(e);return t||(t=new OneObjectCache,OneObjectCache.objectMap.set(e,t)),t}}function ni({isoYear:e,isoMonth:t,isoDay:n}){return`${Jn(e)}-${Gn(t)}-${Gn(n)}T00:00Z`}function ri(e,t){return{years:e.year-t.year,months:e.month-t.month,days:e.day-t.day}}OneObjectCache.objectMap=new WeakMap,OneObjectCache.MAX_CACHE_ENTRIES=1e3;class HelperBase{constructor(){this.eras=[],this.hasEra=!1,this.erasBeginMidYear=!1}getFormatter(){return void 0===this.formatter&&(this.formatter=new Intl.DateTimeFormat(`en-US-u-ca-${this.id}`,{day:\"numeric\",month:\"numeric\",year:\"numeric\",era:\"short\",timeZone:\"UTC\"})),this.formatter}getCalendarParts(e){let t=this.getFormatter(),n=new Date(e);if(\"-271821-04-19T00:00Z\"===e){const e=t.resolvedOptions();t=new Intl.DateTimeFormat(e.locale,{...e,timeZone:\"Etc/GMT+1\"}),n=new Date(\"-271821-04-20T00:00Z\")}try{return t.formatToParts(n)}catch(t){throw new RangeError(`Invalid ISO date: ${e}`)}}isoToCalendarDate(e,t){const{year:n,month:r,day:o}=e,i=JSON.stringify({func:\"isoToCalendarDate\",isoYear:n,isoMonth:r,isoDay:o,id:this.id}),a=t.get(i);if(a)return a;const s=ni({isoYear:n,isoMonth:r,isoDay:o}),c=this.getCalendarParts(s),d={};for(let e=0;e<c.length;e++){const{type:t,value:n}=c[e];if(\"year\"!==t&&\"relatedYear\"!==t||(this.hasEra?d.eraYear=+n:d.year=+n),\"month\"===t){const e=/^([0-9]*)(.*?)$/.exec(n);if(!e||3!=e.length||!e[1]&&!e[2])throw new RangeError(`Unexpected month: ${n}`);if(d.month=e[1]?+e[1]:1,d.month<1)throw new RangeError(`Invalid month ${n} from ${s}[u-ca-${this.id}] (probably due to https://bugs.chromium.org/p/v8/issues/detail?id=10527)`);if(d.month>13)throw new RangeError(`Invalid month ${n} from ${s}[u-ca-${this.id}] (probably due to https://bugs.chromium.org/p/v8/issues/detail?id=10529)`);e[2]&&(d.monthExtra=e[2])}\"day\"===t&&(d.day=+n),this.hasEra&&\"era\"===t&&null!=n&&\"\"!==n&&(d.era=n.split(\" (\")[0].normalize(\"NFD\").replace(/[^-0-9 \\p{L}]/gu,\"\").replace(/ /g,\"-\").toLowerCase())}if(this.hasEra&&void 0===d.eraYear)throw new RangeError(`Intl.DateTimeFormat.formatToParts lacks relatedYear in ${this.id} calendar. Try Node 14+ or modern browsers.`);if(this.hasEra){const e=this.eras.find((e=>d.era===e.genericName));e&&(d.era=e.code)}if(this.reviseIntlEra){const{era:t,eraYear:n}=this.reviseIntlEra(d,e);d.era=t,d.eraYear=n}this.checkIcuBugs&&this.checkIcuBugs(e);const h=this.adjustCalendarDate(d,t,\"constrain\",!0);if(void 0===h.year)throw new RangeError(`Missing year converting ${JSON.stringify(e)}`);if(void 0===h.month)throw new RangeError(`Missing month converting ${JSON.stringify(e)}`);if(void 0===h.day)throw new RangeError(`Missing day converting ${JSON.stringify(e)}`);return t.set(i,h),[\"constrain\",\"reject\"].forEach((n=>{const r=JSON.stringify({func:\"calendarToIsoDate\",year:h.year,month:h.month,day:h.day,overflow:n,id:this.id});t.set(r,e)})),h}validateCalendarDate(e){const{month:t,year:n,day:r,eraYear:o,monthCode:i,monthExtra:a}=e;if(void 0!==a)throw new RangeError(\"Unexpected `monthExtra` value\");if(void 0===n&&void 0===o)throw new TypeError(\"year or eraYear is required\");if(void 0===t&&void 0===i)throw new TypeError(\"month or monthCode is required\");if(void 0===r)throw new RangeError(\"Missing day\");if(void 0!==i){if(\"string\"!=typeof i)throw new RangeError(\"monthCode must be a string, not \"+typeof i);if(!/^M([01]?\\d)(L?)$/.test(i))throw new RangeError(`Invalid monthCode: ${i}`)}if(this.hasEra&&void 0===e.era!=(void 0===e.eraYear))throw new TypeError(\"properties era and eraYear must be provided together\")}adjustCalendarDate(e,t=void 0,n=\"constrain\",r=!1){if(\"lunisolar\"===this.calendarType)throw new RangeError(\"Override required for lunisolar calendars\");let o=e;this.validateCalendarDate(o);const i=this.monthsInYear(o,t);let{month:a,monthCode:s}=o;return({month:a,monthCode:s}=ti(o,n,i)),{...o,month:a,monthCode:s}}regulateMonthDayNaive(e,t,n){const r=this.monthsInYear(e,n);let{month:o,day:i}=e;return\"reject\"===t?(Nr(o,1,r),Nr(i,1,this.maximumMonthLength(e))):(o=jr(o,1,r),i=jr(i,1,this.maximumMonthLength({...e,month:o}))),{...e,month:o,day:i}}calendarToIsoDate(e,t=\"constrain\",n){const r=e;let o=this.adjustCalendarDate(e,n,t,!1);o=this.regulateMonthDayNaive(o,t,n);const{year:i,month:a,day:s}=o,c=JSON.stringify({func:\"calendarToIsoDate\",year:i,month:a,day:s,overflow:t,id:this.id});let d,h=n.get(c);if(h)return h;if(void 0!==r.year&&void 0!==r.month&&void 0!==r.day&&(r.year!==o.year||r.month!==o.month||r.day!==o.day)&&(d=JSON.stringify({func:\"calendarToIsoDate\",year:r.year,month:r.month,day:r.day,overflow:t,id:this.id}),h=n.get(d),h))return h;let u=this.estimateIsoDate({year:i,month:a,day:s});const l=e=>{let r=this.addDaysIso(u,e);if(o.day>this.minimumMonthLength(o)){let e=this.isoToCalendarDate(r,n);for(;e.month!==a||e.year!==i;){if(\"reject\"===t)throw new RangeError(`day ${s} does not exist in month ${a} of year ${i}`);r=this.addDaysIso(r,-1),e=this.isoToCalendarDate(r,n)}}return r};let m=0,f=this.isoToCalendarDate(u,n),y=ri(o,f);if(0!==y.years||0!==y.months||0!==y.days){const e=365*y.years+30*y.months+y.days;u=this.addDaysIso(u,e),f=this.isoToCalendarDate(u,n),y=ri(o,f),0===y.years&&0===y.months?u=l(y.days):m=this.compareCalendarDates(o,f)}let p=8;for(;m;){u=this.addDaysIso(u,m*p);const e=f;f=this.isoToCalendarDate(u,n);const i=m;if(m=this.compareCalendarDates(o,f),m)if(y=ri(o,f),0===y.years&&0===y.months)u=l(y.days),m=0;else if(i&&m!==i)if(p>1)p/=2;else{if(\"reject\"===t)throw new RangeError(`Can't find ISO date from calendar date: ${JSON.stringify({...r})}`);this.compareCalendarDates(f,e)>0&&(u=this.addDaysIso(u,-1)),m=0}}if(n.set(c,u),d&&n.set(d,u),void 0===o.year||void 0===o.month||void 0===o.day||void 0===o.monthCode||this.hasEra&&(void 0===o.era||void 0===o.eraYear))throw new RangeError(\"Unexpected missing property\");return u}compareCalendarDates(e,t){return e.year!==t.year?Bo(e.year-t.year):e.month!==t.month?Bo(e.month-t.month):e.day!==t.day?Bo(e.day-t.day):0}regulateDate(e,t=\"constrain\",n){const r=this.calendarToIsoDate(e,t,n);return this.isoToCalendarDate(r,n)}addDaysIso(e,t){return Or(e.year,e.month,e.day+t)}addDaysCalendar(e,t,n){const r=this.calendarToIsoDate(e,\"constrain\",n),o=this.addDaysIso(r,t);return this.isoToCalendarDate(o,n)}addMonthsCalendar(e,t,n,r){let o=e;const{day:i}=o;for(let e=0,n=Math.abs(t);e<n;e++){const{month:e}=o,n=o,a=t<0?-Math.max(i,this.daysInPreviousMonth(o,r)):this.daysInMonth(o,r),s=this.calendarToIsoDate(o,\"constrain\",r);let c=this.addDaysIso(s,a);if(o=this.isoToCalendarDate(c,r),t>0){const t=this.monthsInYear(n,r);for(;o.month-1!=e%t;)c=this.addDaysIso(c,-1),o=this.isoToCalendarDate(c,r)}o.day!==i&&(o=this.regulateDate({...o,day:i},\"constrain\",r))}if(\"reject\"===n&&o.day!==i)throw new RangeError(`Day ${i} does not exist in resulting calendar month`);return o}addCalendar(e,{years:t=0,months:n=0,weeks:r=0,days:o=0},i,a){const{year:s,day:c,monthCode:d}=e,h=this.adjustCalendarDate({year:s+t,monthCode:d,day:c},a),u=this.addMonthsCalendar(h,n,i,a),l=o+7*r;return this.addDaysCalendar(u,l,a)}untilCalendar(e,t,n,r){let o=0,i=0,a=0,s=0;switch(n){case\"day\":o=this.calendarDaysUntil(e,t,r);break;case\"week\":{const n=this.calendarDaysUntil(e,t,r);o=n%7,i=(n-o)/7;break}case\"month\":case\"year\":{const i=this.compareCalendarDates(t,e);if(!i)return{years:0,months:0,weeks:0,days:0};const c=t.year-e.year,d=t.day-e.day;if(\"year\"===n&&c){let n=0;t.monthCode>e.monthCode&&(n=1),t.monthCode<e.monthCode&&(n=-1),n||(n=Math.sign(d)),s=n*i<0?c-i:c}let h,u=s?this.addCalendar(e,{years:s},\"constrain\",r):e;do{a+=i,h=u,u=this.addMonthsCalendar(h,i,\"constrain\",r),u.day!==e.day&&(u=this.regulateDate({...u,day:e.day},\"constrain\",r))}while(this.compareCalendarDates(t,u)*i>=0);a-=i,o=this.calendarDaysUntil(h,t,r);break}}return{years:s,months:a,weeks:i,days:o}}daysInMonth(e,t){const{day:n}=e,r=this.maximumMonthLength(e),o=this.minimumMonthLength(e);if(o===r)return o;const i=n<=r-o?r:o,a=this.calendarToIsoDate(e,\"constrain\",t),s=this.addDaysIso(a,i),c=this.isoToCalendarDate(s,t),d=this.addDaysIso(s,-c.day);return this.isoToCalendarDate(d,t).day}daysInPreviousMonth(e,t){const{day:n,month:r,year:o}=e;let i={year:r>1?o:o-1,month:r,day:1};const a=r>1?r-1:this.monthsInYear(i,t);i={...i,month:a};const s=this.minimumMonthLength(i),c=this.maximumMonthLength(i);if(s===c)return c;const d=this.calendarToIsoDate(e,\"constrain\",t),h=this.addDaysIso(d,-n);return this.isoToCalendarDate(h,t).day}startOfCalendarYear(e){return{year:e.year,month:1,monthCode:\"M01\",day:1}}startOfCalendarMonth(e){return{year:e.year,month:e.month,day:1}}calendarDaysUntil(e,t,n){const r=this.calendarToIsoDate(e,\"constrain\",n),o=this.calendarToIsoDate(t,\"constrain\",n);return Gr(o.year,o.month-1,o.day)-Gr(r.year,r.month-1,r.day)}monthDaySearchStartYear(e,t){return 1972}monthDayFromFields(e,t,n){let r,o,i,a,s,{era:c,eraYear:d,year:h,month:u,monthCode:l,day:m}=e;if(void 0!==u&&void 0===h&&(!this.hasEra||void 0===c||void 0===d))throw new TypeError(\"when month is present, year (or era and eraYear) are required\");(void 0===l||void 0!==h||this.hasEra&&void 0!==d)&&({monthCode:l,day:m}=this.isoToCalendarDate(this.calendarToIsoDate(e,t,n),n));const f={year:this.monthDaySearchStartYear(l,m),month:12,day:31},y=this.isoToCalendarDate(f,n),p=y.monthCode>l||y.monthCode===l&&y.day>=m?y.year:y.year-1;for(let e=0;e<20;e++){const c=this.adjustCalendarDate({day:m,monthCode:l,year:p-e},n),d=this.calendarToIsoDate(c,\"constrain\",n),h=this.isoToCalendarDate(d,n);if(({year:r,month:o,day:i}=d),h.monthCode===l&&h.day===m)return{month:o,day:i,year:r};if(\"constrain\"===t){const e=this.maxLengthOfMonthCodeInAnyYear(h.monthCode);if(h.monthCode===l&&h.day===e&&m>e)return{month:o,day:i,year:r};(void 0===a||h.monthCode===a.monthCode&&h.day>a.day)&&(a=h,s=d)}}if(\"constrain\"===t&&void 0!==s)return s;throw new RangeError(`No recent ${this.id} year with monthCode ${l} and day ${m}`)}getFirstDayOfWeek(){}getMinimalDaysInFirstWeek(){}}class HebrewHelper extends HelperBase{constructor(){super(...arguments),this.id=\"hebrew\",this.calendarType=\"lunisolar\",this.months={Tishri:{leap:1,regular:1,monthCode:\"M01\",days:30},Heshvan:{leap:2,regular:2,monthCode:\"M02\",days:{min:29,max:30}},Kislev:{leap:3,regular:3,monthCode:\"M03\",days:{min:29,max:30}},Tevet:{leap:4,regular:4,monthCode:\"M04\",days:29},Shevat:{leap:5,regular:5,monthCode:\"M05\",days:30},Adar:{leap:void 0,regular:6,monthCode:\"M06\",days:29},\"Adar I\":{leap:6,regular:void 0,monthCode:\"M05L\",days:30},\"Adar II\":{leap:7,regular:void 0,monthCode:\"M06\",days:29},Nisan:{leap:8,regular:7,monthCode:\"M07\",days:30},Iyar:{leap:9,regular:8,monthCode:\"M08\",days:29},Sivan:{leap:10,regular:9,monthCode:\"M09\",days:30},Tamuz:{leap:11,regular:10,monthCode:\"M10\",days:29},Av:{leap:12,regular:11,monthCode:\"M11\",days:30},Elul:{leap:13,regular:12,monthCode:\"M12\",days:29}}}inLeapYear(e){const{year:t}=e;return(7*t+1)%19<7}monthsInYear(e){return this.inLeapYear(e)?13:12}minimumMonthLength(e){return this.minMaxMonthLength(e,\"min\")}maximumMonthLength(e){return this.minMaxMonthLength(e,\"max\")}minMaxMonthLength(e,t){const{month:n,year:r}=e,o=this.getMonthCode(r,n),i=Object.entries(this.months).find((e=>e[1].monthCode===o));if(void 0===i)throw new RangeError(`unmatched Hebrew month: ${n}`);const a=i[1].days;return\"number\"==typeof a?a:a[t]}maxLengthOfMonthCodeInAnyYear(e){return[\"M04\",\"M06\",\"M08\",\"M10\",\"M12\"].includes(e)?29:30}estimateIsoDate(e){const{year:t}=e;return{year:t-3760,month:1,day:1}}getMonthCode(e,t){return this.inLeapYear({year:e})?6===t?ei(5,!0):ei(t<6?t:t-1):ei(t)}adjustCalendarDate(e,t,n=\"constrain\",r=!1){let{year:o,month:i,monthCode:a,day:s,monthExtra:c}=e;if(void 0===o)throw new TypeError(\"Missing property: year\");if(r){if(c){const e=this.months[c];if(!e)throw new RangeError(`Unrecognized month from formatToParts: ${c}`);i=this.inLeapYear({year:o})?e.leap:e.regular}return a=this.getMonthCode(o,i),{year:o,month:i,day:s,monthCode:a}}if(this.validateCalendarDate(e),void 0===i)if(a.endsWith(\"L\")){if(\"M05L\"!==a)throw new RangeError(`Hebrew leap month must have monthCode M05L, not ${a}`);if(i=6,!this.inLeapYear({year:o})){if(\"reject\"===n)throw new RangeError(`Hebrew monthCode M05L is invalid in year ${o} which is not a leap year`);i=6,a=\"M06\"}}else{i=Qo(a),this.inLeapYear({year:o})&&i>=6&&i++;const e=this.monthsInYear({year:o});if(i<1||i>e)throw new RangeError(`Invalid monthCode: ${a}`)}else if(\"reject\"===n?(Nr(i,1,this.monthsInYear({year:o})),Nr(s,1,this.maximumMonthLength({year:o,month:i}))):(i=jr(i,1,this.monthsInYear({year:o})),s=jr(s,1,this.maximumMonthLength({year:o,month:i}))),void 0===a)a=this.getMonthCode(o,i);else if(this.getMonthCode(o,i)!==a)throw new RangeError(`monthCode ${a} doesn't correspond to month ${i} in Hebrew year ${o}`);return{...e,day:s,month:i,monthCode:a,year:o}}}class IslamicBaseHelper extends HelperBase{constructor(){super(...arguments),this.calendarType=\"lunar\",this.DAYS_PER_ISLAMIC_YEAR=354+11/30,this.DAYS_PER_ISO_YEAR=365.2425}inLeapYear(e,t){const n={year:e.year,month:1,monthCode:\"M01\",day:1},r={year:e.year+1,month:1,monthCode:\"M01\",day:1};return 355===this.calendarDaysUntil(n,r,t)}monthsInYear(){return 12}minimumMonthLength(){return 29}maximumMonthLength(){return 30}maxLengthOfMonthCodeInAnyYear(){return 30}estimateIsoDate(e){const{year:t}=this.adjustCalendarDate(e);return{year:Math.floor(t*this.DAYS_PER_ISLAMIC_YEAR/this.DAYS_PER_ISO_YEAR)+622,month:1,day:1}}}class IslamicHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamic\"}}class IslamicUmalquraHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamic-umalqura\"}}class IslamicTblaHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamic-tbla\"}}class IslamicCivilHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamic-civil\"}}class IslamicRgsaHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamic-rgsa\"}}class IslamicCcHelper extends IslamicBaseHelper{constructor(){super(...arguments),this.id=\"islamicc\"}}class PersianHelper extends HelperBase{constructor(){super(...arguments),this.id=\"persian\",this.calendarType=\"solar\"}inLeapYear(e,t){return 30===this.daysInMonth({year:e.year,month:12,day:1},t)}monthsInYear(){return 12}minimumMonthLength(e){const{month:t}=e;return 12===t?29:t<=6?31:30}maximumMonthLength(e){const{month:t}=e;return 12===t?30:t<=6?31:30}maxLengthOfMonthCodeInAnyYear(e){return Qo(e)<=6?31:30}estimateIsoDate(e){const{year:t}=this.adjustCalendarDate(e);return{year:t+621,month:1,day:1}}}class IndianHelper extends HelperBase{constructor(){super(...arguments),this.id=\"indian\",this.calendarType=\"solar\",this.months={1:{length:30,month:3,day:22,leap:{length:31,month:3,day:21}},2:{length:31,month:4,day:21},3:{length:31,month:5,day:22},4:{length:31,month:6,day:22},5:{length:31,month:7,day:23},6:{length:31,month:8,day:23},7:{length:30,month:9,day:23},8:{length:30,month:10,day:23},9:{length:30,month:11,day:22},10:{length:30,month:12,day:22},11:{length:30,month:1,nextYear:!0,day:21},12:{length:30,month:2,nextYear:!0,day:20}},this.vulnerableToBceBug=\"10/11/-79 Saka\"!==new Date(\"0000-01-01T00:00Z\").toLocaleDateString(\"en-US-u-ca-indian\",{timeZone:\"UTC\"})}inLeapYear(e){return oi(e.year+78)}monthsInYear(){return 12}minimumMonthLength(e){return this.getMonthInfo(e).length}maximumMonthLength(e){return this.getMonthInfo(e).length}maxLengthOfMonthCodeInAnyYear(e){const t=Qo(e);let n=this.months[t];return n=n.leap??n,n.length}getMonthInfo(e){const{month:t}=e;let n=this.months[t];if(void 0===n)throw new RangeError(`Invalid month: ${t}`);return this.inLeapYear(e)&&n.leap&&(n=n.leap),n}estimateIsoDate(e){const t=this.adjustCalendarDate(e),n=this.getMonthInfo(t);return Or(t.year+78+(n.nextYear?1:0),n.month,n.day+t.day-1)}checkIcuBugs(e){if(this.vulnerableToBceBug&&e.year<1)throw new RangeError(`calendar '${this.id}' is broken for ISO dates before 0001-01-01 (see https://bugs.chromium.org/p/v8/issues/detail?id=10529)`)}}function oi(e){return e%4==0&&(e%100!=0||e%400==0)}class GregorianBaseHelperFixedEpoch extends HelperBase{constructor(e,t){super(),this.calendarType=\"solar\",this.id=e,this.isoEpoch=t}inLeapYear(e){const{year:t}=this.estimateIsoDate({month:1,day:1,year:e.year});return oi(t)}monthsInYear(){return 12}minimumMonthLength(e){const{month:t}=e;return 2===t?this.inLeapYear(e)?29:28:[4,6,9,11].indexOf(t)>=0?30:31}maximumMonthLength(e){return this.minimumMonthLength(e)}maxLengthOfMonthCodeInAnyYear(e){return[31,29,31,30,31,30,31,31,30,31,30,31][Qo(e)-1]}estimateIsoDate(e){const t=this.adjustCalendarDate(e);return St(t.year+this.isoEpoch.year,t.month+this.isoEpoch.month,t.day+this.isoEpoch.day,\"constrain\")}}class GregorianBaseHelper extends HelperBase{constructor(e,t){super(),this.hasEra=!0,this.calendarType=\"solar\",this.id=e;const{eras:n,anchorEra:r}=function(e){let t,n=e;if(0===n.length)throw new RangeError(\"Invalid era data: eras are required\");if(1===n.length&&n[0].reverseOf)throw new RangeError(\"Invalid era data: anchor era cannot count years backwards\");if(1===n.length&&!n[0].code)throw new RangeError(\"Invalid era data: at least one named era is required\");if(n.filter((e=>null!=e.reverseOf)).length>1)throw new RangeError(\"Invalid era data: only one era can count years backwards\");n.forEach((e=>{if(e.isAnchor||!e.anchorEpoch&&!e.reverseOf){if(t)throw new RangeError(\"Invalid era data: cannot have multiple anchor eras\");t=e,e.anchorEpoch={year:e.hasYearZero?0:1}}else if(!e.code)throw new RangeError(\"If era name is blank, it must be the anchor era\")})),n=n.filter((e=>e.code)),n.forEach((e=>{const{reverseOf:t}=e;if(t){const r=n.find((e=>e.code===t));if(void 0===r)throw new RangeError(`Invalid era data: unmatched reverseOf era: ${t}`);e.reverseOf=r,e.anchorEpoch=r.anchorEpoch,e.isoEpoch=r.isoEpoch}void 0===e.anchorEpoch.month&&(e.anchorEpoch.month=1),void 0===e.anchorEpoch.day&&(e.anchorEpoch.day=1)})),n.sort(((e,t)=>{if(e.reverseOf)return 1;if(t.reverseOf)return-1;if(!e.isoEpoch||!t.isoEpoch)throw new RangeError(\"Invalid era data: missing ISO epoch\");return t.isoEpoch.year-e.isoEpoch.year}));const r=n[n.length-1].reverseOf;if(r&&r!==n[n.length-2])throw new RangeError(\"Invalid era data: invalid reverse-sign era\");return n.forEach(((e,t)=>{e.genericName=\"era\"+(n.length-1-t)})),{eras:n,anchorEra:t||n[0]}}(t);this.anchorEra=r,this.eras=n}inLeapYear(e){const{year:t}=this.estimateIsoDate({month:1,day:1,year:e.year});return oi(t)}monthsInYear(){return 12}minimumMonthLength(e){const{month:t}=e;return 2===t?this.inLeapYear(e)?29:28:[4,6,9,11].indexOf(t)>=0?30:31}maximumMonthLength(e){return this.minimumMonthLength(e)}maxLengthOfMonthCodeInAnyYear(e){return[31,29,31,30,31,30,31,31,30,31,30,31][Qo(e)-1]}completeEraYear(e){const t=(t,n,r)=>{const o=e[t];if(null!=o&&o!=n&&!(r||[]).includes(o)){const e=r?.[0];throw new RangeError(`Input ${t} ${o} doesn't match calculated value ${e?`${n} (also called ${e})`:n}`)}},n=t=>{let n;const r={...e,year:t},o=this.eras.find(((e,o)=>{if(o===this.eras.length-1){if(e.reverseOf){if(t>0)throw new RangeError(`Signed year ${t} is invalid for era ${e.code}`);return n=e.anchorEpoch.year-t,!0}return n=t-e.anchorEpoch.year+(e.hasYearZero?0:1),!0}return this.compareCalendarDates(r,e.anchorEpoch)>=0&&(n=t-e.anchorEpoch.year+(e.hasYearZero?0:1),!0)}));if(!o)throw new RangeError(`Year ${t} was not matched by any era`);return{eraYear:n,era:o.code,eraNames:o.names}};let{year:r,eraYear:o,era:i}=e;if(null!=r){const e=n(r);({eraYear:o,era:i}=e),t(\"era\",i,e?.eraNames),t(\"eraYear\",o)}else{if(null==o)throw new RangeError(\"Either year or eraYear and era are required\");{if(void 0===i)throw new RangeError(\"era and eraYear must be provided together\");const e=this.eras.find((({code:e,names:t=[]})=>e===i||t.includes(i)));if(!e)throw new RangeError(`Era ${i} (ISO year ${o}) was not matched by any era`);r=e.reverseOf?e.anchorEpoch.year-o:o+e.anchorEpoch.year-(e.hasYearZero?0:1),t(\"year\",r),({eraYear:o,era:i}=n(r))}}return{...e,year:r,eraYear:o,era:i}}adjustCalendarDate(e,t,n=\"constrain\"){let r=e;const{month:o,monthCode:i}=r;return void 0===o&&(r={...r,month:Qo(i)}),this.validateCalendarDate(r),r=this.completeEraYear(r),super.adjustCalendarDate(r,t,n)}estimateIsoDate(e){const t=this.adjustCalendarDate(e),{year:n,month:r,day:o}=t,{anchorEra:i}=this;return St(n+i.isoEpoch.year-(i.hasYearZero?0:1),r,o,\"constrain\")}}class SameMonthDayAsGregorianBaseHelper extends GregorianBaseHelper{constructor(e,t){super(e,t)}isoToCalendarDate(e){const{year:t,month:n,day:r}=e,o=ei(n),i=t-this.anchorEra.isoEpoch.year+1;return this.completeEraYear({year:i,month:n,monthCode:o,day:r})}}const ii={inLeapYear(e){const{year:t}=e;return(t+1)%4==0},monthsInYear:()=>13,minimumMonthLength(e){const{month:t}=e;return 13===t?this.inLeapYear(e)?6:5:30},maximumMonthLength(e){return this.minimumMonthLength(e)},maxLengthOfMonthCodeInAnyYear:e=>\"M13\"===e?6:30};class OrthodoxBaseHelperFixedEpoch extends GregorianBaseHelperFixedEpoch{constructor(e,t){super(e,t),this.inLeapYear=ii.inLeapYear,this.monthsInYear=ii.monthsInYear,this.minimumMonthLength=ii.minimumMonthLength,this.maximumMonthLength=ii.maximumMonthLength,this.maxLengthOfMonthCodeInAnyYear=ii.maxLengthOfMonthCodeInAnyYear}}class OrthodoxBaseHelper extends GregorianBaseHelper{constructor(e,t){super(e,t),this.inLeapYear=ii.inLeapYear,this.monthsInYear=ii.monthsInYear,this.minimumMonthLength=ii.minimumMonthLength,this.maximumMonthLength=ii.maximumMonthLength,this.maxLengthOfMonthCodeInAnyYear=ii.maxLengthOfMonthCodeInAnyYear}}class EthioaaHelper extends OrthodoxBaseHelperFixedEpoch{constructor(){super(\"ethioaa\",{year:-5492,month:7,day:17})}}class CopticHelper extends OrthodoxBaseHelper{constructor(){super(\"coptic\",[{code:\"coptic\",isoEpoch:{year:284,month:8,day:29}},{code:\"coptic-inverse\",reverseOf:\"coptic\"}])}}class EthiopicHelper extends OrthodoxBaseHelper{constructor(){super(\"ethiopic\",[{code:\"ethioaa\",names:[\"ethiopic-amete-alem\",\"mundi\"],isoEpoch:{year:-5492,month:7,day:17}},{code:\"ethiopic\",names:[\"incar\"],isoEpoch:{year:8,month:8,day:27},anchorEpoch:{year:5501}}])}}class RocHelper extends SameMonthDayAsGregorianBaseHelper{constructor(){super(\"roc\",[{code:\"roc\",names:[\"minguo\"],isoEpoch:{year:1912,month:1,day:1}},{code:\"roc-inverse\",names:[\"before-roc\"],reverseOf:\"roc\"}])}}class BuddhistHelper extends GregorianBaseHelperFixedEpoch{constructor(){super(\"buddhist\",{year:-543,month:1,day:1})}}class GregoryHelper extends SameMonthDayAsGregorianBaseHelper{constructor(){super(\"gregory\",[{code:\"gregory\",names:[\"ad\",\"ce\"],isoEpoch:{year:1,month:1,day:1}},{code:\"gregory-inverse\",names:[\"be\",\"bce\"],reverseOf:\"gregory\"}])}reviseIntlEra(e){let{era:t,eraYear:n}=e;return\"b\"===t&&(t=\"gregory-inverse\"),\"a\"===t&&(t=\"gregory\"),{era:t,eraYear:n}}getFirstDayOfWeek(){return 1}getMinimalDaysInFirstWeek(){return 1}}class JapaneseHelper extends SameMonthDayAsGregorianBaseHelper{constructor(){super(\"japanese\",[{code:\"reiwa\",isoEpoch:{year:2019,month:5,day:1},anchorEpoch:{year:2019,month:5,day:1}},{code:\"heisei\",isoEpoch:{year:1989,month:1,day:8},anchorEpoch:{year:1989,month:1,day:8}},{code:\"showa\",isoEpoch:{year:1926,month:12,day:25},anchorEpoch:{year:1926,month:12,day:25}},{code:\"taisho\",isoEpoch:{year:1912,month:7,day:30},anchorEpoch:{year:1912,month:7,day:30}},{code:\"meiji\",isoEpoch:{year:1868,month:9,day:8},anchorEpoch:{year:1868,month:9,day:8}},{code:\"japanese\",names:[\"japanese\",\"gregory\",\"ad\",\"ce\"],isoEpoch:{year:1,month:1,day:1}},{code:\"japanese-inverse\",names:[\"japanese-inverse\",\"gregory-inverse\",\"bc\",\"bce\"],reverseOf:\"japanese\"}]),this.erasBeginMidYear=!0}reviseIntlEra(e,t){const{era:n,eraYear:r}=e,{year:o}=t;return this.eras.find((e=>e.code===n))?{era:n,eraYear:r}:o<1?{era:\"japanese-inverse\",eraYear:1-o}:{era:\"japanese\",eraYear:o}}}class ChineseBaseHelper extends HelperBase{constructor(){super(...arguments),this.calendarType=\"lunisolar\"}inLeapYear(e,t){const n=this.getMonthList(e.year,t);return 13===Object.entries(n).length}monthsInYear(e,t){return this.inLeapYear(e,t)?13:12}minimumMonthLength(){return 29}maximumMonthLength(){return 30}maxLengthOfMonthCodeInAnyYear(e){return[\"M01L\",\"M09L\",\"M10L\",\"M11L\",\"M12L\"].includes(e)?29:30}monthDaySearchStartYear(e,t){const n={M01L:[1651,1651],M02L:[1947,1765],M03L:[1966,1955],M04L:[1963,1944],M05L:[1971,1952],M06L:[1960,1941],M07L:[1968,1938],M08L:[1957,1718],M09L:[1832,1832],M10L:[1870,1870],M11L:[1814,1814],M12L:[1890,1890]}[e]??[1972,1972];return t<30?n[0]:n[1]}getMonthList(e,t){if(void 0===e)throw new TypeError(\"Missing year\");const n=JSON.stringify({func:\"getMonthList\",calendarYear:e,id:this.id}),r=t.get(n);if(r)return r;const o=this.getFormatter(),i=(e,t)=>{const n=ni({isoYear:e,isoMonth:2,isoDay:1}),r=new Date(n);r.setUTCDate(t+1);const i=o.formatToParts(r),a=i.find((e=>\"month\"===e.type)).value,s=+i.find((e=>\"day\"===e.type)).value,c=i.find((e=>\"relatedYear\"===e.type));let d;if(void 0===c)throw new RangeError(`Intl.DateTimeFormat.formatToParts lacks relatedYear in ${this.id} calendar. Try Node 14+ or modern browsers.`);return d=+c.value,{calendarMonthString:a,calendarDay:s,calendarYearToVerify:d}};let a=17,{calendarMonthString:s,calendarDay:c,calendarYearToVerify:d}=i(e,a);\"1\"!==s&&(a+=29,({calendarMonthString:s,calendarDay:c}=i(e,a))),a-=c-5;const h={};let u,l,m=1,f=!1;do{({calendarMonthString:s,calendarDay:c,calendarYearToVerify:d}=i(e,a)),u&&(h[l].daysInMonth=u+30-c),d!==e?f=!0:(h[s]={monthIndex:m++},a+=30),u=c,l=s}while(!f);return h[l].daysInMonth=u+30-c,t.set(n,h),h}estimateIsoDate(e){const{year:t,month:n}=e;return{year:t,month:n>=12?12:n+1,day:1}}adjustCalendarDate(e,t,n=\"constrain\",r=!1){let{year:o,month:i,monthExtra:a,day:s,monthCode:c}=e;if(void 0===o)throw new TypeError(\"Missing property: year\");if(r){if(a&&\"bis\"!==a)throw new RangeError(`Unexpected leap month suffix: ${a}`);const e=ei(i,void 0!==a),n=`${i}${a||\"\"}`,r=this.getMonthList(o,t)[n];if(void 0===r)throw new RangeError(`Unmatched month ${n} in Chinese year ${o}`);return i=r.monthIndex,{year:o,month:i,day:s,monthCode:e}}if(this.validateCalendarDate(e),void 0===i){const e=this.getMonthList(o,t);let r=c.replace(/^M|L$/g,(e=>\"L\"===e?\"bis\":\"\"));\"0\"===r[0]&&(r=r.slice(1));let a=e[r];if(i=a&&a.monthIndex,void 0===i&&c.endsWith(\"L\")&&\"M13L\"!=c&&\"constrain\"===n){const t=+c.replace(/^M0?|L$/g,\"\");a=e[t],a&&(i=a.monthIndex,c=ei(t))}if(void 0===i)throw new RangeError(`Unmatched month ${c} in Chinese year ${o}`)}else if(void 0===c){const e=this.getMonthList(o,t),r=Object.entries(e),a=r.length;\"reject\"===n?(Nr(i,1,a),Nr(s,1,this.maximumMonthLength())):(i=jr(i,1,a),s=jr(s,1,this.maximumMonthLength()));const d=r.find((e=>e[1].monthIndex===i));if(void 0===d)throw new RangeError(`Invalid month ${i} in Chinese year ${o}`);c=ei(+d[0].replace(\"bis\",\"\"),-1!==d[0].indexOf(\"bis\"))}else{const e=this.getMonthList(o,t);let n=c.replace(/^M|L$/g,(e=>\"L\"===e?\"bis\":\"\"));\"0\"===n[0]&&(n=n.slice(1));const r=e[n];if(!r)throw new RangeError(`Unmatched monthCode ${c} in Chinese year ${o}`);if(i!==r.monthIndex)throw new RangeError(`monthCode ${c} doesn't correspond to month ${i} in Chinese year ${o}`)}return{...e,year:o,month:i,monthCode:c,day:s}}}class ChineseHelper extends ChineseBaseHelper{constructor(){super(...arguments),this.id=\"chinese\"}}class DangiHelper extends ChineseBaseHelper{constructor(){super(...arguments),this.id=\"dangi\"}}class NonIsoCalendar{constructor(e){this.helper=e}extraFields(e){return this.helper.hasEra&&e.includes(\"year\")?[\"era\",\"eraYear\"]:[]}resolveFields(e){if(\"lunisolar\"!==this.helper.calendarType){const t=new OneObjectCache;ti(e,void 0,this.helper.monthsInYear({year:e.year??1972},t))}}dateToISO(e,t){const n=new OneObjectCache,r=this.helper.calendarToIsoDate(e,t,n);return n.setObject(r),r}monthDayToISOReferenceDate(e,t){const n=new OneObjectCache,r=this.helper.monthDayFromFields(e,t,n);return n.setObject(r),r}fieldKeysToIgnore(e){const t=new Set;for(let n=0;n<e.length;n++){const r=e[n];switch(t.add(r),r){case\"era\":t.add(\"eraYear\"),t.add(\"year\");break;case\"eraYear\":t.add(\"era\"),t.add(\"year\");break;case\"year\":t.add(\"era\"),t.add(\"eraYear\");break;case\"month\":t.add(\"monthCode\"),this.helper.erasBeginMidYear&&(t.add(\"era\"),t.add(\"eraYear\"));break;case\"monthCode\":t.add(\"month\"),this.helper.erasBeginMidYear&&(t.add(\"era\"),t.add(\"eraYear\"));break;case\"day\":this.helper.erasBeginMidYear&&(t.add(\"era\"),t.add(\"eraYear\"))}}return Go(t)}dateAdd(e,{years:t,months:n,weeks:r,days:o},i){const a=OneObjectCache.getCacheForObject(e),s=this.helper.isoToCalendarDate(e,a),c=this.helper.addCalendar(s,{years:t,months:n,weeks:r,days:o},i,a),d=this.helper.calendarToIsoDate(c,\"constrain\",a);return OneObjectCache.getCacheForObject(d)||new OneObjectCache(a).setObject(d),d}dateUntil(e,t,n){const r=OneObjectCache.getCacheForObject(e),o=OneObjectCache.getCacheForObject(t),i=this.helper.isoToCalendarDate(e,r),a=this.helper.isoToCalendarDate(t,o);return this.helper.untilCalendar(i,a,n,r)}isoToDate(e,t){const n=OneObjectCache.getCacheForObject(e),r=this.helper.isoToCalendarDate(e,n);if(t.dayOfWeek&&(r.dayOfWeek=Xo.iso8601.isoToDate(e,{dayOfWeek:!0}).dayOfWeek),t.dayOfYear){const e=this.helper.startOfCalendarYear(r),t=this.helper.calendarDaysUntil(e,r,n);r.dayOfYear=t+1}if(t.weekOfYear&&(r.weekOfYear=Ko(this.helper.id,e)),r.daysInWeek=7,t.daysInMonth&&(r.daysInMonth=this.helper.daysInMonth(r,n)),t.daysInYear){const e=this.helper.startOfCalendarYear(r),t=this.helper.addCalendar(e,{years:1},\"constrain\",n);r.daysInYear=this.helper.calendarDaysUntil(e,t,n)}return t.monthsInYear&&(r.monthsInYear=this.helper.monthsInYear(r,n)),t.inLeapYear&&(r.inLeapYear=this.helper.inLeapYear(r,n)),r}getFirstDayOfWeek(){return this.helper.getFirstDayOfWeek()}getMinimalDaysInFirstWeek(){return this.helper.getMinimalDaysInFirstWeek()}}for(const e of[HebrewHelper,PersianHelper,EthiopicHelper,EthioaaHelper,CopticHelper,ChineseHelper,DangiHelper,RocHelper,IndianHelper,BuddhistHelper,GregoryHelper,JapaneseHelper,IslamicHelper,IslamicUmalquraHelper,IslamicTblaHelper,IslamicCivilHelper,IslamicRgsaHelper,IslamicCcHelper]){const t=new e;Xo[t.id]=new NonIsoCalendar(t)}se(\"calendarImpl\",(function(e){return Xo[e]}));const ai=Intl.DateTimeFormat;function si(e,t){let n=re(e,t);return\"function\"==typeof n&&(n=new ai(re(e,G),n(re(e,K))),function(e,t,n){const r=Q(e);if(void 0===r)throw new TypeError(\"Missing slots for the given container\");if(void 0===r[t])throw new TypeError(`tried to reset ${t} which was not set`);r[t]=n}(e,t,n)),n}function ci(e){return ne(e,q)}class DateTimeFormatImpl{constructor(e=void 0,t=void 0){!function(e,t,n){const r=void 0!==n;let o;if(r){const e=[\"localeMatcher\",\"calendar\",\"numberingSystem\",\"hour12\",\"hourCycle\",\"timeZone\",\"weekday\",\"era\",\"year\",\"month\",\"day\",\"dayPeriod\",\"hour\",\"minute\",\"second\",\"fractionalSecondDigits\",\"timeZoneName\",\"formatMatcher\",\"dateStyle\",\"timeStyle\"];o=function(e){if(null==e)throw new TypeError(`Expected object not ${e}`);return Object(e)}(n);const t=Object.create(null);for(let n=0;n<e.length;n++){const r=e[n];Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])}o=t}else o=Object.create(null);const i=new ai(t,o),a=i.resolvedOptions();if(te(e),r){const t=Object.assign(Object.create(null),a);for(const e in t)Object.prototype.hasOwnProperty.call(o,e)||delete t[e];t.hour12=o.hour12,t.hourCycle=o.hourCycle,oe(e,K,t)}else oe(e,K,o);oe(e,G,a.locale),oe(e,q,i),oe(e,W,a.timeZone),oe(e,J,a.calendar),oe(e,B,vi),oe(e,Z,gi),oe(e,F,wi),oe(e,H,pi),oe(e,z,bi),oe(e,A,Di);const s=r?o.timeZone:void 0;if(void 0===s)oe(e,_,a.timeZone);else{const t=We(s);if(t.startsWith(\"−\"))throw new RangeError(\"Unicode minus (U+2212) is not supported in time zone offsets\");oe(e,_,Bn(t))}}(this,e,t)}get format(){vt(this,ci);const e=ui.bind(this);return Object.defineProperties(e,{length:{value:1,enumerable:!1,writable:!1,configurable:!0},name:{value:\"\",enumerable:!1,writable:!1,configurable:!0}}),e}formatRange(e,t){return vt(this,ci),mi.call(this,e,t)}formatToParts(e,...t){return vt(this,ci),li.call(this,e,...t)}formatRangeToParts(e,t){return vt(this,ci),fi.call(this,e,t)}resolvedOptions(){return vt(this,ci),hi.call(this)}}\"formatToParts\"in ai.prototype||delete DateTimeFormatImpl.prototype.formatToParts,\"formatRangeToParts\"in ai.prototype||delete DateTimeFormatImpl.prototype.formatRangeToParts;const di=function(e=void 0,t=void 0){return new DateTimeFormatImpl(e,t)};function hi(){const e=re(this,q).resolvedOptions();return e.timeZone=re(this,_),e}function ui(e,...t){let n,r,o=$i(e,this);return o.formatter?(n=o.formatter,r=[No(o.epochNs,\"floor\")]):(n=re(this,q),r=[e,...t]),n.format(...r)}function li(e,...t){let n,r,o=$i(e,this);return o.formatter?(n=o.formatter,r=[No(o.epochNs,\"floor\")]):(n=re(this,q),r=[e,...t]),n.formatToParts(...r)}function mi(e,t){if(void 0===e||void 0===t)throw new TypeError(\"Intl.DateTimeFormat.formatRange requires two values\");const n=Ci(e),r=Ci(t);let o,i=[n,r];if(Ii(n)!==Ii(r))throw new TypeError(\"Intl.DateTimeFormat.formatRange accepts two values of the same type\");if(Ii(n)){if(!Oi(n,r))throw new TypeError(\"Intl.DateTimeFormat.formatRange accepts two values of the same type\");const{epochNs:e,formatter:t}=$i(n,this),{epochNs:a,formatter:s}=$i(r,this);t&&(o=t,i=[No(e,\"floor\"),No(a,\"floor\")])}return o||(o=re(this,q)),o.formatRange(...i)}function fi(e,t){if(void 0===e||void 0===t)throw new TypeError(\"Intl.DateTimeFormat.formatRange requires two values\");const n=Ci(e),r=Ci(t);let o,i=[n,r];if(Ii(n)!==Ii(r))throw new TypeError(\"Intl.DateTimeFormat.formatRangeToParts accepts two values of the same type\");if(Ii(n)){if(!Oi(n,r))throw new TypeError(\"Intl.DateTimeFormat.formatRangeToParts accepts two values of the same type\");const{epochNs:e,formatter:t}=$i(n,this),{epochNs:a,formatter:s}=$i(r,this);t&&(o=t,i=[No(e,\"floor\"),No(a,\"floor\")])}return o||(o=re(this,q)),o.formatRangeToParts(...i)}function yi(e={},t={}){const n=Object.assign({},e),r=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"weekday\",\"dayPeriod\",\"timeZoneName\",\"dateStyle\",\"timeStyle\"];for(let e=0;e<r.length;e++){const o=r[e];n[o]=o in t?t[o]:n[o],!1!==n[o]&&void 0!==n[o]||delete n[o]}return n}function pi(e){const t=yi(e,{year:!1,month:!1,day:!1,weekday:!1,timeZoneName:!1,dateStyle:!1});if(\"long\"!==t.timeStyle&&\"full\"!==t.timeStyle||(delete t.timeStyle,Object.assign(t,{hour:\"numeric\",minute:\"2-digit\",second:\"2-digit\"})),!Mi(t)){if(Ei(e))throw new TypeError(`cannot format Temporal.PlainTime with options [${Object.keys(e)}]`);Object.assign(t,{hour:\"numeric\",minute:\"numeric\",second:\"numeric\"})}return t}function gi(e){const t={short:{year:\"2-digit\",month:\"numeric\"},medium:{year:\"numeric\",month:\"short\"},long:{year:\"numeric\",month:\"long\"},full:{year:\"numeric\",month:\"long\"}},n=yi(e,{day:!1,hour:!1,minute:!1,second:!1,weekday:!1,dayPeriod:!1,timeZoneName:!1,timeStyle:!1});if(\"dateStyle\"in n&&n.dateStyle){const e=n.dateStyle;delete n.dateStyle,Object.assign(n,t[e])}if(!(\"year\"in n||\"month\"in n||\"era\"in n)){if(Ei(e))throw new TypeError(`cannot format PlainYearMonth with options [${Object.keys(e)}]`);Object.assign(n,{year:\"numeric\",month:\"numeric\"})}return n}function wi(e){const t={short:{month:\"numeric\",day:\"numeric\"},medium:{month:\"short\",day:\"numeric\"},long:{month:\"long\",day:\"numeric\"},full:{month:\"long\",day:\"numeric\"}},n=yi(e,{year:!1,hour:!1,minute:!1,second:!1,weekday:!1,dayPeriod:!1,timeZoneName:!1,timeStyle:!1});if(\"dateStyle\"in n&&n.dateStyle){const e=n.dateStyle;delete n.dateStyle,Object.assign(n,t[e])}if(!(\"month\"in n)&&!(\"day\"in n)){if(Ei(e))throw new TypeError(`cannot format PlainMonthDay with options [${Object.keys(e)}]`);Object.assign(n,{month:\"numeric\",day:\"numeric\"})}return n}function vi(e){const t=yi(e,{hour:!1,minute:!1,second:!1,dayPeriod:!1,timeZoneName:!1,timeStyle:!1});if(!Ti(t)){if(Ei(e))throw new TypeError(`cannot format PlainDate with options [${Object.keys(e)}]`);Object.assign(t,{year:\"numeric\",month:\"numeric\",day:\"numeric\"})}return t}function bi(e){const t=yi(e,{timeZoneName:!1});if((\"long\"===t.timeStyle||\"full\"===t.timeStyle)&&(delete t.timeStyle,Object.assign(t,{hour:\"numeric\",minute:\"2-digit\",second:\"2-digit\"}),t.dateStyle)){const e={short:{year:\"numeric\",month:\"numeric\",day:\"numeric\"},medium:{year:\"numeric\",month:\"short\",day:\"numeric\"},long:{year:\"numeric\",month:\"long\",day:\"numeric\"},full:{year:\"numeric\",month:\"long\",day:\"numeric\",weekday:\"long\"}};Object.assign(t,e[t.dateStyle]),delete t.dateStyle}if(!Mi(t)&&!Ti(t)){if(Ei(e))throw new TypeError(`cannot format PlainDateTime with options [${Object.keys(e)}]`);Object.assign(t,{year:\"numeric\",month:\"numeric\",day:\"numeric\",hour:\"numeric\",minute:\"numeric\",second:\"numeric\"})}return t}function Di(e){let t=e;return Mi(t)||Ti(t)||(t=Object.assign({},t,{year:\"numeric\",month:\"numeric\",day:\"numeric\",hour:\"numeric\",minute:\"numeric\",second:\"numeric\"})),t}function Ti(e){return\"year\"in e||\"month\"in e||\"day\"in e||\"weekday\"in e||\"dateStyle\"in e||\"era\"in e}function Mi(e){return\"hour\"in e||\"minute\"in e||\"second\"in e||\"timeStyle\"in e||\"dayPeriod\"in e||\"fractionalSecondDigits\"in e}function Ei(e){return Ti(e)||Mi(e)||\"dateStyle\"in e||\"timeStyle\"in e||\"timeZoneName\"in e}function Ii(e){return mt(e)||ft(e)||yt(e)||wt(e)||pt(e)||gt(e)||ut(e)}function Ci(e){return Ii(e)?e:qe(e)}function Oi(e,t){return!(!Ii(e)||!Ii(t)||ft(e)&&!ft(t)||mt(e)&&!mt(t)||yt(e)&&!yt(t)||wt(e)&&!wt(t)||pt(e)&&!pt(t)||gt(e)&&!gt(t)||ut(e)&&!ut(t))}function $i(e,t){if(ft(e)){const n={isoDate:{year:1970,month:1,day:1},time:re(e,M)};return{epochNs:An(re(t,W),n,\"compatible\"),formatter:si(t,H)}}if(pt(e)){const n=re(e,E),r=re(t,J);if(n!==r)throw new RangeError(`cannot format PlainYearMonth with calendar ${n} in locale with calendar ${r}`);const o=xt(re(e,D),{deltaDays:0,hour:12,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0});return{epochNs:An(re(t,W),o,\"compatible\"),formatter:si(t,Z)}}if(gt(e)){const n=re(e,E),r=re(t,J);if(n!==r)throw new RangeError(`cannot format PlainMonthDay with calendar ${n} in locale with calendar ${r}`);const o=xt(re(e,D),{deltaDays:0,hour:12,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0});return{epochNs:An(re(t,W),o,\"compatible\"),formatter:si(t,F)}}if(mt(e)){const n=re(e,E),r=re(t,J);if(\"iso8601\"!==n&&n!==r)throw new RangeError(`cannot format PlainDate with calendar ${n} in locale with calendar ${r}`);const o=xt(re(e,D),{deltaDays:0,hour:12,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0});return{epochNs:An(re(t,W),o,\"compatible\"),formatter:si(t,B)}}if(yt(e)){const n=re(e,E),r=re(t,J);if(\"iso8601\"!==n&&n!==r)throw new RangeError(`cannot format PlainDateTime with calendar ${n} in locale with calendar ${r}`);const o=re(e,T);return{epochNs:An(re(t,W),o,\"compatible\"),formatter:si(t,z)}}if(wt(e))throw new TypeError(\"Temporal.ZonedDateTime not supported in DateTimeFormat methods. Use toLocaleString() instead.\");return ut(e)?{epochNs:re(e,b),formatter:si(t,A)}:{}}function Yi(e){const t=Object.create(null);return t.years=re(e,Y),t.months=re(e,R),t.weeks=re(e,S),t.days=re(e,j),t.hours=re(e,k),t.minutes=re(e,N),t.seconds=re(e,x),t.milliseconds=re(e,L),t.microseconds=re(e,P),t.nanoseconds=re(e,U),t}DateTimeFormatImpl.prototype.constructor=di,Object.defineProperty(di,\"prototype\",{value:DateTimeFormatImpl.prototype,writable:!1,enumerable:!1,configurable:!1}),di.supportedLocalesOf=ai.supportedLocalesOf,ae(di,\"Intl.DateTimeFormat\");const{format:Ri,formatToParts:Si}=Intl.DurationFormat?.prototype??Object.create(null);function ji(e){Intl.DurationFormat.prototype.resolvedOptions.call(this);const t=Yi(sn(e));return Ri.call(this,t)}Intl.DurationFormat?.prototype&&(Intl.DurationFormat.prototype.format=ji,Intl.DurationFormat.prototype.formatToParts=function(e){Intl.DurationFormat.prototype.resolvedOptions.call(this);const t=Yi(sn(e));return Si.call(this,t)});var ki=Object.freeze({__proto__:null,DateTimeFormat:di,ModifiedIntlDurationFormatPrototypeFormat:ji});class Instant{constructor(e){if(arguments.length<1)throw new TypeError(\"missing argument: epochNanoseconds is required\");In(this,Lo(e))}get epochMilliseconds(){return vt(this,ut),No(re(this,b),\"floor\")}get epochNanoseconds(){return vt(this,ut),ko(e.BigInt(re(this,b)))}add(e){return vt(this,ut),wo(\"add\",this,e)}subtract(e){return vt(this,ut),wo(\"subtract\",this,e)}until(e,t=void 0){return vt(this,ut),so(\"until\",this,e,t)}since(e,t=void 0){return vt(this,ut),so(\"since\",this,e,t)}round(e){if(vt(this,ut),void 0===e)throw new TypeError(\"options parameter is required\");const t=\"string\"==typeof e?Fo(\"smallestUnit\",e):Zo(e),n=Ft(t),r=Ut(t,\"halfExpand\"),o=Wt(t,\"smallestUnit\",\"time\",qt);return Ht(n,{hour:24,minute:1440,second:86400,millisecond:864e5,microsecond:864e8,nanosecond:864e11}[o],!0),Cn(Io(re(this,b),n,o,r))}equals(t){vt(this,ut);const n=cn(t),r=re(this,b),o=re(n,b);return e.equal(e.BigInt(r),e.BigInt(o))}toString(e=void 0){vt(this,ut);const t=Zo(e),n=zt(t),r=Ut(t,\"trunc\"),o=Wt(t,\"smallestUnit\",\"time\",void 0);if(\"hour\"===o)throw new RangeError('smallestUnit must be a time unit other than \"hour\"');let i=t.timeZone;void 0!==i&&(i=Bn(i));const{precision:a,unit:s,increment:c}=At(o,n);return Xn(Cn(Io(re(this,b),c,s,r)),i,a)}toJSON(){return vt(this,ut),Xn(this,void 0,\"auto\")}toLocaleString(e=void 0,t=void 0){return vt(this,ut),new di(e,t).format(this)}valueOf(){qo(\"Instant\")}toZonedDateTimeISO(e){vt(this,ut);const t=Bn(e);return $n(re(this,b),t,\"iso8601\")}static fromEpochMilliseconds(e){return Cn(xo(qe(e)))}static fromEpochNanoseconds(e){return Cn(Lo(e))}static from(e){return cn(e)}static compare(t,n){const r=cn(t),o=cn(n),i=re(r,b),a=re(o,b);return e.lessThan(i,a)?-1:e.greaterThan(i,a)?1:0}}ae(Instant,\"Temporal.Instant\");class PlainDate{constructor(e,t,n,r=\"iso8601\"){const o=_e(e),i=_e(t),a=_e(n),s=zo(void 0===r?\"iso8601\":Ve(r));xr(o,i,a),yn(this,{year:o,month:i,day:a},s)}get calendarId(){return vt(this,mt),re(this,E)}get era(){return Ni(this,\"era\")}get eraYear(){return Ni(this,\"eraYear\")}get year(){return Ni(this,\"year\")}get month(){return Ni(this,\"month\")}get monthCode(){return Ni(this,\"monthCode\")}get day(){return Ni(this,\"day\")}get dayOfWeek(){return Ni(this,\"dayOfWeek\")}get dayOfYear(){return Ni(this,\"dayOfYear\")}get weekOfYear(){return Ni(this,\"weekOfYear\")?.week}get yearOfWeek(){return Ni(this,\"weekOfYear\")?.year}get daysInWeek(){return Ni(this,\"daysInWeek\")}get daysInMonth(){return Ni(this,\"daysInMonth\")}get daysInYear(){return Ni(this,\"daysInYear\")}get monthsInYear(){return Ni(this,\"monthsInYear\")}get inLeapYear(){return Ni(this,\"inLeapYear\")}with(e,t=void 0){if(vt(this,mt),!Ae(e))throw new TypeError(\"invalid argument\");bt(e);const n=re(this,E);let r=en(n,re(this,D));return r=Rn(n,r,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[],\"partial\")),pn(Ln(n,r,Lt(Zo(t))),n)}withCalendar(e){vt(this,mt);const t=kn(e);return pn(re(this,D),t)}add(e,t=void 0){return vt(this,mt),vo(\"add\",this,e,t)}subtract(e,t=void 0){return vt(this,mt),vo(\"subtract\",this,e,t)}until(e,t=void 0){return vt(this,mt),co(\"until\",this,e,t)}since(e,t=void 0){return vt(this,mt),co(\"since\",this,e,t)}equals(e){vt(this,mt);const t=rn(e);return 0===Ro(re(this,D),re(t,D))&&xn(re(this,E),re(t,E))}toString(e=void 0){return vt(this,mt),er(this,Zt(Zo(e)))}toJSON(){return vt(this,mt),er(this)}toLocaleString(e=void 0,t=void 0){return vt(this,mt),new di(e,t).format(this)}valueOf(){qo(\"PlainDate\")}toPlainDateTime(e=void 0){vt(this,mt);const t=un(e);return wn(xt(re(this,D),t),re(this,E))}toZonedDateTime(e){let t,n;if(vt(this,mt),Ae(e)){const r=e.timeZone;void 0===r?t=Bn(e):(t=Bn(r),n=e.plainTime)}else t=Bn(e);const r=re(this,D);let o;return void 0===n?o=_n(t,r):(n=hn(n),o=An(t,xt(r,re(n,M)),\"compatible\")),$n(o,t,re(this,E))}toPlainYearMonth(){vt(this,mt);const e=re(this,E);return En(Pn(e,en(e,re(this,D)),\"constrain\"),e)}toPlainMonthDay(){vt(this,mt);const e=re(this,E);return bn(Un(e,en(e,re(this,D)),\"constrain\"),e)}static from(e,t=void 0){return rn(e,t)}static compare(e,t){const n=rn(e),r=rn(t);return Ro(re(n,D),re(r,D))}}function Ni(e,t){vt(e,mt);const n=re(e,D);return Qt(e).isoToDate(n,{[t]:!0})[t]}ae(PlainDate,\"Temporal.PlainDate\");class PlainDateTime{constructor(e,t,n,r=0,o=0,i=0,a=0,s=0,c=0,d=\"iso8601\"){const h=_e(e),u=_e(t),l=_e(n),m=void 0===r?0:_e(r),f=void 0===o?0:_e(o),y=void 0===i?0:_e(i),p=void 0===a?0:_e(a),g=void 0===s?0:_e(s),w=void 0===c?0:_e(c),v=zo(void 0===d?\"iso8601\":Ve(d));Ur(h,u,l,m,f,y,p,g,w),gn(this,{isoDate:{year:h,month:u,day:l},time:{hour:m,minute:f,second:y,millisecond:p,microsecond:g,nanosecond:w}},v)}get calendarId(){return vt(this,yt),re(this,E)}get year(){return xi(this,\"year\")}get month(){return xi(this,\"month\")}get monthCode(){return xi(this,\"monthCode\")}get day(){return xi(this,\"day\")}get hour(){return Li(this,\"hour\")}get minute(){return Li(this,\"minute\")}get second(){return Li(this,\"second\")}get millisecond(){return Li(this,\"millisecond\")}get microsecond(){return Li(this,\"microsecond\")}get nanosecond(){return Li(this,\"nanosecond\")}get era(){return xi(this,\"era\")}get eraYear(){return xi(this,\"eraYear\")}get dayOfWeek(){return xi(this,\"dayOfWeek\")}get dayOfYear(){return xi(this,\"dayOfYear\")}get weekOfYear(){return xi(this,\"weekOfYear\")?.week}get yearOfWeek(){return xi(this,\"weekOfYear\")?.year}get daysInWeek(){return xi(this,\"daysInWeek\")}get daysInYear(){return xi(this,\"daysInYear\")}get daysInMonth(){return xi(this,\"daysInMonth\")}get monthsInYear(){return xi(this,\"monthsInYear\")}get inLeapYear(){return xi(this,\"inLeapYear\")}with(e,t=void 0){if(vt(this,yt),!Ae(e))throw new TypeError(\"invalid argument\");bt(e);const n=re(this,E),r=re(this,T);let o={...en(n,r.isoDate),...r.time};return o=Rn(n,o,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\"],\"partial\")),wn(on(n,o,Lt(Zo(t))),n)}withPlainTime(e=void 0){vt(this,yt);const t=un(e);return wn(xt(re(this,T).isoDate,t),re(this,E))}withCalendar(e){vt(this,yt);const t=kn(e);return wn(re(this,T),t)}add(e,t=void 0){return vt(this,yt),bo(\"add\",this,e,t)}subtract(e,t=void 0){return vt(this,yt),bo(\"subtract\",this,e,t)}until(e,t=void 0){return vt(this,yt),ho(\"until\",this,e,t)}since(e,t=void 0){return vt(this,yt),ho(\"since\",this,e,t)}round(e){if(vt(this,yt),void 0===e)throw new TypeError(\"options parameter is required\");const t=\"string\"==typeof e?Fo(\"smallestUnit\",e):Zo(e),n=Ft(t),r=Ut(t,\"halfExpand\"),o=Wt(t,\"smallestUnit\",\"time\",qt,[\"day\"]),i={day:1,hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[o];Ht(n,i,1===i);const a=re(this,T);return wn(1===n&&\"nanosecond\"===o?a:Co(a,n,o,r),re(this,E))}equals(e){vt(this,yt);const t=an(e);return 0===jo(re(this,T),re(t,T))&&xn(re(this,E),re(t,E))}toString(e=void 0){vt(this,yt);const t=Zo(e),n=Zt(t),r=zt(t),o=Ut(t,\"trunc\"),i=Wt(t,\"smallestUnit\",\"time\",void 0);if(\"hour\"===i)throw new RangeError('smallestUnit must be a time unit other than \"hour\"');const{precision:a,unit:s,increment:c}=At(i,r),d=Co(re(this,T),c,s,o);return Br(d),nr(d,re(this,E),a,n)}toJSON(){return vt(this,yt),nr(re(this,T),re(this,E),\"auto\")}toLocaleString(e=void 0,t=void 0){return vt(this,yt),new di(e,t).format(this)}valueOf(){qo(\"PlainDateTime\")}toZonedDateTime(e,t=void 0){vt(this,yt);const n=Bn(e),r=Pt(Zo(t));return $n(An(n,re(this,T),r),n,re(this,E))}toPlainDate(){return vt(this,yt),pn(re(this,T).isoDate,re(this,E))}toPlainTime(){return vt(this,yt),Tn(re(this,T).time)}static from(e,t=void 0){return an(e,t)}static compare(e,t){const n=an(e),r=an(t);return jo(re(n,T),re(r,T))}}function xi(e,t){vt(e,yt);const n=re(e,T).isoDate;return Qt(e).isoToDate(n,{[t]:!0})[t]}function Li(e,t){return vt(e,yt),re(e,T).time[t]}ae(PlainDateTime,\"Temporal.PlainDateTime\");class Duration{constructor(e=0,t=0,n=0,r=0,o=0,i=0,a=0,s=0,c=0,d=0){const h=void 0===e?0:Ge(e),u=void 0===t?0:Ge(t),l=void 0===n?0:Ge(n),m=void 0===r?0:Ge(r),f=void 0===o?0:Ge(o),y=void 0===i?0:Ge(i),p=void 0===a?0:Ge(a),g=void 0===s?0:Ge(s),w=void 0===c?0:Ge(c),v=void 0===d?0:Ge(d);zr(h,u,l,m,f,y,p,g,w,v),te(this),oe(this,Y,h),oe(this,R,u),oe(this,S,l),oe(this,j,m),oe(this,k,f),oe(this,N,y),oe(this,x,p),oe(this,L,g),oe(this,P,w),oe(this,U,v)}get years(){return vt(this,lt),re(this,Y)}get months(){return vt(this,lt),re(this,R)}get weeks(){return vt(this,lt),re(this,S)}get days(){return vt(this,lt),re(this,j)}get hours(){return vt(this,lt),re(this,k)}get minutes(){return vt(this,lt),re(this,N)}get seconds(){return vt(this,lt),re(this,x)}get milliseconds(){return vt(this,lt),re(this,L)}get microseconds(){return vt(this,lt),re(this,P)}get nanoseconds(){return vt(this,lt),re(this,U)}get sign(){return vt(this,lt),Mr(this)}get blank(){return vt(this,lt),0===Mr(this)}with(e){vt(this,lt);const t=kt(e),{years:n=re(this,Y),months:r=re(this,R),weeks:o=re(this,S),days:i=re(this,j),hours:a=re(this,k),minutes:s=re(this,N),seconds:c=re(this,x),milliseconds:d=re(this,L),microseconds:h=re(this,P),nanoseconds:u=re(this,U)}=t;return new Duration(n,r,o,i,a,s,c,d,h,u)}negated(){return vt(this,lt),Sr(this)}abs(){return vt(this,lt),new Duration(Math.abs(re(this,Y)),Math.abs(re(this,R)),Math.abs(re(this,S)),Math.abs(re(this,j)),Math.abs(re(this,k)),Math.abs(re(this,N)),Math.abs(re(this,x)),Math.abs(re(this,L)),Math.abs(re(this,P)),Math.abs(re(this,U)))}add(e){return vt(this,lt),go(\"add\",this,e)}subtract(e){return vt(this,lt),go(\"subtract\",this,e)}round(e){if(vt(this,lt),void 0===e)throw new TypeError(\"options parameter is required\");const t=Jt(this),n=\"string\"==typeof e?Fo(\"smallestUnit\",e):Zo(e);let r=Wt(n,\"largestUnit\",\"datetime\",void 0,[\"auto\"]),{plainRelativeTo:o,zonedRelativeTo:i}=_t(n);const a=Ft(n),s=Ut(n,\"halfExpand\");let c=Wt(n,\"smallestUnit\",\"datetime\",void 0),d=!0;c||(d=!1,c=\"nanosecond\");const h=Gt(t,c);let u=!0;if(r||(u=!1,r=h),\"auto\"===r&&(r=h),!d&&!u)throw new RangeError(\"at least one of smallestUnit or largestUnit is required\");if(Gt(r,c)!==r)throw new RangeError(`largestUnit ${r} cannot be smaller than smallestUnit ${c}`);const l={hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[c];if(void 0!==l&&Ht(a,l,!1),a>1&&\"date\"===Vt(c)&&r!==c)throw new RangeError(\"For calendar units with roundingIncrement > 1, use largestUnit = smallestUnit\");if(i){let e=Ar(this);const t=re(i,$),n=re(i,E),o=re(i,b);return e=io(o,po(o,t,n,e),t,n,r,a,c,s),\"date\"===Vt(r)&&(r=\"hour\"),_r(e,r)}if(o){let e=qr(this);const t=fo({deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0},e.time),n=re(o,D),i=re(o,E),d=Sn(i,n,Nt(e.date,t.deltaDays),\"constrain\");return e=oo(xt(n,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}),xt(d,t),i,r,a,c,s),_r(e,r)}if(Kt(t))throw new RangeError(`a starting point is required for ${t}s balancing`);if(Kt(r))throw new RangeError(`a starting point is required for ${r}s balancing`);let m=qr(this);if(\"day\"===c){const{quotient:e,remainder:t}=m.time.divmod(Se);let n=m.date.days+e+Yo(t,\"day\");n=Eo(n,a,s),m=Jr({years:0,months:0,weeks:0,days:n},TimeDuration.ZERO)}else m=Jr({years:0,months:0,weeks:0,days:0},$o(m.time,a,c,s));return _r(m,r)}total(t){if(vt(this,lt),void 0===t)throw new TypeError(\"options argument is required\");const n=\"string\"==typeof t?Fo(\"unit\",t):Zo(t);let{plainRelativeTo:r,zonedRelativeTo:o}=_t(n);const i=Wt(n,\"unit\",\"datetime\",qt);if(o){const e=Ar(this),t=re(o,$),n=re(o,E),r=re(o,b);return function(e,t,n,r,o){return\"time\"===Vt(o)?Yo(TimeDuration.fromEpochNsDiff(t,e),o):ro(eo(e,t,n,r,o),t,zn(n,e),n,r,o)}(r,po(r,t,n,e),t,n,i)}if(r){const t=qr(this);let n=fo({deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0},t.time);const o=re(r,D),a=re(r,E),s=Sn(a,o,Nt(t.date,n.deltaDays),\"constrain\");return function(t,n,r,o){if(0==jo(t,n))return 0;Br(t),Br(n);const i=Qr(t,n,r,o);return\"nanosecond\"===o?e.toNumber(i.time.totalNs):ro(i,pr(n),t,null,r,o)}(xt(o,{deltaDays:0,hour:0,minute:0,second:0,millisecond:0,microsecond:0,nanosecond:0}),xt(s,n),a,i)}const a=Jt(this);if(Kt(a))throw new RangeError(`a starting point is required for ${a}s total`);if(Kt(i))throw new RangeError(`a starting point is required for ${i}s total`);return Yo(qr(this).time,i)}toString(e=void 0){vt(this,lt);const t=Zo(e),n=zt(t),r=Ut(t,\"trunc\"),o=Wt(t,\"smallestUnit\",\"time\",void 0);if(\"hour\"===o||\"minute\"===o)throw new RangeError('smallestUnit must be a time unit other than \"hours\" or \"minutes\"');const{precision:i,unit:a,increment:s}=At(o,n);if(\"nanosecond\"===a&&1===s)return Qn(this,i);const c=Jt(this);let d=Ar(this);const h=$o(d.time,s,a,r);return d=Jr(d.date,h),Qn(_r(d,Gt(c,\"second\")),i)}toJSON(){return vt(this,lt),Qn(this,\"auto\")}toLocaleString(e=void 0,t=void 0){if(vt(this,lt),\"function\"==typeof Intl.DurationFormat){const n=new Intl.DurationFormat(e,t);return ji.call(n,this)}return console.warn(\"Temporal.Duration.prototype.toLocaleString() requires Intl.DurationFormat.\"),Qn(this,\"auto\")}valueOf(){qo(\"Duration\")}static from(e){return sn(e)}static compare(t,n,r=void 0){const o=sn(t),i=sn(n),a=Zo(r),{plainRelativeTo:s,zonedRelativeTo:c}=_t(a);if(re(o,Y)===re(i,Y)&&re(o,R)===re(i,R)&&re(o,S)===re(i,S)&&re(o,j)===re(i,j)&&re(o,k)===re(i,k)&&re(o,N)===re(i,N)&&re(o,x)===re(i,x)&&re(o,L)===re(i,L)&&re(o,P)===re(i,P)&&re(o,U)===re(i,U))return 0;const d=Jt(o),h=Jt(i),u=Ar(o),l=Ar(i);if(c&&(\"date\"===Vt(d)||\"date\"===Vt(h))){const t=re(c,$),n=re(c,E),r=re(c,b),o=po(r,t,n,u),i=po(r,t,n,l);return Bo(e.toNumber(e.subtract(o,i)))}let m=u.date.days,f=l.date.days;if(Kt(d)||Kt(h)){if(!s)throw new RangeError(\"A starting point is required for years, months, or weeks comparison\");m=Rr(u.date,s),f=Rr(l.date,s)}const y=u.time.add24HourDays(m),p=l.time.add24HourDays(f);return y.cmp(p)}}ae(Duration,\"Temporal.Duration\");class PlainMonthDay{constructor(e,t,n=\"iso8601\",r=1972){const o=_e(e),i=_e(t),a=zo(void 0===n?\"iso8601\":Ve(n)),s=_e(r);xr(s,o,i),vn(this,{year:s,month:o,day:i},a)}get monthCode(){return Pi(this,\"monthCode\")}get day(){return Pi(this,\"day\")}get calendarId(){return vt(this,gt),re(this,E)}with(e,t=void 0){if(vt(this,gt),!Ae(e))throw new TypeError(\"invalid argument\");bt(e);const n=re(this,E);let r=en(n,re(this,D),\"month-day\");return r=Rn(n,r,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[],\"partial\")),bn(Un(n,r,Lt(Zo(t))),n)}equals(e){vt(this,gt);const t=dn(e);return 0===Ro(re(this,D),re(t,D))&&xn(re(this,E),re(t,E))}toString(e=void 0){return vt(this,gt),rr(this,Zt(Zo(e)))}toJSON(){return vt(this,gt),rr(this)}toLocaleString(e=void 0,t=void 0){return vt(this,gt),new di(e,t).format(this)}valueOf(){qo(\"PlainMonthDay\")}toPlainDate(e){if(vt(this,gt),!Ae(e))throw new TypeError(\"argument should be an object\");const t=re(this,E);return pn(Ln(t,Rn(t,en(t,re(this,D),\"month-day\"),tn(t,e,[\"year\"],[],[])),\"constrain\"),t)}static from(e,t=void 0){return dn(e,t)}}function Pi(e,t){vt(e,gt);const n=re(e,D);return Qt(e).isoToDate(n,{[t]:!0})[t]}function Ui(e){return zn(e,Po())}ae(PlainMonthDay,\"Temporal.PlainMonthDay\");const Bi={instant:()=>Cn(Po()),plainDateTimeISO:(e=Uo())=>wn(Ui(Bn(e)),\"iso8601\"),plainDateISO:(e=Uo())=>pn(Ui(Bn(e)).isoDate,\"iso8601\"),plainTimeISO:(e=Uo())=>Tn(Ui(Bn(e)).time),timeZoneId:()=>Uo(),zonedDateTimeISO:(e=Uo())=>{const t=Bn(e);return $n(Po(),t,\"iso8601\")},[Symbol.toStringTag]:\"Temporal.Now\"};Object.defineProperty(Bi,Symbol.toStringTag,{value:\"Temporal.Now\",writable:!1,enumerable:!1,configurable:!0});class PlainTime{constructor(e=0,t=0,n=0,r=0,o=0,i=0){const a=void 0===e?0:_e(e),s=void 0===t?0:_e(t),c=void 0===n?0:_e(n),d=void 0===r?0:_e(r),h=void 0===o?0:_e(o),u=void 0===i?0:_e(i);Pr(a,s,c,d,h,u),Dn(this,{hour:a,minute:s,second:c,millisecond:d,microsecond:h,nanosecond:u})}get hour(){return vt(this,ft),re(this,M).hour}get minute(){return vt(this,ft),re(this,M).minute}get second(){return vt(this,ft),re(this,M).second}get millisecond(){return vt(this,ft),re(this,M).millisecond}get microsecond(){return vt(this,ft),re(this,M).microsecond}get nanosecond(){return vt(this,ft),re(this,M).nanosecond}with(e,t=void 0){if(vt(this,ft),!Ae(e))throw new TypeError(\"invalid argument\");bt(e);const n=nn(e,\"partial\"),r=nn(this);let{hour:o,minute:i,second:a,millisecond:s,microsecond:c,nanosecond:d}=Object.assign(r,n);const h=Lt(Zo(t));return({hour:o,minute:i,second:a,millisecond:s,microsecond:c,nanosecond:d}=jt(o,i,a,s,c,d,h)),new PlainTime(o,i,a,s,c,d)}add(e){return vt(this,ft),Do(\"add\",this,e)}subtract(e){return vt(this,ft),Do(\"subtract\",this,e)}until(e,t=void 0){return vt(this,ft),uo(\"until\",this,e,t)}since(e,t=void 0){return vt(this,ft),uo(\"since\",this,e,t)}round(e){if(vt(this,ft),void 0===e)throw new TypeError(\"options parameter is required\");const t=\"string\"==typeof e?Fo(\"smallestUnit\",e):Zo(e),n=Ft(t),r=Ut(t,\"halfExpand\"),o=Wt(t,\"smallestUnit\",\"time\",qt);return Ht(n,{hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[o],!1),Tn(Oo(re(this,M),n,o,r))}equals(e){vt(this,ft);const t=hn(e);return 0===So(re(this,M),re(t,M))}toString(e=void 0){vt(this,ft);const t=Zo(e),n=zt(t),r=Ut(t,\"trunc\"),o=Wt(t,\"smallestUnit\",\"time\",void 0);if(\"hour\"===o)throw new RangeError('smallestUnit must be a time unit other than \"hour\"');const{precision:i,unit:a,increment:s}=At(o,n);return tr(Oo(re(this,M),s,a,r),i)}toJSON(){return vt(this,ft),tr(re(this,M),\"auto\")}toLocaleString(e=void 0,t=void 0){return vt(this,ft),new di(e,t).format(this)}valueOf(){qo(\"PlainTime\")}static from(e,t=void 0){return hn(e,t)}static compare(e,t){const n=hn(e),r=hn(t);return So(re(n,M),re(r,M))}}ae(PlainTime,\"Temporal.PlainTime\");class PlainYearMonth{constructor(e,t,n=\"iso8601\",r=1){const o=_e(e),i=_e(t),a=zo(void 0===n?\"iso8601\":Ve(n)),s=_e(r);xr(o,i,s),Mn(this,{year:o,month:i,day:s},a)}get year(){return Zi(this,\"year\")}get month(){return Zi(this,\"month\")}get monthCode(){return Zi(this,\"monthCode\")}get calendarId(){return vt(this,pt),re(this,E)}get era(){return Zi(this,\"era\")}get eraYear(){return Zi(this,\"eraYear\")}get daysInMonth(){return Zi(this,\"daysInMonth\")}get daysInYear(){return Zi(this,\"daysInYear\")}get monthsInYear(){return Zi(this,\"monthsInYear\")}get inLeapYear(){return Zi(this,\"inLeapYear\")}with(e,t=void 0){if(vt(this,pt),!Ae(e))throw new TypeError(\"invalid argument\");bt(e);const n=re(this,E);let r=en(n,re(this,D),\"year-month\");return r=Rn(n,r,tn(n,e,[\"year\",\"month\",\"monthCode\"],[],\"partial\")),En(Pn(n,r,Lt(Zo(t))),n)}add(e,t=void 0){return vt(this,pt),To(\"add\",this,e,t)}subtract(e,t=void 0){return vt(this,pt),To(\"subtract\",this,e,t)}until(e,t=void 0){return vt(this,pt),lo(\"until\",this,e,t)}since(e,t=void 0){return vt(this,pt),lo(\"since\",this,e,t)}equals(e){vt(this,pt);const t=ln(e);return 0===Ro(re(this,D),re(t,D))&&xn(re(this,E),re(t,E))}toString(e=void 0){return vt(this,pt),or(this,Zt(Zo(e)))}toJSON(){return vt(this,pt),or(this)}toLocaleString(e=void 0,t=void 0){return vt(this,pt),new di(e,t).format(this)}valueOf(){qo(\"PlainYearMonth\")}toPlainDate(e){if(vt(this,pt),!Ae(e))throw new TypeError(\"argument should be an object\");const t=re(this,E);return pn(Ln(t,Rn(t,en(t,re(this,D),\"year-month\"),tn(t,e,[\"day\"],[],[])),\"constrain\"),t)}static from(e,t=void 0){return ln(e,t)}static compare(e,t){const n=ln(e),r=ln(t);return Ro(re(n,D),re(r,D))}}function Zi(e,t){vt(e,pt);const n=re(e,D);return Qt(e).isoToDate(n,{[t]:!0})[t]}ae(PlainYearMonth,\"Temporal.PlainYearMonth\");const Fi=di.prototype.resolvedOptions;class ZonedDateTime{constructor(e,t,n=\"iso8601\"){if(arguments.length<1)throw new TypeError(\"missing argument: epochNanoseconds is required\");const r=Lo(e);let o=Ve(t);const{tzName:i,offsetMinutes:a}=Rt(o);if(void 0===a){const e=hr(i);if(!e)throw new RangeError(`unknown time zone ${i}`);o=e.identifier}else o=mr(a);On(this,r,o,zo(void 0===n?\"iso8601\":Ve(n)))}get calendarId(){return vt(this,wt),re(this,E)}get timeZoneId(){return vt(this,wt),re(this,$)}get year(){return zi(this,\"year\")}get month(){return zi(this,\"month\")}get monthCode(){return zi(this,\"monthCode\")}get day(){return zi(this,\"day\")}get hour(){return Ai(this,\"hour\")}get minute(){return Ai(this,\"minute\")}get second(){return Ai(this,\"second\")}get millisecond(){return Ai(this,\"millisecond\")}get microsecond(){return Ai(this,\"microsecond\")}get nanosecond(){return Ai(this,\"nanosecond\")}get era(){return zi(this,\"era\")}get eraYear(){return zi(this,\"eraYear\")}get epochMilliseconds(){return vt(this,wt),No(re(this,b),\"floor\")}get epochNanoseconds(){return vt(this,wt),ko(re(this,b))}get dayOfWeek(){return zi(this,\"dayOfWeek\")}get dayOfYear(){return zi(this,\"dayOfYear\")}get weekOfYear(){return zi(this,\"weekOfYear\")?.week}get yearOfWeek(){return zi(this,\"weekOfYear\")?.year}get hoursInDay(){vt(this,wt);const e=re(this,$),t=Hi(this).isoDate,n=Or(t.year,t.month,t.day+1),r=_n(e,t),o=_n(e,n);return Yo(TimeDuration.fromEpochNsDiff(o,r),\"hour\")}get daysInWeek(){return zi(this,\"daysInWeek\")}get daysInMonth(){return zi(this,\"daysInMonth\")}get daysInYear(){return zi(this,\"daysInYear\")}get monthsInYear(){return zi(this,\"monthsInYear\")}get inLeapYear(){return zi(this,\"inLeapYear\")}get offset(){return vt(this,wt),Hn(Fn(re(this,$),re(this,b)))}get offsetNanoseconds(){return vt(this,wt),Fn(re(this,$),re(this,b))}with(e,t=void 0){if(vt(this,wt),!Ae(e))throw new TypeError(\"invalid zoned-date-time-like\");bt(e);const n=re(this,E),r=re(this,$),o=Fn(r,re(this,b)),i=Hi(this);let a={...en(n,i.isoDate),...i.time,offset:Hn(o)};a=Rn(n,a,tn(n,e,[\"year\",\"month\",\"monthCode\",\"day\"],[\"hour\",\"minute\",\"second\",\"millisecond\",\"microsecond\",\"nanosecond\",\"offset\"],\"partial\"));const s=Zo(t),c=Pt(s),d=Bt(s,\"prefer\"),h=on(n,a,Lt(s)),u=sr(a.offset);return $n(mn(h.isoDate,h.time,\"option\",u,r,c,d,!1),r,n)}withPlainTime(e=void 0){vt(this,wt);const t=re(this,$),n=re(this,E),r=Hi(this).isoDate;let o;return o=void 0===e?_n(t,r):An(t,xt(r,re(hn(e),M)),\"compatible\"),$n(o,t,n)}withTimeZone(e){vt(this,wt);const t=Bn(e);return $n(re(this,b),t,re(this,E))}withCalendar(e){vt(this,wt);const t=kn(e);return $n(re(this,b),re(this,$),t)}add(e,t=void 0){return vt(this,wt),Mo(\"add\",this,e,t)}subtract(e,t=void 0){return vt(this,wt),Mo(\"subtract\",this,e,t)}until(e,t=void 0){return vt(this,wt),mo(\"until\",this,e,t)}since(e,t=void 0){return vt(this,wt),mo(\"since\",this,e,t)}round(t){if(vt(this,wt),void 0===t)throw new TypeError(\"options parameter is required\");const n=\"string\"==typeof t?Fo(\"smallestUnit\",t):Zo(t),r=Ft(n),o=Ut(n,\"halfExpand\"),i=Wt(n,\"smallestUnit\",\"time\",qt,[\"day\"]),a={day:1,hour:24,minute:60,second:60,millisecond:1e3,microsecond:1e3,nanosecond:1e3}[i];if(Ht(r,a,1===a),\"nanosecond\"===i&&1===r)return $n(re(this,b),re(this,$),re(this,E));const s=re(this,$),c=re(this,b),d=Hi(this);let h;if(\"day\"===i){const t=d.isoDate,n=Or(t.year,t.month,t.day+1),r=_n(s,t),i=_n(s,n),a=e.subtract(i,r);h=TimeDuration.fromEpochNsDiff(c,r).round(a,o).addToEpochNs(r)}else{const e=Co(d,r,i,o),t=Fn(s,c);h=mn(e.isoDate,e.time,\"option\",t,s,\"compatible\",\"prefer\",!1)}return $n(h,s,re(this,E))}equals(t){vt(this,wt);const n=fn(t),r=re(this,b),o=re(n,b);return!!e.equal(e.BigInt(r),e.BigInt(o))&&!!Zn(re(this,$),re(n,$))&&xn(re(this,E),re(n,E))}toString(e=void 0){vt(this,wt);const t=Zo(e),n=Zt(t),r=zt(t),o=function(e){return Ho(e,\"offset\",[\"auto\",\"never\"],\"auto\")}(t),i=Ut(t,\"trunc\"),a=Wt(t,\"smallestUnit\",\"time\",void 0);if(\"hour\"===a)throw new RangeError('smallestUnit must be a time unit other than \"hour\"');const s=function(e){return Ho(e,\"timeZoneName\",[\"auto\",\"never\",\"critical\"],\"auto\")}(t),{precision:c,unit:d,increment:h}=At(a,r);return ir(this,c,n,s,o,{unit:d,increment:h,roundingMode:i})}toLocaleString(e=void 0,t=void 0){vt(this,wt);const n=Zo(t),r=Object.create(null);if(function(e,t,n,r){if(null==t)return;const o=Reflect.ownKeys(t);for(let i=0;i<o.length;i++){const a=o[i];if(!n.some((e=>Object.is(e,a)))&&Object.prototype.propertyIsEnumerable.call(t,a)){const n=t[a];r,e[a]=n}}}(r,n,[\"timeZone\"]),void 0!==n.timeZone)throw new TypeError(\"ZonedDateTime toLocaleString does not accept a timeZone option\");if(void 0===r.year&&void 0===r.month&&void 0===r.day&&void 0===r.era&&void 0===r.weekday&&void 0===r.dateStyle&&void 0===r.hour&&void 0===r.minute&&void 0===r.second&&void 0===r.fractionalSecondDigits&&void 0===r.timeStyle&&void 0===r.dayPeriod&&void 0===r.timeZoneName&&(r.timeZoneName=\"short\"),r.timeZone=re(this,$),ar(r.timeZone))throw new RangeError(\"toLocaleString does not currently support offset time zones\");const o=new di(e,r),i=Fi.call(o).calendar,a=re(this,E);if(\"iso8601\"!==a&&\"iso8601\"!==i&&!xn(i,a))throw new RangeError(`cannot format ZonedDateTime with calendar ${a} in locale with calendar ${i}`);return o.format(Cn(re(this,b)))}toJSON(){return vt(this,wt),ir(this,\"auto\")}valueOf(){qo(\"ZonedDateTime\")}startOfDay(){vt(this,wt);const e=re(this,$);return $n(_n(e,Hi(this).isoDate),e,re(this,E))}getTimeZoneTransition(e){vt(this,wt);const t=re(this,$);if(void 0===e)throw new TypeError(\"options parameter is required\");const n=Ho(\"string\"==typeof e?Fo(\"direction\",e):Zo(e),\"direction\",[\"next\",\"previous\"],qt);if(void 0===n)throw new TypeError(\"direction option is required\");if(ar(t)||\"UTC\"===t)return null;const r=re(this,b),o=\"next\"===n?wr(t,r):vr(t,r);return null===o?null:$n(o,t,re(this,E))}toInstant(){return vt(this,wt),Cn(re(this,b))}toPlainDate(){return vt(this,wt),pn(Hi(this).isoDate,re(this,E))}toPlainTime(){return vt(this,wt),Tn(Hi(this).time)}toPlainDateTime(){return vt(this,wt),wn(Hi(this),re(this,E))}static from(e,t=void 0){return fn(e,t)}static compare(t,n){const r=fn(t),o=fn(n),i=re(r,b),a=re(o,b);return e.lessThan(e.BigInt(i),e.BigInt(a))?-1:e.greaterThan(e.BigInt(i),e.BigInt(a))?1:0}}function Hi(e){return zn(re(e,$),re(e,b))}function zi(e,t){vt(e,wt);const n=Hi(e).isoDate;return Qt(e).isoToDate(n,{[t]:!0})[t]}function Ai(e,t){return vt(e,wt),Hi(e).time[t]}ae(ZonedDateTime,\"Temporal.ZonedDateTime\");var qi=Object.freeze({__proto__:null,Duration,Instant,Now:Bi,PlainDate,PlainDateTime,PlainMonthDay,PlainTime,PlainYearMonth,ZonedDateTime});const Wi=class LegacyDateImpl{toTemporalInstant(){return Cn(xo(Date.prototype.valueOf.call(this)))}}.prototype.toTemporalInstant,_i=[Instant,PlainDate,PlainDateTime,Duration,PlainMonthDay,PlainTime,PlainYearMonth,ZonedDateTime];for(const e of _i){const t=Object.getOwnPropertyDescriptor(e,\"prototype\");(t.configurable||t.enumerable||t.writable)&&(t.configurable=!1,t.enumerable=!1,t.writable=!1,Object.defineProperty(e,\"prototype\",t))}export{ki as Intl,qi as Temporal,Wi as toTemporalInstant};\n//# sourceMappingURL=index.esm.js.map\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n  isUndefined,\n  maybeArray,\n  isDate,\n  isNumber,\n  bestBy,\n  daysInMonth,\n  daysInYear,\n  isLeapYear,\n  weeksInWeekYear,\n  normalizeObject,\n  roundTo,\n  objToLocalTS,\n  padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n  parseFromTokens,\n  explainFromTokens,\n  formatOptsToTokens,\n  expandMacroTokens,\n} from \"./impl/tokenParser.js\";\nimport {\n  gregorianToWeek,\n  weekToGregorian,\n  gregorianToOrdinal,\n  ordinalToGregorian,\n  hasInvalidGregorianData,\n  hasInvalidWeekData,\n  hasInvalidOrdinalData,\n  hasInvalidTimeData,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n  InvalidArgumentError,\n  ConflictingSpecificationError,\n  InvalidUnitError,\n  InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  const current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid,\n  };\n  return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  let utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  const o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  const o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n\n  const d = new Date(ts);\n\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds(),\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  const oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = {\n      ...inst.c,\n      year,\n      month,\n      day:\n        Math.min(inst.c.day, daysInMonth(year, month)) +\n        Math.trunc(dur.days) +\n        Math.trunc(dur.weeks) * 7,\n    },\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds,\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n\n  let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n\n  return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  const { setZone, zone } = opts;\n  if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n    const interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, {\n        ...opts,\n        zone: interpretationZone,\n        specificOffset,\n      });\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(\n      new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n    );\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n  return dt.isValid\n    ? Formatter.create(Locale.create(\"en-US\"), {\n        allowZ,\n        forceSimple: true,\n      }).formatDateTimeFromString(dt, format)\n    : null;\n}\n\nfunction toISODate(o, extended) {\n  const longFormat = o.c.year > 9999 || o.c.year < 0;\n  let c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\n\nfunction toISOTime(\n  o,\n  extended,\n  suppressSeconds,\n  suppressMilliseconds,\n  includeOffset,\n  extendedZone\n) {\n  let c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\n    \"weekYear\",\n    \"weekNumber\",\n    \"weekday\",\n    \"hour\",\n    \"minute\",\n    \"second\",\n    \"millisecond\",\n  ],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  const normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\",\n  }[unit.toLowerCase()];\n\n  if (!normalized) throw new InvalidUnitError(unit);\n\n  return normalized;\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  const zone = normalizeZone(opts.zone, Settings.defaultZone),\n    loc = Locale.fromObject(opts),\n    tsNow = Settings.now();\n\n  let ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (const u of orderedUnits) {\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n\n    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    const offsetProvis = zone.offset(tsNow);\n    [ts, o] = objToTS(obj, offsetProvis, zone);\n  } else {\n    ts = tsNow;\n  }\n\n  return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n  const round = isUndefined(opts.round) ? true : opts.round,\n    format = (c, unit) => {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      const formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = (unit) => {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n\n  for (const unit of opts.units) {\n    const count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n  let opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n  /**\n   * @access private\n   */\n  constructor(config) {\n    const zone = config.zone || Settings.defaultZone;\n\n    let invalid =\n      config.invalid ||\n      (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n      (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n    let c = null,\n      o = null;\n    if (!invalid) {\n      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n      if (unchanged) {\n        [c, o] = [config.old.c, config.old.o];\n      } else {\n        const ot = zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  static now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */\n  static local() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */\n  static utc() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */\n  static fromJSDate(date, options = {}) {\n    const ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n\n    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options),\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromMillis(milliseconds, options = {}) {\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(\n        `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n      );\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromSeconds(seconds, options = {}) {\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @return {DateTime}\n   */\n  static fromObject(obj, opts = {}) {\n    obj = obj || {};\n    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    const tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset)\n        ? opts.specificOffset\n        : zoneToUse.offset(tsNow),\n      normalized = normalizeObject(obj, normalizeUnit),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber,\n      loc = Locale.fromObject(opts);\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    let units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    let foundFirst = false;\n    for (const u of units) {\n      const v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    const higherOrderInvalid = useWeekData\n        ? hasInvalidWeekData(normalized)\n        : containsOrdinal\n        ? hasInvalidOrdinalData(normalized)\n        : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    const gregorian = useWeekData\n        ? weekToGregorian(normalized)\n        : containsOrdinal\n        ? ordinalToGregorian(normalized)\n        : normalized,\n      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc,\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\n        \"mismatched weekday\",\n        `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n      );\n    }\n\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */\n  static fromISO(text, opts = {}) {\n    const [vals, parsedZone] = parseISODate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */\n  static fromRFC2822(text, opts = {}) {\n    const [vals, parsedZone] = parseRFC2822Date(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */\n  static fromHTTP(text, opts = {}) {\n    const [vals, parsedZone] = parseHTTPDate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromFormat(text, fmt, opts = {}) {\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n\n    const { locale = null, numberingSystem = null } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      }),\n      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */\n  static fromString(text, fmt, opts = {}) {\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */\n  static fromSQL(text, opts = {}) {\n    const [vals, parsedZone] = parseSQL(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({ invalid });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDateTime(o) {\n    return (o && o.isLuxonDateTime) || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */\n  static parseFormatForOpts(formatOpts, localeOpts = {}) {\n    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */\n  static expandFormat(fmt, localeOpts = {}) {\n    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map((t) => t.val).join(\"\");\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */\n  get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get outputCalendar() {\n    return this.isValid ? this.loc.outputCalendar : null;\n  }\n\n  /**\n   * Get the time zone associated with this DateTime.\n   * @type {Zone}\n   */\n  get zone() {\n    return this._zone;\n  }\n\n  /**\n   * Get the name of the time zone.\n   * @type {string}\n   */\n  get zoneName() {\n    return this.isValid ? this.zone.name : null;\n  }\n\n  /**\n   * Get the year\n   * @example DateTime.local(2017, 5, 25).year //=> 2017\n   * @type {number}\n   */\n  get year() {\n    return this.isValid ? this.c.year : NaN;\n  }\n\n  /**\n   * Get the quarter\n   * @example DateTime.local(2017, 5, 25).quarter //=> 2\n   * @type {number}\n   */\n  get quarter() {\n    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n  }\n\n  /**\n   * Get the month (1-12).\n   * @example DateTime.local(2017, 5, 25).month //=> 5\n   * @type {number}\n   */\n  get month() {\n    return this.isValid ? this.c.month : NaN;\n  }\n\n  /**\n   * Get the day of the month (1-30ish).\n   * @example DateTime.local(2017, 5, 25).day //=> 25\n   * @type {number}\n   */\n  get day() {\n    return this.isValid ? this.c.day : NaN;\n  }\n\n  /**\n   * Get the hour of the day (0-23).\n   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n   * @type {number}\n   */\n  get hour() {\n    return this.isValid ? this.c.hour : NaN;\n  }\n\n  /**\n   * Get the minute of the hour (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n   * @type {number}\n   */\n  get minute() {\n    return this.isValid ? this.c.minute : NaN;\n  }\n\n  /**\n   * Get the second of the minute (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n   * @type {number}\n   */\n  get second() {\n    return this.isValid ? this.c.second : NaN;\n  }\n\n  /**\n   * Get the millisecond of the second (0-999).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n   * @type {number}\n   */\n  get millisecond() {\n    return this.isValid ? this.c.millisecond : NaN;\n  }\n\n  /**\n   * Get the week year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n   * @type {number}\n   */\n  get weekYear() {\n    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the week number of the week year (1-52ish).\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n   * @type {number}\n   */\n  get weekNumber() {\n    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the day of the week.\n   * 1 is Monday and 7 is Sunday\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 11, 31).weekday //=> 4\n   * @type {number}\n   */\n  get weekday() {\n    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Get the ordinal (meaning the day of the year)\n   * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n   * @type {number|DateTime}\n   */\n  get ordinal() {\n    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n  }\n\n  /**\n   * Get the human readable short month name, such as 'Oct'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n   * @type {string}\n   */\n  get monthShort() {\n    return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable long month name, such as 'October'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthLong //=> October\n   * @type {string}\n   */\n  get monthLong() {\n    return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable short weekday, such as 'Mon'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n   * @type {string}\n   */\n  get weekdayShort() {\n    return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the human readable long weekday, such as 'Monday'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n   * @type {string}\n   */\n  get weekdayLong() {\n    return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the UTC offset of this DateTime in minutes\n   * @example DateTime.now().offset //=> -240\n   * @example DateTime.utc().offset //=> 0\n   * @type {number}\n   */\n  get offset() {\n    return this.isValid ? +this.o : NaN;\n  }\n\n  /**\n   * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameShort() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"short\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameLong() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"long\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get whether this zone's offset ever changes, as in a DST.\n   * @type {boolean}\n   */\n  get isOffsetFixed() {\n    return this.isValid ? this.zone.isUniversal : null;\n  }\n\n  /**\n   * Get whether the DateTime is in a DST.\n   * @type {boolean}\n   */\n  get isInDST() {\n    if (this.isOffsetFixed) {\n      return false;\n    } else {\n      return (\n        this.offset > this.set({ month: 1, day: 1 }).offset ||\n        this.offset > this.set({ month: 5 }).offset\n      );\n    }\n  }\n\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    const dayMs = 86400000;\n    const minuteMs = 60000;\n    const localTS = objToLocalTS(this.c);\n    const oEarlier = this.zone.offset(localTS - dayMs);\n    const oLater = this.zone.offset(localTS + dayMs);\n\n    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    const o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    const ts1 = localTS - o1 * minuteMs;\n    const ts2 = localTS - o2 * minuteMs;\n    const c1 = tsToObj(ts1, o1);\n    const c2 = tsToObj(ts2, o2);\n    if (\n      c1.hour === c2.hour &&\n      c1.minute === c2.minute &&\n      c1.second === c2.second &&\n      c1.millisecond === c2.millisecond\n    ) {\n      return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */\n  get isInLeapYear() {\n    return isLeapYear(this.year);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's month\n   * @example DateTime.local(2016, 2).daysInMonth //=> 29\n   * @example DateTime.local(2016, 3).daysInMonth //=> 31\n   * @type {number}\n   */\n  get daysInMonth() {\n    return daysInMonth(this.year, this.month);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's year\n   * @example DateTime.local(2016).daysInYear //=> 366\n   * @example DateTime.local(2013).daysInYear //=> 365\n   * @type {number}\n   */\n  get daysInYear() {\n    return this.isValid ? daysInYear(this.year) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2004).weeksInWeekYear //=> 53\n   * @example DateTime.local(2013).weeksInWeekYear //=> 52\n   * @type {number}\n   */\n  get weeksInWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n  }\n\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  resolvedLocaleOptions(opts = {}) {\n    const { locale, numberingSystem, calendar } = Formatter.create(\n      this.loc.clone(opts),\n      opts\n    ).resolvedOptions(this);\n    return { locale, numberingSystem, outputCalendar: calendar };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */\n  toUTC(offset = 0, opts = {}) {\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */\n  toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */\n  setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      let newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        const offsetGuess = zone.offset(this.ts);\n        const asObj = this.toObject();\n        [newTS] = objToTS(asObj, offsetGuess, zone);\n      }\n      return clone(this, { ts: newTS, zone });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */\n  reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n    return clone(this, { loc });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */\n  setLocale(locale) {\n    return this.reconfigure({ locale });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const normalized = normalizeObject(values, normalizeUnit),\n      settingWeekStuff =\n        !isUndefined(normalized.weekYear) ||\n        !isUndefined(normalized.weekNumber) ||\n        !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    let mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian({ ...gregorianToWeek(this.c), ...normalized });\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n    } else {\n      mixed = { ...this.toObject(), ...normalized };\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n\n    const [ts, o] = objToTS(mixed, this.o, this.zone);\n    return clone(this, { ts, o });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */\n  startOf(unit) {\n    if (!this.isValid) return this;\n    const o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      case \"milliseconds\":\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      o.weekday = 1;\n    }\n\n    if (normalizedUnit === \"quarters\") {\n      const q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */\n  endOf(unit) {\n    return this.isValid\n      ? this.plus({ [unit]: 1 })\n          .startOf(unit)\n          .minus(1)\n      : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */\n  toLocaleParts(opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n      : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */\n  toISO({\n    format = \"extended\",\n    suppressSeconds = false,\n    suppressMilliseconds = false,\n    includeOffset = true,\n    extendedZone = false,\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    const ext = format === \"extended\";\n\n    let c = toISODate(this, ext);\n    c += \"T\";\n    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */\n  toISODate({ format = \"extended\" } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */\n  toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */\n  toISOTime({\n    suppressMilliseconds = false,\n    suppressSeconds = false,\n    includeOffset = true,\n    includePrefix = false,\n    extendedZone = false,\n    format = \"extended\",\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    let c = includePrefix ? \"T\" : \"\";\n    return (\n      c +\n      toISOTime(\n        this,\n        format === \"extended\",\n        suppressSeconds,\n        suppressMilliseconds,\n        includeOffset,\n        extendedZone\n      )\n    );\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */\n  toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */\n  toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */\n  toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */\n  toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n    let fmt = \"HH:mm:ss.SSS\";\n\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */\n  toSQL(opts = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */\n  toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */\n  toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */\n  toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */\n  toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */\n  toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */\n  toObject(opts = {}) {\n    if (!this.isValid) return {};\n\n    const base = { ...this.c };\n\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */\n  toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */\n  diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n\n    const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n    const units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = diff(earlier, later, units, durOpts);\n\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  diffNow(unit = \"milliseconds\", opts = {}) {\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */\n  until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */\n  hasSame(otherDateTime, unit) {\n    if (!this.isValid) return false;\n\n    const inputMs = otherDateTime.valueOf();\n    const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n    return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */\n  equals(other) {\n    return (\n      this.isValid &&\n      other.isValid &&\n      this.valueOf() === other.valueOf() &&\n      this.zone.equals(other.zone) &&\n      this.loc.equals(other.loc)\n    );\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */\n  toRelative(options = {}) {\n    if (!this.isValid) return null;\n    const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n      padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n    let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    let unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), {\n      ...options,\n      numeric: \"always\",\n      units,\n      unit,\n    });\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */\n  toRelativeCalendar(options = {}) {\n    if (!this.isValid) return null;\n\n    return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n      ...options,\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true,\n    });\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */\n  static min(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */\n  static max(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */\n  static fromFormatExplain(text, fmt, options = {}) {\n    const { locale = null, numberingSystem = null } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */\n  static fromStringExplain(text, fmt, options = {}) {\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */\n  static get DATE_SHORT() {\n    return Formats.DATE_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED() {\n    return Formats.DATE_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED_WITH_WEEKDAY() {\n    return Formats.DATE_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_FULL() {\n    return Formats.DATE_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_HUGE() {\n    return Formats.DATE_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_SIMPLE() {\n    return Formats.TIME_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SECONDS() {\n    return Formats.TIME_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SHORT_OFFSET() {\n    return Formats.TIME_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_LONG_OFFSET() {\n    return Formats.TIME_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_SIMPLE() {\n    return Formats.TIME_24_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SECONDS() {\n    return Formats.TIME_24_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SHORT_OFFSET() {\n    return Formats.TIME_24_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_LONG_OFFSET() {\n    return Formats.TIME_24_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT() {\n    return Formats.DATETIME_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT_WITH_SECONDS() {\n    return Formats.DATETIME_SHORT_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED() {\n    return Formats.DATETIME_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_SECONDS() {\n    return Formats.DATETIME_MED_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_WEEKDAY() {\n    return Formats.DATETIME_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL() {\n    return Formats.DATETIME_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL_WITH_SECONDS() {\n    return Formats.DATETIME_FULL_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE() {\n    return Formats.DATETIME_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE_WITH_SECONDS() {\n    return Formats.DATETIME_HUGE_WITH_SECONDS;\n  }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(\n      `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n    );\n  }\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n  asNumber,\n  hasOwnProperty,\n  isNumber,\n  isUndefined,\n  normalizeObject,\n  roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000,\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000,\n    },\n    hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n    minutes: { seconds: 60, milliseconds: 60 * 1000 },\n    seconds: { milliseconds: 1000 },\n  },\n  casualMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000,\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000,\n    },\n\n    ...lowOrderMatrix,\n  },\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: (daysInYearAccurate * 24) / 4,\n      minutes: (daysInYearAccurate * 24 * 60) / 4,\n      seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n      milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n    },\n    ...lowOrderMatrix,\n  };\n\n// units ordered by size\nconst orderedUnits = [\n  \"years\",\n  \"quarters\",\n  \"months\",\n  \"weeks\",\n  \"days\",\n  \"hours\",\n  \"minutes\",\n  \"seconds\",\n  \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n  // deep merge for vals\n  const conf = {\n    values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix,\n  };\n  return new Duration(conf);\n}\n\n// this is needed since in some test cases it would return 0.9999999999999999 instead of 1\nfunction removePrecisionIssue(a) {\n  return Math.trunc(a * 1e3) / 1e3;\n}\n\n// NB: mutates parameters\nfunction convert(matrix, fromMap, fromUnit, toMap, toUnit) {\n  const conv = matrix[toUnit][fromUnit],\n    raw = fromMap[fromUnit] / conv,\n    added = Math.floor(raw);\n\n  toMap[toUnit] = removePrecisionIssue(toMap[toUnit] + added);\n  fromMap[fromUnit] = removePrecisionIssue(fromMap[fromUnit] - added * conv);\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  reverseUnits.reduce((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        convert(matrix, vals, previous, vals, current);\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  const newVals = {};\n  for (const [key, value] of Object.entries(vals)) {\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n  /**\n   * @private\n   */\n  constructor(config) {\n    const accurate = config.conversionAccuracy === \"longterm\" || false;\n    let matrix = accurate ? accurateMatrix : casualMatrix;\n\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  static fromMillis(count, opts) {\n    return Duration.fromObject({ milliseconds: count }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */\n  static fromObject(obj, opts = {}) {\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(\n        `Duration.fromObject: argument expected to be an object, got ${\n          obj === null ? \"null\" : typeof obj\n        }`\n      );\n    }\n\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix,\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */\n  static fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(\n        `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n      );\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */\n  static fromISO(text, opts) {\n    const [parsed] = parseISODuration(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */\n  static fromISOTime(text, opts) {\n    const [parsed] = parseISOTimeOnly(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({ invalid });\n    }\n  }\n\n  /**\n   * @private\n   */\n  static normalizeUnit(unit) {\n    const normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\",\n    }[unit ? unit.toLowerCase() : unit];\n\n    if (!normalized) throw new InvalidUnitError(unit);\n\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDuration(o) {\n    return (o && o.isLuxonDuration) || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    const fmtOpts = {\n      ...opts,\n      floor: opts.round !== false && opts.floor !== false,\n    };\n    return this.isValid\n      ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n   * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */\n  toHuman(opts = {}) {\n    const l = orderedUnits\n      .map((unit) => {\n        const val = this.values[unit];\n        if (isUndefined(val)) {\n          return null;\n        }\n        return this.loc\n          .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n          .format(val);\n      })\n      .filter((n) => n);\n\n    return this.loc\n      .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n      .format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */\n  toObject() {\n    if (!this.isValid) return {};\n    return { ...this.values };\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */\n  toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n\n    let s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n      s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */\n  toISOTime(opts = {}) {\n    if (!this.isValid) return null;\n\n    const millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n\n    opts = {\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\",\n      ...opts,\n      includeOffset: false,\n    };\n\n    const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */\n  toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */\n  toMillis() {\n    let sum = this.values.milliseconds ?? 0;\n    for (let unit of reverseUnits.slice(1)) {\n      if (this.values?.[unit]) {\n        sum += this.values[unit] * this.matrix[unit][\"milliseconds\"];\n      }\n    }\n    return sum;\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration),\n      result = {};\n\n    for (const k of orderedUnits) {\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */\n  mapUnits(fn) {\n    if (!this.isValid) return this;\n    const result = {};\n    for (const k of Object.keys(this.values)) {\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */\n  get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n    return clone(this, { values: mixed });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */\n  reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem });\n    const opts = { loc, matrix, conversionAccuracy };\n    return clone(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */\n  as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @return {Duration}\n   */\n  normalize() {\n    if (!this.isValid) return this;\n    const vals = this.toObject();\n    if (this.valueOf() >= 0) {\n      normalizeValues(this.matrix, vals);\n      return clone(this, { values: vals }, true);\n    }\n    return this.negate().normalize().negate();\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */\n  rescale() {\n    if (!this.isValid) return this;\n    const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone(this, { values: vals }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */\n  shiftTo(...units) {\n    if (!this.isValid) return this;\n\n    if (units.length === 0) {\n      return this;\n    }\n\n    units = units.map((u) => Duration.normalizeUnit(u));\n\n    const built = {},\n      accumulated = {},\n      vals = this.toObject();\n    let lastUnit;\n\n    for (const k of orderedUnits) {\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n\n        let own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (const ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        const i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // plus anything further down the chain that should be rolled up in to this\n        for (const down in vals) {\n          if (orderedUnits.indexOf(down) > orderedUnits.indexOf(k)) {\n            convert(this.matrix, vals, down, built, k);\n          }\n        }\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (const key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] +=\n          key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n\n    return clone(this, { values: built }, true).normalize();\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */\n  shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\n      \"years\",\n      \"months\",\n      \"weeks\",\n      \"days\",\n      \"hours\",\n      \"minutes\",\n      \"seconds\",\n      \"milliseconds\"\n    );\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */\n  negate() {\n    if (!this.isValid) return this;\n    const negated = {};\n    for (const k of Object.keys(this.values)) {\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone(this, { values: negated }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */\n  get years() {\n    return this.isValid ? this.values.years || 0 : NaN;\n  }\n\n  /**\n   * Get the quarters.\n   * @type {number}\n   */\n  get quarters() {\n    return this.isValid ? this.values.quarters || 0 : NaN;\n  }\n\n  /**\n   * Get the months.\n   * @type {number}\n   */\n  get months() {\n    return this.isValid ? this.values.months || 0 : NaN;\n  }\n\n  /**\n   * Get the weeks\n   * @type {number}\n   */\n  get weeks() {\n    return this.isValid ? this.values.weeks || 0 : NaN;\n  }\n\n  /**\n   * Get the days.\n   * @type {number}\n   */\n  get days() {\n    return this.isValid ? this.values.days || 0 : NaN;\n  }\n\n  /**\n   * Get the hours.\n   * @type {number}\n   */\n  get hours() {\n    return this.isValid ? this.values.hours || 0 : NaN;\n  }\n\n  /**\n   * Get the minutes.\n   * @type {number}\n   */\n  get minutes() {\n    return this.isValid ? this.values.minutes || 0 : NaN;\n  }\n\n  /**\n   * Get the seconds.\n   * @return {number}\n   */\n  get seconds() {\n    return this.isValid ? this.values.seconds || 0 : NaN;\n  }\n\n  /**\n   * Get the milliseconds.\n   * @return {number}\n   */\n  get milliseconds() {\n    return this.isValid ? this.values.milliseconds || 0 : NaN;\n  }\n\n  /**\n   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n   * on invalid DateTimes or Intervals.\n   * @return {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this Duration became invalid, or null if the Duration is valid\n   * @return {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n\n    for (const u of orderedUnits) {\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid DateTime: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Interval: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Duration: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n  constructor(unit) {\n    super(`Invalid unit ${unit}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n  constructor() {\n    super(\"Zone is an abstract class\");\n  }\n}\n","import {\n  integerBetween,\n  isLeapYear,\n  timeObject,\n  daysInYear,\n  daysInMonth,\n  weeksInWeekYear,\n  isInteger,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\n    \"unit out of range\",\n    `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n  );\n}\n\nfunction dayOfWeek(year, month, day) {\n  const d = new Date(Date.UTC(year, month - 1, day));\n\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n\n  const js = d.getUTCDay();\n\n  return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex((i) => i < ordinal),\n    day = ordinal - table[month0];\n  return { month: month0 + 1, day };\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj) {\n  const { year, month, day } = gregObj,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = dayOfWeek(year, month, day);\n\n  let weekNumber = Math.floor((ordinal - weekday + 10) / 7),\n    weekYear;\n\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear);\n  } else if (weekNumber > weeksInWeekYear(year)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n\n  return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData) {\n  const { weekYear, weekNumber, weekday } = weekData,\n    weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),\n    yearInDays = daysInYear(weekYear);\n\n  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,\n    year;\n\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n  const { year, month, day } = gregData;\n  const ordinal = computeOrdinal(year, month, day);\n  return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n  const { year, ordinal } = ordinalData;\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(ordinalData) };\n}\n\nexport function hasInvalidWeekData(obj) {\n  const validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.week);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n  const validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n  const validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n  const { hour, minute, second, millisecond } = obj;\n  const validHour =\n      integerBetween(hour, 0, 23) ||\n      (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n  const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n  const differs = [\n    [\"years\", (a, b) => b.year - a.year],\n    [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n    [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n    [\n      \"weeks\",\n      (a, b) => {\n        const days = dayDiff(a, b);\n        return (days - (days % 7)) / 7;\n      },\n    ],\n    [\"days\", dayDiff],\n  ];\n\n  const results = {};\n  const earlier = cursor;\n  let lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (const [unit, differ] of differs) {\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n\n  return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n  const remainingMillis = later - cursor;\n\n  const lowerOrderUnits = units.filter(\n    (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n  );\n\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      highWater = cursor.plus({ [lowestOrder]: 1 });\n    }\n\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n\n  const duration = Duration.fromObject(results, opts);\n\n  if (lowerOrderUnits.length > 0) {\n    return Duration.fromMillis(remainingMillis, opts)\n      .shiftTo(...lowerOrderUnits)\n      .plus(duration);\n  } else {\n    return duration;\n  }\n}\n","const numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n  let value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (let i = 0; i < str.length; i++) {\n      const code = str.charCodeAt(i);\n\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (const key in numberingSystemsUTF16) {\n          const [min, max] = numberingSystemsUTF16[key];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n  return new RegExp(`${numberingSystems[numberingSystem || \"latn\"]}${append}`);\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n  return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n  \"January\",\n  \"February\",\n  \"March\",\n  \"April\",\n  \"May\",\n  \"June\",\n  \"July\",\n  \"August\",\n  \"September\",\n  \"October\",\n  \"November\",\n  \"December\",\n];\n\nexport const monthsShort = [\n  \"Jan\",\n  \"Feb\",\n  \"Mar\",\n  \"Apr\",\n  \"May\",\n  \"Jun\",\n  \"Jul\",\n  \"Aug\",\n  \"Sep\",\n  \"Oct\",\n  \"Nov\",\n  \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...monthsNarrow];\n    case \"short\":\n      return [...monthsShort];\n    case \"long\":\n      return [...monthsLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\n\nexport const weekdaysLong = [\n  \"Monday\",\n  \"Tuesday\",\n  \"Wednesday\",\n  \"Thursday\",\n  \"Friday\",\n  \"Saturday\",\n  \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...weekdaysNarrow];\n    case \"short\":\n      return [...weekdaysShort];\n    case \"long\":\n      return [...weekdaysLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...erasNarrow];\n    case \"short\":\n      return [...erasShort];\n    case \"long\":\n      return [...erasLong];\n    default:\n      return null;\n  }\n}\n\nexport function meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n  const units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"],\n  };\n\n  const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n  if (numeric === \"auto\" && lastable) {\n    const isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n      case -1:\n        return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n      case 0:\n        return isDay ? \"today\" : `this ${units[unit][0]}`;\n      default: // fall through\n    }\n  }\n\n  const isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow\n      ? singular\n        ? lilUnits[1]\n        : lilUnits[2] || lilUnits[1]\n      : singular\n      ? units[unit][0]\n      : unit;\n  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n  // these all have the offsets removed because we don't have access to them\n  // without all the intl stuff this is backfilling\n  const filtered = pick(knownFormat, [\n      \"weekday\",\n      \"era\",\n      \"year\",\n      \"month\",\n      \"day\",\n      \"hour\",\n      \"minute\",\n      \"second\",\n      \"timeZoneName\",\n      \"hourCycle\",\n    ]),\n    key = stringify(filtered),\n    dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n  switch (key) {\n    case stringify(Formats.DATE_SHORT):\n      return \"M/d/yyyy\";\n    case stringify(Formats.DATE_MED):\n      return \"LLL d, yyyy\";\n    case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n      return \"EEE, LLL d, yyyy\";\n    case stringify(Formats.DATE_FULL):\n      return \"LLLL d, yyyy\";\n    case stringify(Formats.DATE_HUGE):\n      return \"EEEE, LLLL d, yyyy\";\n    case stringify(Formats.TIME_SIMPLE):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_SECONDS):\n      return \"h:mm:ss a\";\n    case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_LONG_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_24_SIMPLE):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_SECONDS):\n      return \"HH:mm:ss\";\n    case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.DATETIME_SHORT):\n      return \"M/d/yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_MED):\n      return \"LLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL):\n      return \"LLLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_HUGE):\n      return dateTimeHuge;\n    case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n      return \"M/d/yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n      return \"LLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n      return \"EEE, d LLL yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n      return \"LLLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n      return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n    default:\n      return dateTimeHuge;\n  }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\n\nexport const DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n};\n\nexport const DATE_MED = {\n  year: n,\n  month: s,\n  day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n};\n\nexport const DATE_FULL = {\n  year: n,\n  month: l,\n  day: n,\n};\n\nexport const DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n  hour: n,\n  minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n  let s = \"\";\n  for (const token of splits) {\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\n\nconst macroTokenToFormatOpts = {\n  D: Formats.DATE_SHORT,\n  DD: Formats.DATE_MED,\n  DDD: Formats.DATE_FULL,\n  DDDD: Formats.DATE_HUGE,\n  t: Formats.TIME_SIMPLE,\n  tt: Formats.TIME_WITH_SECONDS,\n  ttt: Formats.TIME_WITH_SHORT_OFFSET,\n  tttt: Formats.TIME_WITH_LONG_OFFSET,\n  T: Formats.TIME_24_SIMPLE,\n  TT: Formats.TIME_24_WITH_SECONDS,\n  TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n  TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n  f: Formats.DATETIME_SHORT,\n  ff: Formats.DATETIME_MED,\n  fff: Formats.DATETIME_FULL,\n  ffff: Formats.DATETIME_HUGE,\n  F: Formats.DATETIME_SHORT_WITH_SECONDS,\n  FF: Formats.DATETIME_MED_WITH_SECONDS,\n  FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n  FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n  static create(locale, opts = {}) {\n    return new Formatter(locale, opts);\n  }\n\n  static parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    let current = null,\n      currentFull = \"\",\n      bracketed = false;\n    const splits = [];\n    for (let i = 0; i < fmt.length; i++) {\n      const c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n\n    if (currentFull.length > 0) {\n      splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n    }\n\n    return splits;\n  }\n\n  static macroTokenToFormatOpts(token) {\n    return macroTokenToFormatOpts[token];\n  }\n\n  constructor(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n\n  formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n    return df.format();\n  }\n\n  dtFormatter(dt, opts = {}) {\n    return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n  }\n\n  formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  }\n\n  formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  }\n\n  formatInterval(interval, opts) {\n    const df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  }\n\n  resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  }\n\n  num(n, p = 0) {\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n\n    const opts = { ...this.opts };\n\n    if (p > 0) {\n      opts.padTo = p;\n    }\n\n    return this.loc.numberFormatter(opts).format(n);\n  }\n\n  formatDateTimeFromString(dt, fmt) {\n    const knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = (opts, extract) => this.loc.extract(dt, opts, extract),\n      formatOffset = (opts) => {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = () =>\n        knownEnglish\n          ? English.meridiemForDateTime(dt)\n          : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n      month = (length, standalone) =>\n        knownEnglish\n          ? English.monthForDateTime(dt, length)\n          : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n      weekday = (length, standalone) =>\n        knownEnglish\n          ? English.weekdayForDateTime(dt, length)\n          : string(\n              standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n              \"weekday\"\n            ),\n      maybeMacro = (token) => {\n        const formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = (length) =>\n        knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n      tokenToString = (token) => {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return this.num(dt.second);\n          case \"ss\":\n            return this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return this.num(dt.minute);\n          case \"mm\":\n            return this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return this.num(dt.hour);\n          case \"HH\":\n            return this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter\n              ? string({ year: \"2-digit\" }, \"year\")\n              : this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return this.num(dt.weekYear, 4);\n          case \"W\":\n            return this.num(dt.weekNumber);\n          case \"WW\":\n            return this.num(dt.weekNumber, 2);\n          case \"o\":\n            return this.num(dt.ordinal);\n          case \"ooo\":\n            return this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return this.num(dt.quarter, 2);\n          case \"X\":\n            return this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  }\n\n  formatDurationFromString(dur, fmt) {\n    const tokenToField = (token) => {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = (lildur) => (token) => {\n        const mapped = tokenToField(token);\n        if (mapped) {\n          return this.num(lildur.get(mapped), token.length);\n        } else {\n          return token;\n        }\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce(\n        (found, { literal, val }) => (literal ? found : found.concat(val)),\n        []\n      ),\n      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  }\n}\n","export default class Invalid {\n  constructor(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n\n  toMessage() {\n    if (this.explanation) {\n      return `${this.reason}: ${this.explanation}`;\n    } else {\n      return this.reason;\n    }\n  }\n}\n","import { padStart, roundTo, hasRelative, formatOffset } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n  const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n  const key = JSON.stringify([locString, cacheKeyOpts]);\n  let inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\n\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  const xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n\n  const uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    let options;\n    let selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      const smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n\n    const { numberingSystem, calendar } = options;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n\n    if (outputCalendar) {\n      localeStr += `-ca-${outputCalendar}`;\n    }\n\n    if (numberingSystem) {\n      localeStr += `-nu-${numberingSystem}`;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\n\nfunction mapMonths(f) {\n  const ms = [];\n  for (let i = 1; i <= 12; i++) {\n    const dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction mapWeekdays(f) {\n  const ms = [];\n  for (let i = 1; i <= 7; i++) {\n    const dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n  const mode = loc.listingMode();\n\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\n\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return (\n      loc.numberingSystem === \"latn\" ||\n      !loc.locale ||\n      loc.locale.startsWith(\"en\") ||\n      new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n    );\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n  constructor(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n\n    const { padTo, floor, ...otherOpts } = opts;\n\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      const intlOpts = { useGrouping: false, ...opts };\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n\n  format(i) {\n    if (this.inf) {\n      const fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(fixed, this.padTo);\n    }\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n  constructor(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n\n    let z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      const gmtOffset = -1 * (dt.offset / 60);\n      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n      this.originalZone = dt.zone;\n    }\n\n    const intlOpts = { ...this.opts };\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n\n  format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts()\n        .map(({ value }) => value)\n        .join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  }\n\n  formatToParts() {\n    const parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map((part) => {\n        if (part.type === \"timeZoneName\") {\n          const offsetName = this.originalZone.offsetName(this.dt.ts, {\n            locale: this.dt.locale,\n            format: this.opts.timeZoneName,\n          });\n          return {\n            ...part,\n            value: offsetName,\n          };\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  }\n\n  resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n  constructor(intl, isEnglish, opts) {\n    this.opts = { style: \"long\", ...opts };\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n\n  format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  }\n\n  formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  }\n}\n\n/**\n * @private\n */\n\nexport default class Locale {\n  static fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);\n  }\n\n  static create(locale, numberingSystem, outputCalendar, defaultToEN = false) {\n    const specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n    const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);\n  }\n\n  static resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  }\n\n  static fromObject({ locale, numberingSystem, outputCalendar } = {}) {\n    return Locale.create(locale, numberingSystem, outputCalendar);\n  }\n\n  constructor(locale, numbering, outputCalendar, specifiedLocale) {\n    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n    this.weekdaysCache = { format: {}, standalone: {} };\n    this.monthsCache = { format: {}, standalone: {} };\n    this.meridiemCache = null;\n    this.eraCache = {};\n\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n\n  get fastNumbers() {\n    if (this.fastNumbersCached == null) {\n      this.fastNumbersCached = supportsFastNumbers(this);\n    }\n\n    return this.fastNumbersCached;\n  }\n\n  listingMode() {\n    const isActuallyEn = this.isEnglish();\n    const hasNoWeirdness =\n      (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n      (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  }\n\n  clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(\n        alts.locale || this.specifiedLocale,\n        alts.numberingSystem || this.numberingSystem,\n        alts.outputCalendar || this.outputCalendar,\n        alts.defaultToEN || false\n      );\n    }\n  }\n\n  redefaultToEN(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: true });\n  }\n\n  redefaultToSystem(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: false });\n  }\n\n  months(length, format = false) {\n    return listStuff(this, length, English.months, () => {\n      const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.monthsCache[formatStr][length]) {\n        this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n      }\n      return this.monthsCache[formatStr][length];\n    });\n  }\n\n  weekdays(length, format = false) {\n    return listStuff(this, length, English.weekdays, () => {\n      const intl = format\n          ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n          : { weekday: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.weekdaysCache[formatStr][length]) {\n        this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n          this.extract(dt, intl, \"weekday\")\n        );\n      }\n      return this.weekdaysCache[formatStr][length];\n    });\n  }\n\n  meridiems() {\n    return listStuff(\n      this,\n      undefined,\n      () => English.meridiems,\n      () => {\n        // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n        // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n        if (!this.meridiemCache) {\n          const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n          this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n            (dt) => this.extract(dt, intl, \"dayperiod\")\n          );\n        }\n\n        return this.meridiemCache;\n      }\n    );\n  }\n\n  eras(length) {\n    return listStuff(this, length, English.eras, () => {\n      const intl = { era: length };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!this.eraCache[length]) {\n        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n          this.extract(dt, intl, \"era\")\n        );\n      }\n\n      return this.eraCache[length];\n    });\n  }\n\n  extract(dt, intlOpts, field) {\n    const df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find((m) => m.type.toLowerCase() === field);\n    return matching ? matching.value : null;\n  }\n\n  numberFormatter(opts = {}) {\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  }\n\n  dtFormatter(dt, intlOpts = {}) {\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  }\n\n  relFormatter(opts = {}) {\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  }\n\n  listFormatter(opts = {}) {\n    return getCachedLF(this.intl, opts);\n  }\n\n  isEnglish() {\n    return (\n      this.locale === \"en\" ||\n      this.locale.toLowerCase() === \"en-us\" ||\n      new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n    );\n  }\n\n  equals(other) {\n    return (\n      this.locale === other.locale &&\n      this.numberingSystem === other.numberingSystem &&\n      this.outputCalendar === other.outputCalendar\n    );\n  }\n}\n","import {\n  untruncateYear,\n  signedOffset,\n  parseInteger,\n  parseMillis,\n  isUndefined,\n  parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n  const full = regexes.reduce((f, r) => f + r.source, \"\");\n  return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n  return (m) =>\n    extractors\n      .reduce(\n        ([mergedVals, mergedZone, cursor], ex) => {\n          const [val, zone, next] = ex(m, cursor);\n          return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n        },\n        [{}, null, 1]\n      )\n      .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n  if (s == null) {\n    return [null, null];\n  }\n\n  for (const [regex, extractor] of patterns) {\n    const m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\n\nfunction simpleParse(...keys) {\n  return (match, cursor) => {\n    const ret = {};\n    let i;\n\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n  `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n  const m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n  const item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1),\n  };\n\n  return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n  const item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3]),\n  };\n\n  return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n  const local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n  /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n    match;\n\n  const hasNegativePrefix = s[0] === \"-\";\n  const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n  const maybeNegate = (num, force = false) =>\n    num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n  return [\n    {\n      years: maybeNegate(parseFloating(yearStr)),\n      months: maybeNegate(parseFloating(monthStr)),\n      weeks: maybeNegate(parseFloating(weekStr)),\n      days: maybeNegate(parseFloating(dayStr)),\n      hours: maybeNegate(parseFloating(hourStr)),\n      minutes: maybeNegate(parseFloating(minuteStr)),\n      seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n      milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n    },\n  ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  const result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: English.monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr),\n  };\n\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday =\n      weekdayStr.length > 3\n        ? English.weekdaysLong.indexOf(weekdayStr) + 1\n        : English.weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n\n  return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n  /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n  const [\n      ,\n      weekdayStr,\n      dayStr,\n      monthStr,\n      yearStr,\n      hourStr,\n      minuteStr,\n      secondStr,\n      obsOffset,\n      milOffset,\n      offHourStr,\n      offMinuteStr,\n    ] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n  let offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n\n  return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s\n    .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n    .replace(/(\\s\\s+)/g, \" \")\n    .trim();\n}\n\n// http date\n\nconst rfc1123 =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 =\n    /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n  extractISOYmd,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n  extractISOWeekData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n  extractISOOrdinalData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n  return parse(\n    s,\n    [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n    [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n    [isoTimeCombinedRegex, extractISOTimeAndOffset]\n  );\n}\n\nexport function parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n  return parse(\n    s,\n    [rfc1123, extractRFC1123Or850],\n    [rfc850, extractRFC1123Or850],\n    [ascii, extractASCII]\n  );\n}\n\nexport function parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\nexport function parseSQL(s) {\n  return parse(\n    s,\n    [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n  );\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n  return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n  return s\n    .replace(/\\./g, \"\") // ignore dots that were made optional\n    .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n    .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: ([s]) =>\n        strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n    };\n  }\n}\n\nfunction offset(regex, groups) {\n  return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n  return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  const one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n    unitate = (t) => {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n\n  const unit = unitate(token) || {\n    invalidReason: MISSING_FTP,\n  };\n\n  unit.token = token;\n\n  return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\",\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\",\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\",\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\",\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\",\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\",\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\",\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\",\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\",\n  },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  const { type, value } = part;\n\n  if (type === \"literal\") {\n    const isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value,\n    };\n  }\n\n  const style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  let actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  let val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n\n  if (val) {\n    return {\n      literal: false,\n      val,\n    };\n  }\n\n  return undefined;\n}\n\nfunction buildRegex(units) {\n  const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n  return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n  const matches = input.match(regex);\n\n  if (matches) {\n    const all = {};\n    let matchIndex = 1;\n    for (const i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        const h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\n\nfunction dateTimeFromMatches(matches) {\n  const toField = (token) => {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n\n  let zone = null;\n  let specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n\n  const vals = Object.keys(matches).reduce((r, k) => {\n    const f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n\n    return r;\n  }, {});\n\n  return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n\n  return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n\n  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  const tokens = formatOptsToTokens(formatOpts, locale);\n\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n\n  return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n  return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport function explainFromTokens(locale, input, format) {\n  const tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n    units = tokens.map((t) => unitForToken(t, locale)),\n    disqualifyingUnit = units.find((t) => t.invalidReason);\n\n  if (disqualifyingUnit) {\n    return { input, tokens, invalidReason: disqualifyingUnit.invalidReason };\n  } else {\n    const [regexString, handlers] = buildRegex(units),\n      regex = RegExp(regexString, \"i\"),\n      [rawMatches, matches] = match(input, regex, handlers),\n      [result, zone, specificOffset] = matches\n        ? dateTimeFromMatches(matches)\n        : [null, null, undefined];\n    if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n      throw new ConflictingSpecificationError(\n        \"Can't include meridiem when specifying 24-hour format\"\n      );\n    }\n    return { input, tokens, regex, rawMatches, matches, result, zone, specificOffset };\n  }\n}\n\nexport function parseFromTokens(locale, input, format) {\n  const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n  return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n\n  const formatter = Formatter.create(locale, formatOpts);\n  const df = formatter.dtFormatter(getDummyDateTime());\n  const parts = df.formatToParts();\n  const resolvedOpts = df.resolvedOptions();\n  return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","/*\n  This is just a junk drawer, containing anything used across multiple classes.\n  Because Luxon is small(ish), this should stay small and we won't worry about splitting\n  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n  return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n  return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n  return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce((best, next) => {\n    const pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\n\nexport function pick(obj, keys) {\n  return keys.reduce((a, k) => {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n  const isNeg = input < 0;\n  let padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\n\nexport function parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\n\nexport function parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\n\nexport function parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    const f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n  const factor = 10 ** digits,\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n  const modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n  let d = Date.UTC(\n    obj.year,\n    obj.month - 1,\n    obj.day,\n    obj.hour,\n    obj.minute,\n    obj.second,\n    obj.millisecond\n  );\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\nexport function weeksInWeekYear(weekYear) {\n  const p1 =\n      (weekYear +\n        Math.floor(weekYear / 4) -\n        Math.floor(weekYear / 100) +\n        Math.floor(weekYear / 400)) %\n      7,\n    last = weekYear - 1,\n    p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;\n  return p1 === 4 || p2 === 3 ? 53 : 52;\n}\n\nexport function untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n  const date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n    };\n\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n\n  const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n  const parsed = new Intl.DateTimeFormat(locale, modified)\n    .formatToParts(date)\n    .find((m) => m.type.toLowerCase() === \"timezonename\");\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n  let offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n\n  const offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n  const numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n    throw new InvalidArgumentError(`Invalid unit value ${value}`);\n  return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n  const normalized = {};\n  for (const u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      const v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\n\nexport function formatOffset(offset, format) {\n  const hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n\n  switch (format) {\n    case \"short\":\n      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n    case \"narrow\":\n      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n    case \"techie\":\n      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n    default:\n      throw new RangeError(`Value format ${format} is out of range for property format`);\n  }\n}\n\nexport function timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n  let offset;\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    const lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;\n    else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n    else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n    else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  static hasDST(zone = Settings.defaultZone) {\n    const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n    return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */\n  static isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */\n  static normalizeZone(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */\n  static months(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */\n  static monthsFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */\n  static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */\n  static weekdaysFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */\n  static meridiems({ locale = null } = {}) {\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */\n  static eras(length = \"short\", { locale = null } = {}) {\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * @example Info.features() //=> { relative: false }\n   * @return {Object}\n   */\n  static features() {\n    return { relative: hasRelative() };\n  }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\n      \"end before start\",\n      `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n    );\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n  /**\n   * @private\n   */\n  constructor(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({ invalid });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */\n  static fromDateTimes(start, end) {\n    const builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n\n    const validateError = validateStartEnd(builtStart, builtEnd);\n\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd,\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static after(start, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static before(end, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */\n  static fromISO(text, opts) {\n    const [s, e] = (text || \"\").split(\"/\", 2);\n    if (s && e) {\n      let start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n\n      let end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n\n      if (startIsValid) {\n        const dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        const dur = Duration.fromISO(s, opts);\n        if (dur.isValid) {\n          return Interval.before(end, dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isInterval(o) {\n    return (o && o.isLuxonInterval) || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */\n  get start() {\n    return this.isValid ? this.s : null;\n  }\n\n  /**\n   * Returns the end of the Interval\n   * @type {DateTime}\n   */\n  get end() {\n    return this.isValid ? this.e : null;\n  }\n\n  /**\n   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalidReason === null;\n  }\n\n  /**\n   * Returns an error code if this Interval is invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  length(unit = \"milliseconds\") {\n    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @return {number}\n   */\n  count(unit = \"milliseconds\") {\n    if (!this.isValid) return NaN;\n    const start = this.start.startOf(unit),\n      end = this.end.startOf(unit);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */\n  hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */\n  isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */\n  set({ start, end } = {}) {\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */\n  splitAt(...dateTimes) {\n    if (!this.isValid) return [];\n    const sorted = dateTimes\n        .map(friendlyDateTime)\n        .filter((d) => this.contains(d))\n        .sort(),\n      results = [];\n    let { s } = this,\n      i = 0;\n\n    while (s < this.e) {\n      const added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */\n  splitBy(duration) {\n    const dur = Duration.fromDurationLike(duration);\n\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n\n    let { s } = this,\n      idx = 1,\n      next;\n\n    const results = [];\n    while (s < this.e) {\n      const added = this.start.plus(dur.mapUnits((x) => x * idx));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */\n  divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Return whether this Interval engulfs the start and end of the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  intersection(other) {\n    if (!this.isValid) return this;\n    const s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  union(other) {\n    if (!this.isValid) return this;\n    const s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static merge(intervals) {\n    const [found, final] = intervals\n      .sort((a, b) => a.s - b.s)\n      .reduce(\n        ([sofar, current], item) => {\n          if (!current) {\n            return [sofar, item];\n          } else if (current.overlaps(item) || current.abutsStart(item)) {\n            return [sofar, current.union(item)];\n          } else {\n            return [sofar.concat([current]), item];\n          }\n        },\n        [[], null]\n      );\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static xor(intervals) {\n    let start = null,\n      currentCount = 0;\n    const results = [],\n      ends = intervals.map((i) => [\n        { time: i.s, type: \"s\" },\n        { time: i.e, type: \"e\" },\n      ]),\n      flattened = Array.prototype.concat(...ends),\n      arr = flattened.sort((a, b) => a.time - b.time);\n\n    for (const i of arr) {\n      currentCount += i.type === \"s\" ? 1 : -1;\n\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n\n        start = null;\n      }\n    }\n\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */\n  difference(...intervals) {\n    return Interval.xor([this].concat(intervals))\n      .map((i) => this.intersection(i))\n      .filter((i) => i && !i.isEmpty());\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */\n  toString() {\n    if (!this.isValid) return INVALID;\n    return `[${this.s.toISO()} – ${this.e.toISO()})`;\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISO(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */\n  toISODate() {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISODate()}/${this.e.toISODate()}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISOTime(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */\n  toFormat(dateFormat, { separator = \" – \" } = {}) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */\n  toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */\n  mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  }\n}\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nlet now = () => Date.now(),\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n  /**\n   * Get the callback for returning the current timestamp.\n   * @type {function}\n   */\n  static get now() {\n    return now;\n  }\n\n  /**\n   * Set the callback for returning the current timestamp.\n   * The function should return a number, which will be interpreted as an Epoch millisecond count\n   * @type {function}\n   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n   */\n  static set now(n) {\n    now = n;\n  }\n\n  /**\n   * Set the default time zone to create DateTimes in. Does not affect existing instances.\n   * Use the value \"system\" to reset this value to the system's time zone.\n   * @type {string}\n   */\n  static set defaultZone(zone) {\n    defaultZone = zone;\n  }\n\n  /**\n   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n   * The default value is the system's time zone (the one set on the machine that runs this code).\n   * @type {Zone}\n   */\n  static get defaultZone() {\n    return normalizeZone(defaultZone, SystemZone.instance);\n  }\n\n  /**\n   * Get the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultLocale() {\n    return defaultLocale;\n  }\n\n  /**\n   * Set the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultLocale(locale) {\n    defaultLocale = locale;\n  }\n\n  /**\n   * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultNumberingSystem() {\n    return defaultNumberingSystem;\n  }\n\n  /**\n   * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultNumberingSystem(numberingSystem) {\n    defaultNumberingSystem = numberingSystem;\n  }\n\n  /**\n   * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultOutputCalendar() {\n    return defaultOutputCalendar;\n  }\n\n  /**\n   * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultOutputCalendar(outputCalendar) {\n    defaultOutputCalendar = outputCalendar;\n  }\n\n  /**\n   * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   */\n  static get twoDigitCutoffYear() {\n    return twoDigitCutoffYear;\n  }\n\n  /**\n   * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century\n   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050\n   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n   */\n  static set twoDigitCutoffYear(cutoffYear) {\n    twoDigitCutoffYear = cutoffYear % 100;\n  }\n\n  /**\n   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static get throwOnInvalid() {\n    return throwOnInvalid;\n  }\n\n  /**\n   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static set throwOnInvalid(t) {\n    throwOnInvalid = t;\n  }\n\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n  }\n}\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n  /**\n   * The type of zone\n   * @abstract\n   * @type {string}\n   */\n  get type() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The name of this zone.\n   * @abstract\n   * @type {string}\n   */\n  get name() {\n    throw new ZoneIsAbstractError();\n  }\n\n  get ianaName() {\n    return this.name;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year.\n   * @abstract\n   * @type {boolean}\n   */\n  get isUniversal() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */\n  get isValid() {\n    throw new ZoneIsAbstractError();\n  }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\",\n    });\n  }\n  return dtfCache[zone];\n}\n\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n  const formatted = dtf.formatToParts(date);\n  const filled = [];\n  for (let i = 0; i < formatted.length; i++) {\n    const { type, value } = formatted[i];\n    const pos = typeToPos[type];\n\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  static create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.\n   * @return {boolean}\n   */\n  static isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */\n  static isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n\n  constructor(name) {\n    super();\n    /** @private **/\n    this.zoneName = name;\n    /** @private **/\n    this.valid = IANAZone.isValidZone(name);\n  }\n\n  /** @override **/\n  get type() {\n    return \"iana\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    const date = new Date(ts);\n\n    if (isNaN(date)) return NaN;\n\n    const dtf = makeDTF(this.name);\n    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n      ? partsOffset(dtf, date)\n      : hackyOffset(dtf, date);\n\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    const adjustedHour = hour === 24 ? 0 : hour;\n\n    const asUTC = objToLocalTS({\n      year,\n      month,\n      day,\n      hour: adjustedHour,\n      minute,\n      second,\n      millisecond: 0,\n    });\n\n    let asTS = +date;\n    const over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /** @override **/\n  get isValid() {\n    return this.valid;\n  }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n  /**\n   * Get a singleton instance of UTC\n   * @return {FixedOffsetZone}\n   */\n  static get utcInstance() {\n    if (singleton === null) {\n      singleton = new FixedOffsetZone(0);\n    }\n    return singleton;\n  }\n\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  static instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */\n  static parseSpecifier(s) {\n    if (s) {\n      const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  }\n\n  constructor(offset) {\n    super();\n    /** @private **/\n    this.fixed = offset;\n  }\n\n  /** @override **/\n  get type() {\n    return \"fixed\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n  }\n\n  get ianaName() {\n    if (this.fixed === 0) {\n      return \"Etc/UTC\";\n    } else {\n      return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n    }\n  }\n\n  /** @override **/\n  offsetName() {\n    return this.name;\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return true;\n  }\n\n  /** @override **/\n  offset() {\n    return this.fixed;\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n  constructor(zoneName) {\n    super();\n    /**  @private */\n    this.zoneName = zoneName;\n  }\n\n  /** @override **/\n  get type() {\n    return \"invalid\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName() {\n    return null;\n  }\n\n  /** @override **/\n  formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/\n  offset() {\n    return NaN;\n  }\n\n  /** @override **/\n  equals() {\n    return false;\n  }\n\n  /** @override **/\n  get isValid() {\n    return false;\n  }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n  /**\n   * Get a singleton instance of the local zone\n   * @return {SystemZone}\n   */\n  static get instance() {\n    if (singleton === null) {\n      singleton = new SystemZone();\n    }\n    return singleton;\n  }\n\n  /** @override **/\n  get type() {\n    return \"system\";\n  }\n\n  /** @override **/\n  get name() {\n    return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var inProgress = {};\nvar dataWebpackPrefix = \"multidialogo-frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","if (typeof __webpack_modules__ !== 'undefined') {\n__webpack_require__.m = __webpack_require__.m || __webpack_modules__;\n__webpack_require__.c = __webpack_require__.c || __webpack_module_cache__;\n}","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"7\":\"87f4c2caa3a6e2530f2d\",\"10\":\"5ec17850388cbc60baa4\",\"287\":\"06e3a015b7a796537d85\",\"440\":\"b813e94641f45d7cf604\",\"472\":\"4f322ad61d3e0f7f8155\",\"778\":\"9124e4cb123fb1eb1427\",\"843\":\"3fa43ba9dae4a88c317d\",\"990\":\"733c86695cae70b98a39\"}[chunkId] + \".chunk.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultidialogo_frontend\"] = self[\"webpackChunkmultidialogo_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// With default aurelia-loader-webpack config, this module is added as an extra entry\r\n// before any other code executes so that PAL.Loader is properly configured.\r\n// There are several tricky points worth noticing.\r\n// \r\n// We don't add aurelia-loader-webpack itself as an entry point (used to until 2.0 RC2)\r\n// because it (transitively) brings too much bagage with itself, most notably polyfills.\r\n// This made it super-hard to add other polyfills before Aurelia's and led to various bugs.\r\n//\r\n// We don't add custom code in aurelia-pal or aurelia-loader or aurelia-bootstrapper to detect\r\n// the Webpack environment and configure the loader because they might live in a DLL.\r\n// If they do, they would bring aurelia-loader-webpack along in the DLL and this is a special \r\n// library that *has to be in the main chunk.*\r\n//\r\n// The over-complicated design I've settled upon in the end is to use this special module\r\n// as an entry point that configures aurelia-loader-webpack. It has minimal static imports:\r\n// just aurelia-pal, which itself has no other dependencies and doesn't run much code.\r\n// It hacks the loader field into a getter so that it can synchronously load aurelia-loader-webpack\r\n// just in time when it is demanded by aurelia-bootstrapper.\r\n// This enables users to load polyfills before aurelia-loader-webpack is actually loaded.\r\n\r\nimport { PLATFORM } from \"aurelia-pal\";\r\n\r\nvar Loader;\r\n\r\nObject.defineProperty(PLATFORM, \"Loader\", {\r\n  get: function() {\r\n    return Loader || (Loader = require(\"aurelia-loader-webpack\").WebpackLoader);\r\n  },\r\n  set: function(value) {\r\n    Loader = value;\r\n  }\r\n});\r\n","import 'aurelia-polyfills';\nimport { PLATFORM, isInitialized } from 'aurelia-pal';\n\nvar bootstrapPromises = [];\r\nvar startResolve;\r\nvar startPromise = new Promise(function (resolve) { return startResolve = resolve; });\r\nvar host = PLATFORM.global;\r\nvar isNodeLike = typeof process !== 'undefined' && !process.browser;\r\nfunction ready() {\r\n    if (!host.document || host.document.readyState === 'complete') {\r\n        return Promise.resolve();\r\n    }\r\n    return new Promise(function (resolve) {\r\n        host.document.addEventListener('DOMContentLoaded', completed);\r\n        host.addEventListener('load', completed);\r\n        function completed() {\r\n            host.document.removeEventListener('DOMContentLoaded', completed);\r\n            host.removeEventListener('load', completed);\r\n            resolve();\r\n        }\r\n    });\r\n}\r\nfunction createLoader() {\r\n    if (PLATFORM.Loader) {\r\n        return Promise.resolve(new PLATFORM.Loader());\r\n    }\r\n    if (typeof AURELIA_WEBPACK_2_0 === 'undefined') {\r\n        if (typeof __webpack_require__ !== 'undefined') {\r\n            var m = __webpack_require__(require.resolve('aurelia-loader-webpack'));\r\n            return Promise.resolve(new m.WebpackLoader());\r\n        }\r\n        if (host.System && typeof host.System.config === 'function') {\r\n            return host.System.normalize('aurelia-bootstrapper').then(function (bsn) {\r\n                return host.System.normalize('aurelia-loader-default', bsn);\r\n            }).then(function (loaderName) {\r\n                return host.System.import(loaderName).then(function (m) { return new m.DefaultLoader(); });\r\n            });\r\n        }\r\n        if (typeof host.require === 'function' && typeof host.define === 'function' && typeof host.define.amd === 'object') {\r\n            return new Promise(function (resolve, reject) { return host.require(['aurelia-loader-default'], function (m) { return resolve(new m.DefaultLoader()); }, reject); });\r\n        }\r\n        if (isNodeLike && typeof module !== 'undefined' && typeof module.require !== 'undefined') {\r\n            var m = module.require('aurelia-loader-nodejs');\r\n            return Promise.resolve(new m.NodeJsLoader());\r\n        }\r\n    }\r\n    return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.');\r\n}\r\nfunction initializePal(loader) {\r\n    if (isInitialized)\r\n        return Promise.resolve();\r\n    var type;\r\n    var isRenderer = isNodeLike && (process.type === 'renderer' || process.versions['node-webkit']);\r\n    if (isNodeLike && !isRenderer) {\r\n        type = 'nodejs';\r\n    }\r\n    else if (typeof window !== 'undefined') {\r\n        type = 'browser';\r\n    }\r\n    else if (typeof self !== 'undefined') {\r\n        type = 'worker';\r\n    }\r\n    else {\r\n        throw new Error('Could not determine platform implementation to load.');\r\n    }\r\n    return loader.loadModule('aurelia-pal-' + type)\r\n        .then(function (palModule) { return type === 'nodejs' && !isInitialized && palModule.globalize() || palModule.initialize(); });\r\n}\r\nfunction preparePlatform(loader) {\r\n    var map = function (moduleId, relativeTo) {\r\n        return loader.normalize(moduleId, relativeTo)\r\n            .then(function (normalized) {\r\n            loader.map(moduleId, normalized);\r\n            return normalized;\r\n        });\r\n    };\r\n    return initializePal(loader)\r\n        .then(function () { return loader.normalize('aurelia-bootstrapper'); })\r\n        .then(function (bootstrapperName) {\r\n        var frameworkPromise = map(PLATFORM.moduleName('aurelia-framework', { exports: ['Aurelia'] }), bootstrapperName);\r\n        return Promise.all([\r\n            frameworkPromise,\r\n            frameworkPromise.then(function (frameworkName) { return map('aurelia-dependency-injection', frameworkName); }),\r\n            map('aurelia-router', bootstrapperName),\r\n            map('aurelia-logging-console', bootstrapperName)\r\n        ]);\r\n    })\r\n        .then(function (_a) {\r\n        var frameworkName = _a[0];\r\n        return loader.loadModule(frameworkName);\r\n    })\r\n        .then(function (fx) { return startResolve(function () { return new fx.Aurelia(loader); }); });\r\n}\r\nfunction config(appHost, configModuleId, aurelia) {\r\n    aurelia.host = appHost;\r\n    aurelia.configModuleId = configModuleId || null;\r\n    if (configModuleId) {\r\n        return aurelia.loader\r\n            .loadModule(configModuleId)\r\n            .then(function (customConfig) {\r\n            if (!customConfig.configure) {\r\n                throw new Error(\"Cannot initialize module '\".concat(configModuleId, \"' without a configure function.\"));\r\n            }\r\n            return customConfig.configure(aurelia);\r\n        });\r\n    }\r\n    aurelia.use\r\n        .standardConfiguration()\r\n        .developmentLogging();\r\n    return aurelia.start().then(function () { return aurelia.setRoot(); });\r\n}\r\nfunction run() {\r\n    return ready()\r\n        .then(createLoader)\r\n        .then(preparePlatform)\r\n        .then(function () {\r\n        var appHosts = host.document.querySelectorAll('[aurelia-app],[data-aurelia-app]');\r\n        for (var i = 0, ii = appHosts.length; i < ii; ++i) {\r\n            var appHost = appHosts[i];\r\n            var mainModuleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app');\r\n            bootstrap(config.bind(null, appHost, mainModuleId));\r\n        }\r\n        var toConsole = console.error.bind(console);\r\n        var bootstraps = bootstrapPromises.map(function (p) { return p.catch(toConsole); });\r\n        bootstrapPromises = null;\r\n        return Promise.all(bootstraps);\r\n    });\r\n}\r\nfunction bootstrap(configure) {\r\n    var p = startPromise.then(function (factory) { return configure(factory()); });\r\n    if (bootstrapPromises)\r\n        bootstrapPromises.push(p);\r\n    return p;\r\n}\r\nvar starting = run();\n\nexport { bootstrap, starting };\n//# sourceMappingURL=aurelia-bootstrapper.js.map\n"],"names":["_global","_interopRequireDefault","obj","__esModule","_babelPolyfill","console","warn","_class","_class2","_class3","_class5","_class7","_class8","_class9","_class10","_class12","_temp","_class13","_class14","_temp2","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","prototype","_typeof","Symbol","iterator","constructor","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","TypeError","create","value","setPrototypeOf","__proto__","targetContext","sourceContext","map","camelCase","name","result","charAt","toLowerCase","slice","replace","_","x","toUpperCase","createOverrideContext","bindingContext","parentOverrideContext","getContextFor","scope","ancestor","oc","overrideContext","slotNames","versionSlotNames","lastSlot","ensureEnoughSlotNames","currentSlot","ii","addObserver","observer","observerSlots","undefined","this","_observerSlots","subscribe","_version","observeProperty","propertyName","observerLocator","getObserver","observeArray","array","getArrayObserver","unobserve","all","unsubscribe","connectable","queue","queued","nextId","minimumImmediate","frameBudget","isFlushRequested","immediate","flush","animationFrameStart","binding","__connectQueueId","connect","splice","enqueueBindingConnect","id","push","addSubscriber","context","callable","hasSubscriber","_context0","_context1","_context2","_contextsRest","_callablesRest","_callable2","_callable1","_callable0","removeSubscriber","callables","contexts","arrayPool1","arrayPool2","poolUtilization","callSubscribers","newValue","oldValue","context0","callable0","context1","callable1","context2","callable2","contextsRest","callablesRest","poolIndex","hasSubscribers","index","subscriberCollection","ExpressionObserver","_dec","_dec2","expression","lookupFunctions","getValue","evaluate","setValue","assign","_this","arguments","Function","dispose","toNumber","s","newSplice","removed","addedCount","ArraySplice","calcEditDistances","current","currentStart","currentEnd","old","oldStart","oldEnd","rowCount","columnCount","distances","Array","north","west","j","_i","_j","equals","spliceOperationsFromEditDistances","edits","northWest","min","reverse","calcSplices","prefixCount","suffixCount","minLength","Math","sharedPrefix","sharedSuffix","_splice","ops","splices","oldIndex","searchLength","index1","index2","count","calculateSplices","previous","currentValue","previousValue","arraySplice","mergeSplice","start1","end1","start2","end2","inserted","insertionOffset","intersectCount","deleteCount","currentRemoved","prepend","apply","append","offset","projectArraySplices","changeRecords","createInitialSplices","record","type","error","JSON","stringify","forEach","concat","ModifyCollectionObserver","_dec3","taskQueue","collection","oldCollection","lengthPropertyName","Map","Set","addChangeRecord","changeRecord","lengthObserver","arrayLength","object","queueMicroTask","flushChangeRecords","reset","getLengthObserver","CollectionLengthObserver","records","getChangeRecords","entries","size","keys","item","next","done","newRecord","_dec4","arrayProto","pop","shift","sort","unshift","__au_patched__","Reflect","notEmpty","methodCallResult","__array_observer__","oldArray","ModifyArrayObserver","_ModifyCollectionObse","for","_for","Expression","isAssignable","args","Error","toString","FEATURE_NO_UNPARSER","_Unparser","unparse","BindingBehavior","_Expression","_this3","accept","visitor","visitBindingBehavior","bind","behavior","bindingBehaviors","behaviorKey","evalList","unbind","ValueConverter","_Expression2","_this4","allArgs","converter","valueConverters","toView","fromView","visitValueConverter","expressions","signals","connectBindingToSignal","Assign","_Expression3","_this5","vistor","visitAssign","Conditional","_Expression4","condition","yes","no","_this6","visitConditional","AccessThis","_Expression5","_this7","visitAccessThis","AccessScope","_Expression6","_this8","visitAccessScope","AccessMember","_Expression7","_this9","instance","visitAccessMember","AccessKeyed","_Expression8","_this10","getKeyed","isArray","parseInt","setKeyed","visitAccessKeyed","CallScope","_Expression9","_this11","mustEvaluate","func","getFunction","visitCallScope","CallMember","_Expression10","_this12","visitCallMember","CallFunction","_Expression11","_this13","visitCallFunction","Binary","_Expression12","operation","left","right","_this14","autoConvertAdd","a","b","visitBinary","Unary","_Expression13","_this15","visitPrefix","LiteralPrimitive","_Expression14","_this16","visitLiteralPrimitive","LiteralString","_Expression15","_this17","visitLiteralString","LiteralTemplate","_Expression16","cooked","raw","tag","_this18","tagged","contextType","getScopeContext","getObjectContext","results","_i2","String","visitLiteralTemplate","LiteralArray","_Expression17","elements","_this19","visitLiteralArray","LiteralObject","_Expression18","values","_this20","visitLiteralObject","list","mustExist","Unparser","buffer","join","write","text","writeArgs","conditional","access","prefix","charCodeAt","binary","literal","escaped","ExpressionCloner","cloneExpressionArray","clonedArray","visitUnary","unary","bindingMode","oneTime","oneWay","twoWay","Parser","cache","parse","src","ParserImplementation","parseBindingBehavior","fromCharCode","idx","start","len","tkn","T$EOF","val","ch","get","nextToken","T$ExpressionTerminal","err","parseValueConverter","opt","T$Ampersand","parseVariadicArgs","parseExpression","T$Bar","T$Colon","exprStart","parseConditional","T$Eq","parseBinary","T$Question","expect","minPrecedence","parseLeftHandSide","T$BinaryOp","opToken","T$Precedence","TokenValues","T$TokenMask","primary","T$Plus","T$Minus","T$Bang","T$TypeofKeyword","T$VoidKeyword","op","T$ParentScope","T$Period","T$AccessScopeTerminal","C$Ancestor","C$ShorthandProp","C$This","T$Identifier","C$Scope","T$ThisScope","T$LParen","T$RParen","C$Primary","T$LBracket","_elements","T$RBracket","T$Comma","T$LBrace","T$RBrace","T$IdentifierOrKeyword","T$Literal","T$StringLiteral","T$TemplateTail","T$TemplateContinuation","parseTemplate","T$NumericLiteral","T$NullKeyword","T$UndefinedKeyword","T$TrueKeyword","T$FalseKeyword","T$MemberOrCallExpression","C$Member","C$Keyed","C$Call","C$Tagged","scanTemplateTail","scanIdentifier","CharScanners","AsciiIdParts","has","IdParts","KeywordLookup","scanNumber","isFloat","pow","_start","parseFloat","scanString","quote","marker","_unescaped","hex","test","unescape","last","unescaped","scanTemplate","tail","message","column","token","code","T$ClosingToken","T$Keyword","T$UnaryOp","T$MemberExpression","T$BarBar","T$AmpersandAmpersand","T$Caret","T$EqEq","T$BangEq","T$EqEqEq","T$BangEqEq","T$Lt","T$Gt","T$LtEq","T$GtEq","T$InKeyword","T$InstanceOfKeyword","T$Star","T$Percent","T$Slash","true","null","false","$this","$parent","in","instanceof","typeof","void","codes","decompress","lookup","set","compressed","rangeCount","end","add","returnToken","p","unexpectedCharacter","Uint8Array","ci","mapProto","ModifyMapObserver","_ModifyCollectionObse2","__map_observer__","proto","delete","clear","hasValue","emLogger","findOriginalEventTarget","event","composedPath","deepPath","path","stopPropagation","standardStopPropagation","propagationStopped","handleCapturedEvent","orderedCallbacks","capturedCallbacks","callback","parentNode","orderedCallback","handleEvent","CapturedHandlerEntry","eventName","increment","decrement","DelegateHandlerEntry","eventManager","delegatedCallbacks","parent","escapeShadowRoot","ShadowRoot","host","DelegationEntryHandler","entry","targetEvent","EventHandler","removeEventListener","DefaultEventStrategy","delegatedHandlers","capturedHandlers","strategy","disposable","handlerEntry","delegationStrategy","bubbling","previousCallback","capturing","addEventListener","none","EventManager","elementHandlerLookup","eventStrategyLookup","registerElementConfig","tagName","properties","checked","files","scrollTop","scrollLeft","defaultEventStrategy","config","hasOwnProperty","registerEventStrategy","getElementHandler","EventSubscriber","callbackOrListener","delegate","events","element","handler","DirtyChecker","tracked","checkDelay","addProperty","property","scheduleDirtyCheck","removeProperty","indexOf","_this22","setTimeout","check","isDirty","DirtyCheckProperty","_dec5","dirtyChecker","logger","propertyAccessor","PrimitiveObserver","primitive","doNotCache","SetterObserver","_dec6","observing","getterValue","setterValue","convertProperty","propertyIsEnumerable","XLinkAttributeObserver","attributeName","getAttributeNS","setAttributeNS","nodeName","dataAttributeAccessor","getAttribute","removeAttribute","setAttribute","DataAttributeObserver","StyleObserver","styles","version","style","cssText","_setProperty","priority","setProperty","m","rx","pair","exec","ValueAttributeObserver","_dec7","notify","checkedArrayContext","checkedValueContext","CheckedObserver","_dec8","initialSync","arrayObserver","synchronizeElement","valueObserver","__observers__","model","elementValue","isRadio","matcher","findIndex","synchronizeValue","selectArrayContext","SelectValueObserver","_dec9","multiple","synchronizeOptions","options","_loop","option","optionValue","selected","_this23","_option","_ret2","_loop2","_loop3","v","_this24","domObserver","observe","childList","subtree","characterData","disconnect","ClassObserver","nameIndex","names","split","classList","remove","ComputedExpression","_Expression19","dependencies","_this25","svgElements","svgPresentationElements","svgPresentationAttributes","svgAnalyzer","FEATURE_NO_SVG","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","mask","metadata","mpath","pattern","polygon","polyline","radialGradient","rect","script","stop","svg","switch","symbol","textPath","title","tref","tspan","use","view","vkern","SVGAnalyzer","createElement","html","div","innerHTML","firstChild","firstElementChild","altglyph","altglyphdef","altglyphitem","glyphref","isStandardSvgAttribute","presentationElements","presentationAttributes","_class11","ObserverLocator","parser","adapters","observersLookup","createPropertyObserver","getOrCreateObserversLookup","createObserversLookup","addAdapter","adapter","getAdapterObserver","xlinkResult","hasDeclaredDependencies","getPropertyDescriptor","createComputedObserver","existingGetterOrSetter","adapterObserver","getMapObserver","getSetObserver","getAccessor","_getArrayObserver","_getMapObserver","_getSetObserver","ModifySetObserver","inject","BindingExpression","ObjectObservationAdapter","targetProperty","sourceExpression","mode","attribute","discrete","createBinding","Binding","_dec10","updateTarget","targetObserver","updateSource","source","isBound","method","CallExpression","Call","callSource","$event","prop","_this26","ValueConverterResource","convention","endsWith","substring","initialize","container","register","registry","registerValueConverter","load","valueConverter","nameOrTarget","BindingBehaviorResource","registerBindingBehavior","bindingBehavior","ListenerExpression","preventDefault","Listener","_handler","getAU","au","NameExpression","apiName","NameBinder","locateAPI","controller","viewModel","LookupFunctions","BindingEngine","createBindingExpression","propertyObserver","_this27","collectionObserver","_this28","expressionObserver","registerAdapter","setProto","_ModifyCollectionObse3","__set_observer__","oldSize","from","observable","targetOrConfig","deco","isClassDecorator","innerPropertyName","innerPropertyDescriptor","callbackName","changeHandler","initializer","t","k","d","__decorate","decorators","c","r","getOwnPropertyDescriptor","decorate","__metadata","metadataKey","metadataValue","autoinject","potentialTarget","_emptyParameters","isInjectable","rest","_key","Strategy","resolver","isStrategy","actual","expected","state","StrategyResolver","singleton","invoke","transient","function","alias","Number","Lazy","Lazy_1","of","Optional","All","All_1","getAll","checkParent","_checkParent","Optional_1","hasResolver","Boolean","NewInstance","Parent","Parent_1","Factory","Factory_1","fn","getResolver","dynamicDependencies","asKey","NewInstance_1","dependency","registerInstance","as","validateKey","freeze","resolverDecorates","decorates","InvocationHandler","invoker","invokeWithDynamicDependencies","classInvoker","Type","deps","instances","dep","construct","staticDependencies","Container","configuration","_configuration","_onHandlerCreated","onHandlerCreated","_handlers","handlers","_resolvers","root","makeGlobal","setHandlerCreatedCallback","registerResolver","registerSingleton","registerTransient","registerHandler","registerAlias","originalKey","aliasKey","resolver$$1","allResolvers","autoRegister","registration","autoRegisterAll","fns","unregister","_get","createChild","child","_createInvocationHandler","e","f","ctor","getPrototypeOf","FactoryInvoker","TransientRegistration","existingResolver","SingletonRegistration","keyOrRegisterInChild","registerInChild","_registerInChild","targetContainer","DefaultDialogSettings","lock","startingZIndex","centerHorizontalOnly","rejectOnCancel","ignoreTransitions","restoreFocus","lastActiveElement","focus","RENDERRERS","ux","then","DialogRenderer","native","NativeDialogRenderer","DEFAULT_RESOURCES","UxDialog","UxDialogHeader","UxDialogBody","UxDialogFooter","AttachFocus","DEFAULT_CSS_TEXT","cssM","DialogConfiguration","frameworkConfiguration","applySetter","renderer","resources","fwConfig","settings","_apply","Promise","_a","rendererImpl","$cssText","modules","globalResources","useDefaults","useRenderer","useCSS","useStandardResources","useResource","resourceName","whenClosed","onfulfilled","onrejected","wasCancelled","closeResult","DialogService","compositionEngine","defaultSettings","controllers","hasOpenDialog","hasActiveDialog","validateSettings","createCompositionContext","childContainer","viewResources","viewSlot","ensureViewModel","compositionContext","resolve","_cancelOperation","composeAndShowDialog","dialogController","compose","showDialog","reason","reject","createSettings","keyboard","overlayDismiss","open","resolveCloseResult","rejectCloseResult","removeController","getDialogContainer","asDialogOpenPromise","promise","canActivate","closeAll","cancel","catch","unclosedControllers","unclosed","service","configure","frameworkConfig","applyConfig","Renderer","hideDialog","createDialogCancelError","output","createDialogCloseError","invokeLifecycle","DialogController","releaseResources","cancelOperation","ok","close","closeError","closePromise","dialogResult","canDeactivate","Handler","messageType","handle","invokeCallback","data","invokeHandler","EventAggregator","eventLookup","messageHandlers","publish","subscribers","subscribeOnce","sub","includeEventsIn","ea","aurelia","extPattern","runTasks","tasks","loadResources","resourcesToLoad","appResources","viewEngine","n","_normalize","moduleId","ext","getExt","isOtherResource","removeExt","loader","normalize","relativeTo","normalized","importId","addOriginalExt","loads","importIds","l","importViewResources","match","assertProcessed","plugins","processed","invalidConfigMsg","cfg","FrameworkConfiguration","info","preTasks","postTasks","behaviorsToLoad","configuredPlugins","preTask","bootstrapperName","postTask","implementation","task","feature","plugin","hasIndex","resourcesRelativeTo","resource","toAdd","parent_1","grandParent","name_1","startsWith","meta","elementName","globalName","resourcePath","newName","pluginConfig","_addNormalizedPlugin","defaultBindingLanguage","router","history","defaultResources","eventAggregator","basicConfiguration","standardConfiguration","developmentLogging","level","logLevel","loadModule","ConsoleAppender","loadPlugin","debug","normalizedId","_loadPlugin","Aurelia","hostConfigured","_started","preventActionlessFormSubmit","evt","action","bubbles","cancelable","enhance","applicationHost","_configureHost","engine","attached","_onAureliaComposed","setRoot","instruction","deactivate","initialComposition","configModuleId","hostSlot","transformChildNodesIntoView","extendStatics","__extends","__","LinkHandler","activate","DefaultLinkHandler","_super","getEventInfo","shouldHandleEvent","href","navigate","_hasPushState","anchor","findClosestAnchor","targetIsThisWindow","hasAttribute","altKey","ctrlKey","metaKey","shiftKey","leftButtonClicked","which","isRelative","el","targetWindow","win","attr","BrowserHistory","linkHandler","_isActive","_checkUrlCallback","_checkUrl","location","$history","wantsPushState","pushState","normalizedOptions","rootUrl","rootStripper","wantsHashChange","_wantsHashChange","hashChange","hasPushState","$location","atRoot","pathname","fragment","_getFragment","search","hash","_getHash","routeStripper","replaceState","silent","_loadUrl","getAbsoluteRoot","createOrigin","protocol","hostname","port","_b","_c","trigger","_d","absoluteUrl","url","updateHash","navigateBack","back","setTitle","setState","getState","getHistoryIndex","historyIndex","go","movement","substr","forcePushState","location_1","trailingSlash","fragmentOverride","routeHandler","$config","mi","History","Headers","headers","header","configureXHR","xhr","setRequestHeader","headerStr","headerPairs","headerPair","_key2","RequestMessage","content","baseUrl","buildFullUrl","params","qs","traditional","HttpResponseMessage","requestMessage","responseType","reviver","statusCode","status","response","responseText","isSuccess","statusText","mimeType","getAllResponseHeaders","contentType","trim","mimeTypes","_content","RequestMessageProcessor","xhrType","xhrTransformers","XHRType","isAborted","abort","readyState","process","client","rejectResponse","rejectPromiseWithErrorObject","resp","errorResp","ErrorHttpResponseMessage","onload","ontimeout","onerror","onabort","chain","processRequest","user","password","applyXhrTransformers","processor","send","interceptors","interceptor","request","requestError","responseError","interceptorsPromise","_interceptorsPromise","timeoutTransformer","timeout","callbackParameterNameTransformer","callbackParameterName","credentialsTransformer","withCredentials","progressTransformer","progressCallback","upload","onprogress","downloadProgressTransformer","downloadProgressCallback","responseTypeTransformer","headerTransformer","contentTransformer","skipContentProcessing","FormData","Blob","ArrayBuffer","Document","replacer","JSONPRequestMessage","_RequestMessage","_this2","JSONPXHR","round","random","encodeURIComponent","cleanUp","createJSONPRequestMessageProcessor","HttpRequestMessage","_RequestMessage2","createHttpRequestMessageProcessor","_HttpResponseMessage","responseMessage","RequestBuilder","transformers","requestTransformers","useJsonp","asDelete","_addTransformer","asGet","asHead","asOptions","asPatch","asPost","asPut","asJsonp","withUrl","withContent","withBaseUrl","withParams","withResponseType","withTimeout","withHeader","withLogin","withReviver","withReplacer","withProgressCallback","withDownloadProgressCallback","withCallbackParameterName","withInterceptor","addHelper","trackRequestEnd","pendingRequests","isRequesting","HttpClient","requestProcessorFactories","builder","createRequest","createProcessor","trackRequestStart","_delete","req","head","jsonp","put","patch","post","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","adopt","__generator","body","y","label","sent","trys","verb","TextTemplateLoader","loadTemplate","loadText","address","template","WebpackLoader","moduleRegistry","loaderPlugins","modulesBeingLoaded","useTemplateLoader","addPlugin","fetch","getOrCreateTemplateRegistryEntry","templateIsLoaded","templateLoader","__webpack_require__","getOwnPropertyNames","some","moduleExports","exports","_import","defaultHMR","addressParts","loaderPlugin","plugin_1","asyncModuleId","module","hot","normalizeSync","loadAllModules","ids","existing","beingLoaded","ensureOriginOnExports","exportedValue","__useDefault","default","applyPluginToUrl","defaultExport","pluginName","TemplateDependency","TemplateRegistryEntry","factoryIsReady","onReady","_template","_factory","addDependency","finalSrc","requires","querySelectorAll","removeChild","Loader","templateRegistry","_console","_len","_console2","_len2","_console3","_len3","_key3","_console4","_len4","_key4","loggers","appenders","globalDefaultLevel","standardLevels","isStandardLevel","appendArgs","logFactory","threshold","_appenders$i","logFactoryCustom","appender","connectLoggers","Logger","_level","getLogger","addAppender","setLevel","cached","isDebugEnabled","isObject","paramTypes","propertyType","targetKey","getOwn","getOwnMetadata","define","defineMetadata","getOrCreateOwn","originStorage","unknownOrigin","moduleMember","Origin","origin","mixin","instanceKeys","_mixin","possible","decorator","resolvedTarget","alwaysValid","noCompose","ensureProtocolOptions","validate","createProtocolValidator","createProtocolAsserter","assert","hidden","_PLATFORM","window","capture","global","performance","requestAnimationFrame","FEATURE_NO_IE","document","createElementNS","protoProp","strTrim","arrIndexOf","emptyArray","DOMEx","DOMException","checkTokenAndGetIndex","ClassList","elem","trimmedClasses","classes","_updateClassName","classListProto","contains","tokens","updated","toggle","force","Element","testElement","createMethod","original","DOMTokenList","_toggle","_filterEntries","_entries","_clearEntries","entryType","nowOffset","Date","now","timing","navigationStart","_marksIndex","mark","webkitMark","startTime","duration","measure","webkitMeasure","startMark","endMark","getEntriesByType","webkitGetEntriesByType","getEntriesByName","webkitGetEntriesByName","clearMarks","webkitClearMarks","clearMeasures","webkitClearMeasures","con","nop","memory","log","CustomEvent","_CustomEvent","detail","createEvent","initCustomEvent","Event","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_FEATURE","shadowDOM","HTMLElement","attachShadow","scopedCSS","htmlTemplateElement","children","mutationObserver","MutationObserver","WebKitMutationObserver","ensureHTMLTemplateElement","isSVGTemplate","namespaceURI","fixSVGTemplateElement","ownerDocument","attrs","attributes","insertBefore","fixHTMLTemplateElement","createDocumentFragment","appendChild","fixHTMLTemplateElementRoot","childTemplates","shadowPoly","ShadowDOMPolyfill","_DOM","NodeList","SVGElement","boundary","adoptNode","node","createAttribute","createTextNode","createComment","createTemplateElement","createMutationObserver","createCustomEvent","eventType","dispatchEvent","getComputedStyle","getElementById","querySelector","query","nextElementSibling","nextSibling","nodeType","createTemplateFromMarkup","markup","temp","appendNode","newNode","replaceNode","replaceChild","unwrap","removeNode","injectStyles","destination","oldStyle","childNodes","platform","dom","activeElement","XMLHttpRequest","AggregateError","innerError","skipIfAlreadyAggregate","separator","stack","FEATURE","PLATFORM","noop","eachModule","moduleName","_moduleName","_x","DOM","isInitialized","initializePAL","subject","pd","relativeToFile","file","fileParts","nameParts","normalizedBaseParts","trimDots","ary","part","path1","path2","urlPrefix","schemeMatch","scheme","url1","url2","url3","encode","encodeKey","buildParam","arrayKey","buildQueryString","pairs","processScalarParam","existedParam","parseComplexParam","queryParams","currentParams","keysLastIndex","preventPollution","prevValue","isNaN","parseQueryString","queryString","decodeURIComponent","O","dP","ObjectProto","toStringTag","toLength","iterCall","FEATURE_NO_ES2015","GOPS","setDescriptor","G","internalSymbol","DP","DPies","GOPN","GOPD","PIE","gOPN","gOPD","$defineProperties","hOP","pIE","addInternalIfNeeded","o","uid","onlyNonSymbols","onlySymbols","setAndGetSymbol","sourceConstructor","_Symbol","_Symbol2","description","sourceMap","$defineProperty","defineProp","copyAsNonEnumerable","newDescriptor","$getOwnPropertySymbols","getOwnPropertySymbols","cachedWindowNames","originalObjectGetOwnPropertyNames","descriptors","symbols","prefixLength","createWithSymbols","str","o_O","protoDescriptor","tst","Si","AP","SP","returnThis","fromCodePoint","codePointAt","isFinite","searchString","position","subjectString","floor","lastIndex","it","toInteger","ceil","iter","E","return","arrayLike","C","aLen","mapfn","mapping","iterFn","find","predicate","FEATURE_NO_ES2016","includes","searchElement","currentElement","hasDontEnumBug","dontEnums","dontEnumsLength","needsFix","gOPS","filterOS","where","keyOrSymbol","arg","is","_createCollection","_createCollection2","WeakMap","createCollection","sharedDelete","sharedClear","sharedGet","mapHas","sharedSet","sharedKeys","sharedIterator","_itp","_keys","sharedValues","mapEntries","sharedForEach","setHas","sharedAdd","setEntries","_values","objectOnly","Collection","init","sharedSize","itp","array2","_ref","WeakSet","propertyKey","Target","ownKeys","FEATURE_NO_ESNEXT","emptyMetadata","metadataContainerKey","metadataContainer","State","charSpec","nextStates","_iterator","_isArray","validChars","invalidChars","repeat","escapeRegex","RegExp","StaticSegment","string","caseSensitive","eachChar","regex","generate","DynamicSegment","optional","consumed","StarSegment","EpsilonSegment","RouteRecognizer","rootState","routes","route","currentState","skippableStates","types","statics","dynamics","stars","routeName","isEmpty","segments","normalizedRoute","splitRoute","segment","_match","_name","_addSegment","addSegment","firstState","nextState","jj","routeNames","_i3","getRoute","nameOrRoute","handlersFor","hasRoute","generationUsesHref","routeParams","segmentValue","param","recognize","states","isSlashDropped","normalizedPath","queryStart","decodeURI","pathLen","recognizeChar","solutions","_i4","_l","sortSolutions","findHandler","captures","currentCapture","RecognizeResults","_names","_params","isDynamic","NavigationInstruction","plan","viewPortInstructions","ancestorParams","hasChildRouter","getWildCardName","parentInstruction","allParams","lifecycleArgs","getAllInstructions","instructions","childInstruction","childNavigationInstruction","getAllPreviousInstructions","previousInstruction","addViewPortInstruction","nameOrInitOptions","component","viewPortInstruction","viewPortName","currentViewPort","childRouter","configRoute","wildcardIndex","lastIndexOf","getWildcardPath","wildcardName","getBaseUrl","$encodeURI","encodeURI","nonEmptyRoute","_commitChanges","waitToSwap","currentInstruction","navModel","isActive","refreshNavigation","delaySwaps","_loop_1","viewPort","viewPorts","childNavInstruction","parentCatchHandler","swap","prune","_updateTitle","_buildTitle","titleSeparator","childTitles","navModelTitle","instructionRouter","transformTitle","child_nav_instruction","childTitle","NavModel","relativeHref","updateTitle","_normalizeAbsolutePath","absolute","_createRootedPath","isAbsoluteUrl","_ensureArrayWithSingleRoutePerConfig","routeConfigs","isRootedPath","RouterConfiguration","pipelineSteps","addPipelineStep","addAuthorizeStep","addPreActivateStep","addPreRenderStep","addPostRenderStep","fallbackRoute","_fallbackRoute","mapRoute","useViewPortDefaults","viewPortConfig","viewPortDefaults","routeConfig","createNavModel","addRoute","mapUnknownRoutes","unknownRouteConfig","exportToRouter","handleUnknownRoutes","pipelineStepCount","isRoot","pipelineProvider","addStep","Router","isConfigured","isNavigating","isExplicitNavigation","isExplicitNavigationBack","isNavigatingFirst","isNavigatingNew","isNavigatingRefresh","isNavigatingForward","isNavigatingBack","couldDeactivate","navigation","_fallbackOrder","_recognizer","_childRecognizer","_configuredPromise","_resolveConfiguredPromise","registerViewPort","ensureConfigured","callbackOrConfig","_resolveUrl","navigateToRoute","recognizer","rootedPath","order","nav","validateRouteConfig","navigationStrategy","withChild","hasOwnRoute","catchAllHandler","_createRouteConfig","parentRouter","length_1","$viewPortDefaults","_refreshBaseUrl","generateBaseUrl","_createNavigationInstruction","queryIndex","urlRecognizationResults","instructionInit","compareQueryParams","first","evaluateNavigationStrategy","_parentCatchAllHandler","newParentInstruction","_findParentInstructionFromRouter","evaluator","createCompletionHandler","completed","Pipeline","steps","run","getSteps","nextFn","complete","currentStep","createNextFn","isNavigationCommand","Redirect","shouldContinueProcessing","setRouter","appRouter","useAppRouter","RedirectToRoute","_buildNavigationPlan","forceLifecycleMinimum","buildRedirectPlan","prevInstruction","defaultViewPortConfigs","buildTransitionPlans","viewPortPlans","viewPortConfigs","InternalActivationStrategy","redirect","redirectInstruction","originalInstructionParams","redirectInstructionParams","redirectLocation","newInstructionConfig","hasNewParams","hasDifferentParameterValues","pending","previousViewPortInstructions","prevViewPortInstruction","prevViewPortComponent","newInstructionViewPortConfigs","nextViewPortConfig","viewPortActivationStrategy","determineActivationStrategy","viewPortPlan","prevComponent","prevModuleId","childPlan","currentNavInstruction","newViewPortConfig","prevViewPortViewModel","activationStrategy","prev","prevParams","nextParams","nextWildCardName","prevQueryParams","nextQueryParams","BuildNavigationPlanStep","navigationInstruction","loadNewRoute","routeLoader","loadPromises","determineLoadingPlans","loadingPlan","loadRoute","loadingPlans","planConfig","loadComponent","childRouter_1","getChildRouter","configureRouter","RouteLoader","LoadRouteStep","CommitChangesStep","PipelineStatus","RouterEvent","PipelineSlotName","noChange","processDeactivatable","ignoreResult","infos","findDeactivatable","inspect","shouldContinue","iterate","processPotential","addPreviousDeactivatable","prevViewModel","processActivatable","findActivatable","current_1","viewPortComponent","SafeSubscription","subscriptionFunc","_subscribed","_subscription","obs_1","subscribed","CanDeactivatePreviousStep","CanActivateNextStep","DeactivatePreviousStep","ActivateNextStep","PipelineSlot","slotName","slotAlias","PipelineProvider","createPipelineSlot","createPipeline","useCanDeactivateStep","pipeline","_findStep","found","slotSteps","removeStep","slot","_clearSteps","AppRouter","maxInstructionCount","_queue","loadUrl","_queueInstruction","restorePreviousLocation","$viewPort","_dequeueInstruction","viewModel_1","_findViewModel","resolveConfiguredPromise_1","instructionCount","navtracker","currentNavTracker","currentNavigationTracker","processResult","resolveInstruction","finalResult","navigationCommandResult","innerResult","isInnerInstruction","eventArgs","previousLocation","makeRequestFlushFromTimer","requestFlush","timeoutHandle","handleFlushTimer","intervalHandle","setInterval","clearTimeout","clearInterval","TaskQueue","flushing","longStacks","microTaskQueue","microTaskQueueCapacity","requestFlushMicroTaskQueue","makeRequestFlushFromMutationObserver","flushMicroTaskQueue","requestFlushTaskQueue","flushTaskQueue","_flushQueue","capacity","scan","newLength","onError","filterFlushStack","prepareQueueStack","queueTask","MAX_VALUE","filterQueueStack","captureStack","AttributeMap","allElements","registerUniversal","InterpolationBindingExpression","parts","attrToRemove","ChildInterpolationBinding","InterpolationBinding","validateTarget","parentElement","targetAccessor","interpolate","updateOneTimeBindings","rawValue","LetExpression","toBindingContext","LetBinding","arg0","LetInterpolationBindingExpression","LetInterpolationBinding","interpolationBinding","createInterpolationBinding","SyntaxInterpreter","attributeMap","interpret","existingInstruction","command","handleUnknownCommand","determineDefaultBindingMode","attrName","contentEditable","defaultBindingMode","attrValue","language","inString","inEscape","foundName","_getPrimaryPropertyName","inspectAttribute","createAttributeInstruction","primaryProperty","keyValue","isDestructuring","local","items","TemplatingBindingLanguage","syntaxInterpreter","emptyStringExpression","toBindingContextAttr","interpolationParts","parseInterpolation","theInfo","createLetExpressions","letElement","nodeValue","inspectTextContent","char","interpolationStart","pos","partIndex","ActivationStrategy","Compose","InvokeLifecycle","currentController","currentViewModel","changes","created","owningView","pendingTask","processChanges","removeAll","modelChanged","requestUpdate","viewChanged","viewModelChanged","composer","needsReInitialization","vm","Replace","createInstruction","swapOrder","tryActivateViewModel","completeCompositionTask","updateRequested","IfCore","viewFactory","showing","isCaching","returnToCache","_show","_hide","_unbindView","If","conditionChanged","_update","show","animating","elseVm","_swap","Else","_registerInIf","ifVm","previousSibling","if","With","valueChanged","updateOverrideContexts","views","startIndex","updateOverrideContext","createFullOverrideContext","even","$index","$first","$last","$middle","$odd","$even","updateOneTimeBinding","ArrayRepeatStrategy","getCollectionObserver","instanceChanged","$repeat","itemsLength","viewsLength","viewsRequireLifecycle","childrenSnapshot","itemNameInBindingContext","matcher_1","itemsPreviouslyInViews_1","viewsToRemove","oldItem","updateViews","removePromise","removeViews","indexOfView","insertView","moveView","_inPlaceProcessItems","removeAllViews","_standardProcessInstanceChanged","addView","viewCount","removeView","middle","updateBindings","instanceMutated","__queuedSplices","__array","maybePromise","_runSplices","queuedSplices_1","runQueuedSplices_1","nextPromise","removeDelta","rmPromises","viewOrPromise","spliceIndexLow","_handleAddedSplices","spliceIndex","addIndex","MapRepeatStrategy","_standardProcessItems","removeIndex","_getViewIndexByKey","NullRepeatStrategy","NumberRepeatStrategy","childrenLength","SetRepeatStrategy","max","_getViewIndexByValue","RepeatStrategyLocator","matchers","strategies","addStrategy","getStrategy","lifecycleOptionalBehaviors","behaviorRequiresLifecycle","handlesAttached","handlesBind","handlesCreated","handlesDetached","handlesUnbind","targetRequiresLifecycle","behaviors","behaviorInstructions","_viewsRequireLifecycle","AbstractRepeater","sourceIndex","targetIndex","skipAnimation","matcherExtractionMarker","Repeat","strategyLocator","ignoreMutation","getItemsSourceExpression","bi","originalAttrName","isOneTime","Repeat_1","_captureAndRemoveMatcherBinding","matcherBinding","itemsChanged","_unsubscribeCollection","callContext","_observeInnerCollection","_observeCollection","_getInnerCollection","unwrapExpression","unwrapped","handleCollectionMutated","handleInnerCollectionMutated","newItems","useInnerMatcher","extractMatcherBindingExpression","getChildrenCount","repeatedElement","getFirstElementChild","repeatedElementTargetId","insert","move","removeMany","removeAt","$view","bindings","boundProperties","targetedElementId","instructionIds","instructionId","matcherBindingExpression","aureliaHideClassName","aureliaHideClass","injectAureliaHideStyleAtBoundary","domBoundary","hasAureliaHideStyle","Show","animator","removeClass","addClass","Hide","HTMLSanitizer","sanitize","input","SanitizeHTMLValueConverter","sanitizer","untrustedMarkup","Replaceable","Focus","isAttached","needsApply","blur","detached","cssUrlMatcher","CSSResource","_scoped","_alreadyGloballyInjected","registerViewEngineHooks","fixupCSSUrls","css","p1","CSSViewEngineHooks","owner","beforeCompile","targetShadowDOM","AttrBindingBehavior","modeBindingBehavior","originalMode","OneTimeBindingBehavior","OneWayBindingBehavior","ToViewBindingBehavior","FromViewBindingBehavior","TwoWayBindingBehavior","throttle","throttleState","elapsed","delay","timeoutId","throttledMethod","ThrottleBindingBehavior","methodToThrottle","originalName","unset","debounceCallSource","debounceState","debouncedMethod","debounceCall","callContextToDebounce","_oldValue","DebounceBindingBehavior","isCallSource","methodToDebounce","debouncer","handleSelfEvent","selfEventCallSource","SelfBindingBehavior","BindingSignaler","signal","SignalBindingBehavior","bindingSignaler","signalName","name_2","notApplicableMessage","UpdateTriggerBindingBehavior","originalHandler","configure$1","addResourcePlugin","viewUrl","registryEntry","bindableNames","useShadowDOMmode","getElementName","_createDynamicElement","DynamicElement","injectAureliaHideStyleAtHead","styleResourcePlugin","_createCSSResource","ViewCSS","EmptyLayoutViewModel","RouterView","viewLocator","compositionTransaction","compositionTransactionNotifier","enlist","$viewPortInstruction","viewModelResource","RouterViewLocator","_notify","layoutInstruction","layoutViewModel","layoutView","layoutModel","viewStrategy","getViewStrategy","makeRelativeTo","compositionTransactionOwnershipToken","tryCapture","viewPortComponentBehaviorInstruction","viewPortController","previousView","work","swapStrategy","ready","owningView_or_layoutView","automate","transactionOwnerShipToken","waitForCompositionComplete","createController","layoutController","slots","newView","notifier","$resource","bindables","findNearest","routerView","EmptyClass","TemplatingRouteLoader","resolveViewModel","createDynamicClass","DynamicClass","createChildContainer","navInstruction","RouteHref","processChange","attributeChanged","ElementEvents","subscriptions","_enqueueHandler","_dequeueHandler","captureOrOptions","defaultListenerOptions","EventHandlerImpl","subscription","disposeAll","once","ResourceLoadContext","hasDependency","ViewCompileInstruction","compileSurrogate","associatedModuleId","normal","BehaviorInstruction","unitTest","anchorIsContainer","containerless","initiatedByBehavior","dynamic","inheritBindingContext","biProto","partReplacements","contentFactory","TargetInstruction","shadowSlot","parentInjectorId","contentExpression","lifting","liftingInstruction","noExpressions","providers","injectorId","elementInstruction","surrogate","tiProto","slotFallbackFactory","capitalMatcher","addHyphenAndLower","_hyphenate","_isAllWhitespace","auInterpolationTarget","textContent","BehaviorPropertyObserver","selfSubscriber","initialValue","notqueued","publishing","_ensurePropertiesDefined","BindableProperty","nameOrConfig","registerWith","_configureDescriptor","defaultValue","defineOn","handlerName","createObserver","changeHandlerName","hasOptions","propertyChanged","_initialize","observerLookup","behaviorHandlesBind","_createDynamicProperty","ViewLocator","origin_1","RelativeViewStrategy","NoViewStrategy","StaticViewStrategy","viewStrategyMetadataKey","createFallbackViewStrategy","ConventionalViewStrategy","convertOriginToViewUrl","BindingLanguage","noNodes","SlotCustomAttribute","auSlotAttribute","PassThroughSlot","destinationName","fallbackFactory","destinationSlot","projections","contentView","renderFallbackContent","nodes","projectionSource","ownerView","ShadowDOM","distributeView","passThroughTo","addNode","removeNodes","needsFallbackRendering","projectFrom","ShadowSlot","isContentProjectionSource","projectFromAnchors","destinationSlots","$node","distributeNodes","auOwnerView","auProjectionSource","auAssignedSlot","_findAnchor","undistributeView","hasSlots","auSlotProjectFrom","auProjectionChildren","ownChildren","undistributeAll","viewIndex","lastView","projectTo","insertNodesBefore","fallbackSlots","getSlotName","defaultSlotKey","destinationOverride","currentNode","CompositionTransactionNotifier","_compositionCount","_tryCompleteTransaction","CompositionTransactionOwnershipToken","_ownershipToken","thenable","_createThenable","_resolveCallback","CompositionTransaction","View","lastChild","fromCache","viewModelScope","animatableElement","_isUserControlled","returnViewToCache","_systemUpdate","_invokeHook","addBinding","refNode","appendNodesTo","Animator","enter","leave","className","runSequence","animations","registerEffect","effectName","unregisterEffect","ViewSlot","contentSelectors","animateView","direction","getAnimatableElement","animation","removeAction","projectToSlots","_projectionAdd","_projectionInsert","_projectionMove","_projectionRemove","_projectionRemoveAt","_projectionRemoveMany","_projectionRemoveAll","$resolver","providerResolverInstance","ProviderResolver","__providerId__","elementContainerGet","BoundViewFactory","boundViewFactory","factory","elementEvents","ViewResources","superGet","_element","applyInstructions","containers","shadowSlots","elementContainer","commentAnchor","slotDestination","makeElementIntoAnchor","contentElement","createElementContainer","styleStringToObject","firstIndexOfColon","styleObjectToString","parentContainer","factoryCreateInstruction","setCacheSize","doNotOverrideIfAlreadySet","getCachedView","ViewFactory","cacheSize","cachedView","instructable","cloneNode","instructables","surrogateInstruction","applySurrogateInstruction","currentAttributeValue","styleObject","nextInjectorId","lastAUTargetID","makeIntoInstructionTarget","auTargetID","getNextAUTargetID","defaultLetHandler","ViewCompiler","bindingLanguage","compile","compileInstruction","_compileNode","targetId","ins","_compileSurrogate","targetLightDOM","_compileElement","getBindingLanguage","wholeText","currentChild","knownAttribute","hasValues","mapAttribute","alteredAttr","_configureProperties","liftsContent","elementProperty","makeShadowSlot","compiler","auShadowSlot","getElement","processAttributes","getNextInjectorId","ViewEngineHooksResource","ResourceModule","moduleInstance","mainResource","onLoaded","loadContext","vs","main","ResourceDescription","resourceTypeMeta","HtmlBehaviorResource","ModuleAnalyzer","getAnalysis","analyze","mainResourceKey","fallbackValue","fallbackKey","conventional","resourceModule","TemplateRegistryViewStrategy","ProxyViewFactory","auSlotBehavior","ViewEngine","viewCompiler","moduleAnalyzer","_pluginMap","extension","loadViewFactory","urlOrRegistryEntry","ensureRegistryEntry","loadTemplateResources","viewModelRequires","viewModelRequireMetadataKey","templateImportCount","importViewModelResource","moduleImport","viewModelModule","moduleIds","_applyLoaderPlugin","imports","analysis","associatedModule","allAnalysis","Controller","skipSelfSubscriber","__parentOverrideContext","lastProviderId","doProcessContent","doProcessAttributes","attributeDefaultBindingMode","shadowDOMOptions","processContent","usesShadowDOM","childBindings","hasDynamicOptions","addChildBinding","nextProviderId","htmlName","_copyInheritedProperties","registerAttribute","aliases","registerElement","transientView","hasChildNodes","toReplace","viewHost","__propertiesDefined__","derived","this_1","validateBehaviorName","conventionMark","hasParent","getValueConverter","getBindingBehavior","afterCompile","beforeCreate","afterCreate","beforeBind","beforeUnbind","resourceType","templateController","currentProps","newProp","existed","_tryAddHook","counter","one","two","three","four","hooks","bindingLanguageFallback","patchInParent","newParent","originalParent","relativeToView","registerValue","impl","absolutePath","dependencyBaseUrl","InlineViewStrategy","$deps","elDeps","dependencies_1","exported","SwapStrategies","before","with","after","skipActivation","CompositionEngine","previousViews","_createControllerAndSwap","isClass","transaction","ChildObserver","selector","ChildObserverBinder","noMutations","trackMutation","groupedMutations","binder","mutations","onChildChange","binders","bindersLength","added","addedNodes","removedNodes","onRemove","onAdd","mutationRecords","assignedSlot","anchors","__childObserver__","previousElementSibling","childObserver","ElementConfigResource","instanceOrConfig","customElement","customAttribute","bindable","nameOrConfigOrTarget","key2","descriptor2","actualTarget","defaultShadowDOMOptions","useShadowDOM","targetOrOptions","useViewStrategy","useView","inlineView","noView","targetOrDependencies","TemplatingEngine","_container","_moduleAnalyzer","_viewCompiler","_compositionEngine","configureAnimator","compilerInstructions","letExpressions","Validator","__spreadArrays","il","jl","validateTrigger","ValidateResult","rule","valid","Rules","rules","ExpressionVisitor","visitChain","visitArgs","ValidationMessageParser","bindinqLanguage","nullExpression","undefinedExpression","coalesce","MessageExpressionValidator","originalMessage","validationMessages","required","email","maxLength","minItems","maxItems","range","between","ValidationMessageProvider","getMessage","getDisplayName","displayName","words","StandardValidator","messageProvider","validateProperty","validateObject","ruleExists","messageKey","$displayName","$propertyName","$value","$object","$getDisplayName","validateRuleSequence","ruleSequence","sequence","validateAllProperties","allValid","promises","when","promiseOrBoolean","GlobalValidationConfiguration","validatorType","validationTrigger","DEFAULT_VALIDATION_TRIGGER","customValidator","defaultValidationTrigger","getDefaultValidationTrigger","validator","getTargetDOMElement","getObject","objectExpression","getPropertyInfo","originalExpression","isString","PropertyAccessorParser","isNumber","accessorText","getAccessorExpression","accessor","ValidateEvent","errors","controllerValidateResult","ValidationController","propertyParser","renderers","validating","objects","finishValidating","eventCallbacks","addObject","removeObject","processResultDelta","addError","resolvedPropertyName","__manuallyAdded__","removeError","addRenderer","render","kind","unrender","removeRenderer","registerBinding","propertyInfo","unregisterBinding","resetBinding","getInstructionPredicate","predicate_1","object_1","propertyName_1","rules_1","execute","object_2","propertyName_2","rules_2","_e","resultSets","reduce","returnPromise","newResults","oldResults","invokeCallbacks","exception","getAssociatedElements","oldResult","newResultIndex","newResult","elements_1","oldResults_1","newResults_1","validateBinding","registeredBinding","changeTrigger","newTrigger","bindings_1","revalidateErrors","ValidateBindingBehaviorBase","rulesOrController","validationController","getValidateTrigger","change","vbbUpdateSource","validateBlurHandler","manual","standardUpdateTarget","ValidateBindingBehavior","ValidateManuallyBindingBehavior","ValidateOnBlurBindingBehavior","ValidateOnChangeBindingBehavior","ValidateOnChangeOrBlurBindingBehavior","changeOrBlur","ValidationControllerFactory","createForCurrentScope","ValidationErrorsCustomAttribute","boundaryElement","controllerAccessor","errorsInternal","targets","compareDocumentPosition","interestingElements","ValidationRendererCustomAttribute","FluentRuleCustomizer","fluentEnsure","fluentRules","parsers","_addRule","withMessageKey","withMessage","ensure","ensureObject","on","satisfies","satisfiesRule","expectedValue","FluentRules","customRules","argsToConfig","constraint","FluentEnsure","assertInitialized","mergeRules","existingRules","ValidationRules","messageParser","customRule","taggedRules","untaggedRules","off","Advices","Api","api","startUpdateInterval","updateIntervalDuration","targetRoutes","updateInterval","updateAdvices","newAdvices","advice","activeAdvices","hasBeenSeen","targetAdvices","targetCodes","setAsSeen","localStorage","getItem","setItem","checkAgreements","storagePrefix","currentTimestamp","moment","utc","expiryTimestamp","format","checkResult","dialog","class","removeItem","sanitizeUrl","hasPassed","URL","URLSearchParams","checkPlatformMessages","platformMessages","platformMessage","uuid","toastPlatformMessage","link","linkText","mdToast","hold","elementClass","icon","checkSettingsLinkedSoftware","multifatture","accountingClientSoftwareUuid","dialogMissingBillingProfile","checkUserBillingProfile","checkUserProfileData","profile","missingProperties","requiredProperties","countryCode","dialogMissingProperties","viewModelParams","checkUserProfilePec","hasPecCheckPassed","sessionStorage","pec","dialogMissingPec","CheckFlow","checks","addCheck","matched","getCheck","functionName","isBuildingAdministrator","businessType","isMandatory","MavRequest","isOperator","dateFormat","statuses","shortText","isPrivilegedUser","DateFormatValueConverter","displayText","payments","banking","mavSelfPrintingAuthorizationStatus","approvalDate","approvedAt","mavApprovedAt","activationDate","activatedAt","mavActivatedAt","deletionDate","deletedAt","mavDeletedAt","rejectionDate","refusedAt","mavRefusedAt","setDatasourceMavAuthorizationStatus","datasource","statusesRemoved","TableInterface","inizialized","configurables","endpoint","limit","total","isLoading","btoa","dataLoad","dataLoaded","xhrs","initialized","_query","sorts","loadRequest","parseQuery","parseResponse","dialogError","searchInterface","controls","SearchInterface","active","table","control","setError","schema","startOf","endOf","soft","TableSidebar","isOpen","backdrop","getElementsByTagName","sidebar","composition","TableSelectionInterface","selectedRecords","selectedCount","recordsByUuid","selectEveryVisibleRecordSelected","addLoadSuccessListener","_selection","isDisabled","isSelected","setSelectedRecords","setSelectedCount","isEveryVisibleRecordSelected","changeSelectedRecords","changeSelectEveryVisibleRecordSelected","isEveryVisibleRecordDisabled","every","hard","MdToast","holdedElement","transition","uuidv4","currentStack","closureTag","dataActionClosure","consume","DashboardCardsModel","heading","accent","subtitle","mdt","setItems","getItems","getCards","patchCards","getCard","FidelityCardsModel","toast","activation","card","fidelityCardPriceListUuid","priceListUuid","renew","activationUuid","postPrececkout","paymentMethod","getPrececkout","preCheckoutUuid","postConfirmPayment","userId","cardId","uri","compactNumber","CompactNumberValueConverter","RESERVE_CHAR_REM","isNumeric","hasDecimals","isInteger","partialChars","partial","compact","partialReserve","suffix","toFixed","TemplateModel","systemKeywords","autoResolved","placeholder","normalizeKeyword","QueueMessages","statusCodes","setQueueMessageStatusCodes","parseQueueMessageStatusCodes","statusGroup","groupValue","groupLabel","selectAllLabel","optgroup","filterQueueMessagesStatusCode","channel","filtered","channels","getQueueMessageStatusCodeGroupValue","statusGroupValue","getQueueMessageStatusCodeGroupLabel","getQueueMessageStatusCodeLabel","getQueueMessageStatusDescription","QueueProperties","group","uuidQueueToUpdate","update","deadlineEvent","deadlineEvents","ENVIRONMENT","kaConfig","KaPluginConfiguration","useAll","konsole","KaConsole","useStandard","useLayout","useInputs","useControls","KaApi","routeLogin","routeHome","_accessToken","_refreshToken","_refreshPromise","_user","storage","environment","_baseUrl","APP_KAMAJI_BASE_URL","_isKamaji1","_refreshUrl","msg","accessToken","refreshToken","refresh","success","login","username","grant_type","access_token","refresh_token","userid","depth","logout","finally","conf","KaButton","_ready","disabled","busy","disabledChanged","busyChanged","KaControlBackdropService","drawer","bounds","getBoundingClientRect","height","top","width","KaControlCheck","schemaChanged","_schema","click","readonly","KaControlCombo","_value","_client","opened","combostack","valuestack","preloadedCombostack","datapreload","datavalue","datatext","datasearch","operator","datamultiple","buildCombostack","clientChanged","getValueModel","buildValuestack","dts","buildQueryUrl","dtv","dtt","unmatched","getUrlParams","filters","replacement","evalSafeVar","eval","valueModel","_combostack","max_h","bottom","searchInput","term","select","dtp","dsh","terms","searchRequest","searchPending","searchKeyUp","searchDebounceTimeout","searchKeyDown","dtf","datafilter","fields","urlParams","_valuestack","kaControlComboHighlightValueConverter","kaControlComboTextifyValueConverter","KaControlDate","keydown","controlDateValueConverter","date","DateTime","setZone","toLocal","isValid","toFormat","toUTC","seconds","milliseconds","toISO","suppressMilliseconds","KaControlDateTime","controlDatetimeValueConverter","KaControlEditor","buildEditor","editor","editorValuePending","getData","setData","readonlyChanged","isReadOnly","_editor_initialized","ClassicEditor","toolbar","contentToolbar","editing","isFocused","KaControlFile","displayValue","download","KaControlsList","fill","field","KaControlNumber","KaControlPassword","KaControlsTable","KaControlText","KaControlTextarea","KaControl","KaToast","parentResourceName","buttons","validationRule","parentContext","bindToResource","subscribeValueCollectionObserver","unbindFromResource","valueCollectionObserver","bindedToResource","checkNested","scrollErrorOverflow","wrapper","scroller","offsetWidth","dropdown","copy","navigator","clipboard","writeText","setSchemaBinding","resourceControlSchemaBinding","resourceSchemaBinding","createNested","setDataBinding","resourceControlValueBinding","resourceValueBinding","resourceReadonlyBinding","levels","NullifyEmptyValueConverter","KaDatetime","months","Info","month","numeric","long","short","weekdays","weekday","hours","hour","minutes","minute","dateTime","day","year","years","weeks","monthInterval","Interval","startWeek","plus","weekInterval","week","splitBy","Duration","days","setValues","shiftValues","KaDialogVm","KaDialog","KaEnterCustomAttribute","_callback","inputs","keyCode","KaInputControls","bindingEngine","config_overrides","datatype","checklistInit","comboListUpdate","dateInit","comboInit","editorInit","clearEnabled","addEnabled","openEnabled","dropdownEnabled","showEnabled","downloadEnabled","dateDisplayValue","comboDisplayValue","childRoute","comboItemsSource","dialogClosed","hideEnabled","hide","configChanged","checklistParseSelected","fileDisplayValue","requiredChanged","keyup","validation","checkClick","fileInit","form","display","comboOpen","comboOpened","comboClose","comboItems","comboReady","comboQuery","combo","comboQueryValue","comboGetItems","comboParseSelected","datasources","parse_response","addUrlParam","queryOperator","dataoperator","clientRequest","datatexts","parsed","comboValueReady","objectValue","comboSelect","comboListAddItem","comboListItems","comboListRemoveItem","listItem","checklistItems","checklistSelect","addUrlParams","kaHighlightValueConverter","KaInput","insideMdResource","resourceControls","resourceRef","resourceControlsChanged","KaLayout","_collapsed","_navigation","_intervals","closest","burgerAside","burgerHeader","innerWidth","activateBadges","interval","authorized","badge","userGroups","groups","authGroups","expand","collapsed","collapse","KaNavbar","appName","visible","button","KaProgress","KaResource","loaded","saveAndReload","schema_loaded","data_loaded","save_before","save_after","buttonsActions","edit","save","schemaLoaded","dataValidated","dataValidateError","dataSaved","dataSaveError","modeChanged","_setReadonly","reload","listRefQuery","atob","dataset","_request","originalData","injectSchema","injectData","_validateControls","filedata","filename","reader","FileReader","readAsDataURL","stream","permissions","granted","tabs","tab","parentTab","promiseAll","_resetButtons","KaTable","filters_loaded","parse_query","records_loaded","sort_stack","sort_columns","config_operators","json","number","config_metas","config_options","pages","hasFilters","hide_options","hide_filters","columns","filtrables","sortables","exportables","actions","appVer","prefilter","floater","transform","columns_schema","fieldDataset","fieldSchema","fieldKebab","export_schema","export_field","default_operator","value_from","value_to","subtract","filter_operator","filter_value","count_query","reference_query","export_query","x2","nw","diff","set_sort","set_page","page","set_limit","show_options","optionsOpen","show_filters","filtersOpen","apply_filters","reset_filters","show_export","exportOpen","hide_export","select_export","unselect_export","apply_export","exportPages","acc","csv","blob","createObjectURL","deep","unique","duplicate","deepcopy","viewStrategyParams","KaTableFilters","KaTabs","contents","whiteSpace","overflow","opacity","isDialog","currentTab","KaTooltipCustomAttribute","tooltip","role","arrowElement","computePosition","placement","middleware","flip","padding","arrow","middlewareData","arrowX","arrowY","staticSide","MdActionCustomAttribute","iconSize","iconAfter","iconColor","loaderWidth","wrapperWidth","wrapperMargin","loaderThickness","boundHandleClick","initIcon","handleClick","margin","setIcon","setSpinner","color","fontSize","spinner","MdTooltipCustomAttribute","StaticTooltipCustomAttribute","tooltipId","elementId","navigationEvent","elementIcon","generateIcon","onClick","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","onOutsideClick","handleOutsideClick","showTimeout","tooltipList","structuredClone","defaultConfig","weight","svgMarkup","marginStyle","parseMargin","verticalAlign","lineHeight","iconNode","iconHtml","outerHTML","closure","DialogIntents","vms","intent","intents","includesCode","DialogIntentsAcceptCashbackContract","goToCashbackContracts","DialogIntentsConfirmTransmissionDelay","sessionUuid","nonWorkingDaysDisclaimerAccepted","DialogIntentsLogin","searchParams","newRelativePathQuery","DialogIntentsPayOrders","DialogIntentsProvideCertifiedDocuments","uploadSessionUuid","documents","parseDocuments","_documents","codesTranslator","tr","MISSING","hasMissingDocuments","missingDocument","_errors","PENDING","hasPendingDocuments","pendingDocument","DocumentResource","uploadSession","uploadedFileUuid","documentType","saved","attachment","fileData","downloadStaticResource","templateFileName","lang","DialogIntentsProvideIban","iban","legalFormCode","billingProfileOwnerId","billingProfileUuid","DialogIntentsProvideLegalForm","legalForms","legalFormTypes","companyLegalFormCode","companyLegalFormCodeDatasource","getUser","formsForThisType","legacyOwnerId","userDisplayName","parentId","DialogIntentsProvideSdd","sdd","sepaDirectDebitEnabled","KmLayout","_styles","aside","_toolbar","infoBox","brand","roles","isDevelopmentEnvironment","userGroupsPassed","userRoles","userRolesPassed","authRoles","setHiddens","hiddens","toggleNavigation","subtool","currentTarget","MdAccordionButton","targetElement","resetHeight","initDelay","isCollapsed","scrollHeight","MdBarChart","animated","frame","pendingChanged","empty","sum","minRatio","ratios","withMinRatio","pause","ratio","fixed","free","freeSum","under","isUnder","cancelAnimationFrame","MdCards","stagger","infoLines","MdChartLegend","hasColor","MdControl","bindValueToParentData","mdTooltip","enterPressed","submit","MdCountUp","timer","decimals","prefersReducedMotion","matchMedia","startTimestamp","timestamp","progress","easeOutCubic","factor","MdCounter","inOutAnimationDuration","onEntryStart","initElement","animateCounter","mdCounter","onfinish","mdCounterBody","mdCounterElement","digits","MdCtaButton","iconList","parseIcons","icons","iconsChanged","MdInputArray","MdInput","MdLoader","setParentPositionRelative","destroy","setFadeOut","MdNavElement","links","MdNavUtenti","stored","userIdChanged","userData","hasRole","parentUuid","MdPrefselDialog","users","tableUsers","MdPrefsel","isBuilding","legacy","setDatasource","setPrefselData","contextChanged","ownerChanged","setResourceData","prefselId","isMaster","setValueLegacy","remapUserData","isOverrideChanged","isOverride","MdResource","errorPayload","MdSelect","MdOptionsButton","cleanup","optionsList","buttonOptions","setOptionsListInner","buttonOptionsClick","buttonOptionsHandleClick","outsideClick","otherOpenedClick","handleOtherOpened","hasItems","optionsListClose","optionsListOpen","closeTimeout","isOpening","ul","optionsListUlHeight","clientHeight","updatePosition","autoUpdate","MdSwitchSlider","onChange","MdTablePagination","limits","areLimitsValid","limitChanged","applyOptions","pageChanged","paginate","showOptions","pagesDatasource","optionsShown","hideOptions","integerCastValueConverter","MdTableProgressbar","MdTableSort","MdTableToolbar","openSearch","SidebarSearch","MdTableWrapper","resizeHandler","innerHeight","decrease","AppendCommaValueConverter","CapitalizeValueConverter","toLocaleUpperCase","toLocaleLowerCase","ComboFormatValueConverter","MdDatasources","mdDatasources","mdDatasourceReference","UNITS","unit","u","abs","trunc","FilesizeFormatValueConverter","units","ObjectFormatValueConverter","new_value","QueueChannelFormatValueConverter","QueueStatusFormatValueConverter","StringifyValueConverter","StriphtmlValueConverter","marketingCode","_autologinPromise","_boAccessToken","_boRefreshToken","fingerprint","queryMap","expr","operators","gte","lte","gt","lt","eq","like","regexp","convertHref","originalResponse","included","isResponseArray","warnings","warning","relationships","include","datasets","smsReportUrl","isJSON","dialogIntents","getRefreshToken","userDataChanged","grantType","startUser","feat","featureCode","reroute","impersonate","boAccessToken","boRefreshToken","disimpersonate","parseUrl","chunks","hashes","unlabelParameters","isResponse","isAuthenticated","Temporal","globalThis","TemporalPolyfill","toIsoString","time","timeZone","toZonedDateTime","plainTime","PlainTime","toInstant","fractionalSecondDigits","periodRange","period","currentMonthRange","today","Now","plainDateISO","daysInMonth","MdApi","MdAuth","mdAuth","store","paymentMethods","flatServiceTypes","multifattureSoftwares","postalServices","vectors","postages","initPostalServices","initMultifattureSoftwares","initPaymentMethods","initFlatServiceTypes","vector","postage","InlineDialogFileViewer","MdFileViewer","kaDialog","kaToast","fileViewer","fileExtension","dialogFileViewer","revokeObjectURL","offsetParent","mouseleave","MouseEvent","MdFileDownload","fileDownload","contentDisposition","csvDownload","COOKIE_NAME","HEADER_SAFE_VALUE","MdMarketing","cookie","MdTools","BUSINESS_TYPES","preferences","mergeModelData","requested","preset","responseValue","helpers","diffObject","object1","object2","removeEmptyAttributes","nullifyEmptyStringAttributes","isCurrentDateGreaterThan","isCurrentDateLowerThan","isDateGreaterThan","date1","date2","isDateLowerThan","setDateRange","currentDate","getFullYear","setDate","getDate","toISOString","checkPermission","requirements","userRoleIds","flattenApiResponseData","originalApiResponseData","apiResponseDataRecords","relationship","parsedRelationship","parseRelationship","relationshipData","apiError","errorMessages","errorBody","errorCode","parameters","parameter","messages","permission","contextualize","dictionary","fidelityCards","userCurrentFidelityCard","getCrossLoginTokenCurrent","general","previousRoute","openSenderui","dialogService","queueType","getCrossLoginTokens","iframe","navigateToExternal","dialogMavTiming","copyText","MdUser","mdApi","RestClient","_data","checkFlow","initData","apiResponse","setUserData","apiResponseData","auth","isImpersonated","removeData","loggedUser","APP_DEBUG","MfApi","refreshUrl","MfFileDownload","mfApi","exportFiles","filterQuery","requestUrl","fileId","fileName","fromEntries","vmAgreement","agreement","vmLegacyViewer","profileUuid","encodedCallbackUri","view_routeViewName","privilege","privileges","tab1","tab2","view_tabName1","tableInterface","control1","control2","control3","control4","control5","control6","view_tabName2","ServiceDialogUserProfile","missingPropertiesValueConverter","zipCode","streetAddress","admLvl1","admLvl2","admLvl3","Login","mdMarketing","mkt","Logout","viewRecupero","uniqueIdentifier","emailAddress","pass1","pass2","password1","password2","vmDeleteAccount","DialogAddResellerTag","pendingInit","resellerCode","rewardedServiceCode","getServiceGroups","serviceGroups","changeReseller","uuidReseller","reseller","resellerCodes","referralCode","DialogSponsorAgreement","pendingSave","agreementText","loadAgreementText","LandingPages","editEnabled","priceLists","getPriceLists","initTableInterface","listCode","searchStatus","sponsorUuid","definitivePriceListCode","temporaryPriceListCode","temporaryPriceListCodeDurationInDays","recordFormatted","addResellerTag","deleteResellerTag","prospectLandingPageReferralCode","openSponsorDialog","RevisioneAbiCab","abiCode","cabCode","instituteName","officeName","loadData","initGeo","_initialized","controlKey","endonym","viewRubricaDati","contact","firstname","lastname","nickname","companyName","jobTitle","admLvl1Uuid","admLvl2Uuid","admLvl3Uuid","locality","addressee","fiscalCode","vatCode","homePhoneNumberInternationalPrefix","homePhoneNumber","workPhoneNumberInternationalPrefix","workPhoneNumber","mobilePhoneNumberInternationalPrefix","mobilePhoneNumber","faxNumberInternationalPrefix","faxNumber","certifiedEmailAddress","webSiteUrl","contactGroups","notes","newsletterOptIn","newsletterOptInDate","uniqueCode","annulla","setGeo","childField","childControl","childSchema","childData","admLvls","lvl","administrativeLevels","enabled","RubricaDialogEliminaGruppo","deleteContacts","RubricaDialogElimina","multipleRecords","viewRubricaGruppi","groupsTableInterface","nuovo","elimina","modifica","contatti","viewRubricaImportazione","loading","carica","viewRubrica","rubricaTableInterface","rubricaSearchInterface","textSearch","ricerca","gruppi","importa","esporta","searchControlAdmLvl1","searchControlAdmLvl2","searchControlAdmLvl3","selectContact","toggleAllContacts","DialogMigrateSubuser","activableOn","payableBy","selectedUser","migrationRecipient","migrationReason","migrationSubuserUuid","ServiceDialogProfiloAddReseller","serviceGroupCode","ProfiloDeleteBillingProfile","ProfiloDocumentUpload","buttonPending","ibanCodes","userProfile","placeholderType","getIbanCodes","ibanCode","UtentiDialogArchiviaNuovo","newParentUserUuid","UtentiImportazioneDialogSovrascrittura","viewGestioneUtenti","elenco","importazione","anagrafica","documenti","documenti_approvazione","fatturazione","segnalatori","compensi","cashback","impostazioni","pagamenti","Anagrafica","mdUser","pendingLoad","parentUser","legalFormSelected","oldSelectedCountryCode","courtesyTitle","holderName","phoneNumber","getUserGroups","getBusinessType","setCompanyLegalFormCodeDatasource","getUserProfile","changeLegalForm","legalForm","vatCodeNeeded","fiscalCodeNeeded","companyNameNeeded","personNameNeeded","setBusinessTypeEndpoint","setLegalFormsEndpoint","legalFormsEndpoint","legalFormsForThisType","countryCodeValueModel","copyServiceToken","parseResourceData","Cashback","savedData","readEnabled","writeEnabled","isInitializing","percentageOnServices","openDialogEditPercentageOnServices","submitAction","vmCompensi","summaryTableInterface","detailsTableInterface","usersTableInterface","usersSummaryTableInterface","summarySearchInterface","detailsSearchInterface","usersSearchInterface","usersSummarySearchInterface","createdAtStart","createdAtEnd","associatedUser","serviceGroup","loadServiceGroups","promisesT","loadCommissions","isReseller","new","exportSummary","exportDetail","exportUsers","exportUsersSummary","setTag","userTagEnabled","cancelTag","isInt","Segnalatori","contextUser","staticTooltipMavDocuments","initSearchInterface","subuser","fetchUserData","alterData","documentsBucket","notRefusedDocumentsCount","currentCertifiableDocumentBuckets","approval","uploadedAt","certification","downloadUri","toggleType","typeRow","row","viewUtenti","migratePending","isAdvancedUser","isMasterUser","isImpersonateUser","priceList","registeredAtStart","registeredAtEnd","sepaDirectDebit","attivazione","_attivazionePending","archiviazione","impersonifica","abbonamenti","migrate","findMigrationProfile","profileId","SponsorsFormatValueConverter","sponsors","sponsor","sponsorInitials","sponsorDisplayName","FatturazioneEditor","mavRequests","taxPercentage","bankAccountInfo","billingProfileIban","hasProfileOwnership","changeLegalFormPending","checkSDDPassed","pendingPopulateMissingData","firstName","lastName","officeCode","ipaCode","splitPaymentsEnabled","lastFourIbanDigits","mavRequest","getBankAccountInfo","mavAuthorizationRequests","isVisitor","autoPopulate","populate","getMavAuthorizationRequest","mavCreateAuthorizationRequest","isBuildingAdminCreatingMavRequest","sendMavAuthorizationRequest","ownerLegacyId","isMAVRequestDeletable","dialogDeleteMAVRequest","operatorDeleteMAVRequest","userDeleteMAVRequest","requestUuid","isVisibleForTheSelectedLegalForm","checkSDD","legalFormCodeFound","legalFormType","setFieldSchemaRequired","resetUnrequiredFieldData","necessityStatement","schemaProperties","populateMissingData","flattenResource","vmFatturazione","isSetAsDefaultLoading","staticTooltipMavAuthorization","selectedBillingProfiles","allSelected","selectedProfile","newIban","oldIban","selectAll","activeSdd","billingProfile","sdiEnabled","sdi","genericSubuserCode","isAdmin","searchContext","SearchContext","initLegalForms","initSearchContextUser","user_active","fiscal_code","mav_authorization_status","setDefaultSearchInterfaceData","updateContextDatasource","updateTableInterfaceEndpoint","getPaymentPreferences","updateTableInterfaceQuery","lastSearchContext","isChildUsers","hasUser","isOperatorActiveSubusersWorthy","isUserActiveSubusersWorthy","searchContextChange","searchContextUserChange","searchActiveUsersChange","resetSearch","createProfile","forceEnabled","setAsDefault","getBillingProfile","patchDefault","payment","saveBillingProfileIban","saveCustomSdi","mavSelfPrintingAuthorizationUuid","dialogDeleteMavRequest","deleteMavRequest","isUserMaster","viewUtentiImportazione","selectAllProfile","selectAllBilling","autocomplete","importStatus","countSelected","countProcessing","countErrors","countImported","billing","colClassName","billingProfileData","objToArray","fillBillingProfileWithUserProfileValues","_selected","_imported","matchedUserUuid","_status","matchedBillingProfileUuid","importTable","easing","toggleAllProfile","toggleAllBilling","selectProfile","selectBilling","resetErrors","importProfile","_overwrite","_disabled","importBilling","dialogDuplicate","Impostazioni","isInitPending","advancedPreferences","grantLoginWithSupportTicket","enableBetaFeatures","Pagamenti","customSdiEnabled","masterUserCreditSharingCheck","debtGuarantorDisplayName","debtGuarantorUuid","masterUserCreditSharing","registerBillsAsManagementMovement","scopes","downloadHistoryEnabled","noAssociations","services","newReseller","selectedCode","datasourceServiceGroups","addServiceGroup","deleteServiceGroup","addReseller","deleteReseller","downloadHistory","downloadHistoryPending","Navigation","authRequired","beforeIcon","explanation","highlighted","afterIcon","totalQueueDrafts","totalQueuesPendingPayment","openMulticoin","dialogBlacklistedTaxCodes","openMultinforma","areContractualAgreementsSigned","Toolbar","notiIntervalCounter","totalUnreadNotifications","codice","App","isAppUpdated","initLayoutConfiguration","appUpdateCheck","serverStatusCheck","fingerprintCode","pic","layoutConfiguration","account","setAccountTitle","setUserDisplayName","picture","parseNavigation","inherit","hasLayout","hasLanguages","AutologinStep","AuthorizeStep","InitializationStep","NotificationsStep","WallAdvicesStep","gotoLegacy","getAppIndex","appEtag","serverStatusResponse","yearMonthDate","getMonth","userAgent","md5","deviceFingerprint","getHours","getMinutes","savedAppEtag","publicRoutes","groupEnd","currentRoute","authRole","userCheck","myUnreadNotifications","subusersUnreadNotifications","totalUnreadNotificationsCount","totalMineUnreadNotificationsCount","totalSubuserUnreadNotificationsCount","advices","advicesToShow","adviceToShow","DialogModalSenderUI","senderui","SenderUI","checkDraftSaved","payload","draft","vmMaintenance","getHealthcheck","vmNotFound","viewAgreements","agreements","startAt","clauses","agreementsTableInterface","agreementsSearchInterface","startAtLte","startAtGte","clause","saveData","newClause","deleteClause","deleteClauseData","addClause","viewAlias","AliasSchema","aliasTableInterface","requestedAt","aliasSearchInterface","requestedAtGte","requestedAtLte","country","viewArchiviazioneDialog","preview","realPath","noDryRun","archivia","viewArchiviazione","archives","yearFrom","monthFrom","yearTo","monthTo","locale","EditorWallAdvice","wallAdvice","isExpiredAdvice","isPendingInit","tools","editorSenderuiWrapper","handleExpandWrapper","initResource","htmlContent","summaryHtmlContent","endAt","public","showInSenderUi","showInSenderUiEndAt","getWallAdvice","checkIsExpiredAdvice","onShowInSenderUiChange","expandEditorSenderuiWrapper","setDefaultEndAtTime","editWallAdvice","dialogAdviceConfirmation","normalizeStartAtDateTime","setHours","normalizeEndAtDateTime","visibilityEndDate","alreadyVisible","getTime","visibilityStartDate","createWallAdvice","CONTENT_FIELD","Multidialogo","SenderUi","PreviewWallAdvice","isErrorInit","setPreviewData","WallAdvice","htmlTemplate","pendingGetWallAdvice","acknowledgedAdvice","acknowledged","viewCurrentAdvices","openEditorWallAdvice","dialogEditorWallAdvice","viewExpiredAdvices","dialogConfirmExpiredAdviceDeletion","adviceUuid","deleteExpiredAdvice","vmAdvices","accumulator","dialogWallAdvicePreview","dateToNormalize","viewBounces","bouncesTableInterface","bouncesSearchInterface","UtentiDialogDocumentiApproval","statusReason","editStatus","vmDocumentiGestione","documentTypes","getDocumentTypes","filterStatus","_search","setPlaceholderType","APP_API_BASE_URL","VMMultitrax","initTable","strategyIn","typeIn","lastAttemptStart","lastAttemptEnd","deliveredAtStart","deliveredAtEnd","notDelivered","excludeFromRetry","deleteRecord","setExcludeFromRetry","setNotDelivered","deliveredAt","DaysFormatValueConverter","difference","diffNow","ServiceDialogNotificationDetail","notificationUuid","getNotification","notification","dataParse","srcdoc","emailHtmlBody","scheduleEmail","buildEmail","recipientEmailAddress","emailDispatchedAt","emailDispatchErrorAt","emailDispatchErrorMessage","emailDeliveredAt","emailBouncedAt","emailBounceReason","emails","recipientEmailAddress2","recipientEmailAddress3","scheduleSms","scheduleUiNotice","vmNotifiche","notifiche","vmListaNotifiche","statusEmail","statusSms","statusUI","selectedChannel","statusTooltip","dispatchedAt","dispatchError","dispatchErrorMessage","bounced","bounceReason","createdAt","ServiceDialogAssignEditor","redeemCode","offer","ServiceDialogOfferteEditor","targetUserType","contextBusinessType","promotionCode","deadlineType","deadlineAt","deadlineTypeChange","vmOfferte","gestione","prenotate","riscattate","vmOfferteGestione","createdAtGte","createdAtLte","endAtGte","endAtLte","deadlineAtGte","deadlineAtLte","serviceCreationDeadlineGte","serviceCreationDeadlineLte","userCreationDeadlineGte","userCreationDeadlineLte","offerLink","deadline","createOffer","editOffer","assignOffer","vmOffertePrenotate","vmOfferteRiscattate","offerlink","redeemedAtGte","redeemedAtLte","userUuid","vmContracts","openDialogContractDetail","contractUuid","userRenderableHtml","contractVersion","contractType","DialogContractDetail","pendingGetCashbackContract","getCashbackContract","DialogContractRescission","isConfirmed","toLocaleDateString","latestVersions","schemaMessages","defaultMessage","setDatasourceDefaultMessage","changeDefaultMessage","setLatestContractVersion","acceptance","changeUserUuid","parseData","rescindContract","DialogContractCreate","cashbackContract","pendingCreateCashbackContracts","openDialogConfirmContractCreation","createCashbackContracts","ViewMultinvioContracts","openDialogCreateContract","ViewServiceContracts","viewSubscriptions","serviceContract","multinvioContract","serviceContractPending","multinvioContractPending","dialogCashbackContractRescission","controllerTabRequests","viewUserArchive","serviceContractSubscriptions","multinvioContractSubscriptions","tableInterfaceServiceContractSubscriptions","tableInterfaceMultinvioContractSubscriptions","viewUserSubscriptions","flatServiceContract","controllerTabUserArchive","pendingGetMultinvioContract","pendingGetFlatServiceContract","pendingSubscriptionMultinvioContract","pendingSubscriptionFlatServiceContract","clause1","clause2","getLatSubscriptedMultinvioContract","getLastSubscriptedFlatServiceContract","setClausesData","contract","acceptedAt","setClausesReadonly","pendingFlatServiceContract","hasNext","getNextFlatServiceContract","gracePeriodEndAt","lastContractGracePeriodEndsOn","pendingMultinvioContract","getNextMultinvioContract","setEndpointDownloadPdf","downloadPdfContract","subscribeContract","storageSubscriptions","DialogCreditTransfer","amount","saveTransferCreditMovements","clone","DialogEditRequest","statusSchema","saveEditRequest","DialogInsertMovement","saveInsertCreditMovement","DialogWithdrawalRequest","temporaryInvoiceFileUploadUuid","setWithdrawalAmount","billableAmount","saveWithdrawalRequest","postUploadSessions","fileUpload","postWithdrawalRequests","tabMovements","transactionDisabledDate","inhibitionCashbackMessage","metaResponse","lastAcceptedFlatServiceContract","lastAcceptedMultinvioVolumesContract","sourceTypeSchema","initTab","setEndpoint","setDirectionDatasource","setSourceTypeDatasource","irregularTypes","IN","HISTORY","OUT","changeDirection","sourceType","sourceUser","sourceUuids","getLastAcceptedFlatServiceContract","getLastlastAcceptedMultinvioVolumesContract","allSettled","isTransactionDisabledUntilDate","disabledUntilDate","isTransactionDisabledAfterDate","disabledStartDate","getCashbackTransferEligibilityCheck","openTemporaryDialog","dialogCreditTransfer","dialogWithdrawalRequest","bodyMessage","dialogInsertMovement","dialogServiceDetail","ownerId","sourceUserId","flatServiceUuid","sourceFlatServiceSubscriptionUuid","navigateToQueueDetail","sourceQueueUuid","navigateToLegacyReport","movementDetail","tabRequests","deleteRequest","dialogDeleteRequest","dialogEditRequest","vmTransactions","downloadDocument","DialogOrderDetail","orderUuid","orderStatuses","downloadOrderInvoice","setOrder","getOrder","parseBillingProfileDetails","billingProfileDetails","_billingProfileDetails","parseBillingProfileCodes","parseBillingProfileOwner","parseBillingProfileAddress","province","city","allowedCodes","codesFound","PaymentInstruction","paymentCoors","SettleInvoice","confirm","settle","invoice","document_id","seen","ViewInvoicesList","suppliers","tableInterfaceTotal","date_to","date_from","paymentStatuses","mfFileDownload","fromDashboard","ipag","pagination","exportQuery","getCount","doctype","supplier_id","customer_code","payment_status","getSuppliers","consumeParams","applyQueryFilters","clearQueryString","add_external","order_by","order_type","supplier","setSuppliersDatasource","dialogSettleInvoice","doctype_label","mfsuppliers_id","payment_status_label","payment_status_class","commodity","report","report_filename","codici","pr","prcodes","pods","comp_code","codici_importazione","sdd_request_pay","parseDataQuery","dataKeys","schemaKeys","consumedKeys","ViewOrders","totalGrossAmount","DEFAULT_DATE_RANGE_DAYS","getPaymentMethodDatasource","cleanedPayments","orderId","getPaymentMethod","getContextDatasource","orderNumber","paymentStatus","setDefaultDateRange","updateValidationRules","getOrdersEndpoint","consumeOrderId","setOwnerValue","setContextSchema","setContextValue","getContextSuffix","contextSuffix","resetDateRange","dialogPaymentInstructions","dialogOrderDetail","disposition","ViewPreCheckouts","userCanConfirm","shortConfirmationCode","confirmPayment","preCheckoutType","dialogConfirmPayment","handleDialogConfirmBodyMessage","queueSendCode","fidelityCardCode","capitalize","viewDashboardAside","sections","dashboardViewModel","carouselVisibleCards","documentElement","getPropertyValue","asideCardModel","emptyCards","multicoinSummaries","offers","cards","multicoinCard","carouselSection","variant","createCards","createCard","summaries","multicoin","fidelityCard","isRegistered","isUpgradable","carouselMove","section","viewDashboardAsideCard","viewCard","flipped","cardViewModel","faces","cardsModel","toggleFlip","dashboard","flippedCard","ViewCreditTransactions","periods","cardsPartials","legendPartials","barChartPartials","cardsConfig","legendConfig","barChartConfig","periodChanged","minDuration","initDelayCards","credits","debits","currentAmount","currentAmountVatSubject","vatSubject","currentAmountNoVatSubject","noVatSubject","creditsHref","dateStart","dateEnd","ViewFlatServicesActivations","expiring","subscriptionsActive","subscriptionsPending","subscriptionsNotActive","notActive","withAutoRenewEnabled","showTotal","withAutoRenewDisabled","ViewInvoices","invoices","orders","ordersPending","ordersUnsolved","unsolved","ordersCompleted","invoicesHref","paid","toPay","ViewMavs","mavReceipts","mavs","mavDelivered","delivered","mavNotDelivered","mavTraveling","traveling","mavReceiptsDownloaded","downloaded","mavReceiptsNotDownloaded","notDownloaded","mavReceiptsTotal","ViewMulticoinMovements","multicoinPoints","fidelity","expireAt","setFidelityCardInfo","cta","countTransferred","countPending","countBlocked","canUpgrade","autoRenewEnabled","partials","waitingPayments","queues","ViewQueueMessagesEmailPec","sendemail","countCompleted","countNotDelivered","countBounced","viewSettings","selectedItem","currentFace","face","setSelectableItems","ownCode","ownCard","cardCodes","selectCard","isLayoutSaving","ViewSubusers","displaySubuser","totalSubusers","collectionMethods","condominiums","condominiumsActive","condominiumsNotActive","condominiumsArchived","archived","mav","postalOrder","Dashboard","isDashboardInitPending","defaultCards","requiredPromises","optionalPromises","setCards","setDraftsTotal","resetCard","viewActivationHistory","fidelityCardsModel","initTabs","activatedAtGte","activatedAtLte","priceListCode","confirmationShortCode","slug","openDialogConfirmPayment","ViewActivation","userPromotions","templateCard","getFidelityCards","setUserFidelityCard","parseFidelityCards","setUserPromotions","viewActivation","statusClass","statusLabel","activable","statusDescription","revocable","revocableMessage","promotion","DialogFidelityCardActivation","disclosure","isActivable","isPendingActivation","isAcknowledgementPending","elementDialogHeaderH2","acknowledgement","changeAcknowledgement","postDisclosureAcceptances","isPaymentRequired","price","cardDisclosureWrapper","handleExpandDisclosureWrapper","appendElementFidelityCardTitle","appendElementFidelityCardPrice","getFidelityCardDisclosure","acknowledgementStatement","expandDisclosureWrapper","span","handleCardActivation","dialogCardPayment","fidelityCardActivation","disclosureAccepted","fidelityCardUuid","DialogFidelityCardPayment","prececkout","elementCopyAll","paymentInformation","isPendingPrececkout","paymentMethodMessage","fidelityCardAllowedPaymentMethods","fidelityCardTitle","fidelityCardPrice","payeeDisplayName","payeeIbanCode","remittanceInformation","isCostConfirmation","boundCopyAll","cardPaymentWrapper","cardPaymentPrececkoutWrapper","handleExpandPrececkoutWrapper","appendElementCopyAll","expandWrapper","copyAll","cardPaymentBody","expandPrececkoutWrapper","DialogFidelityCardsComparison","parseCurrentCard","appendTitle","setCardHeight","marketingHints","elementTargetCard","elementCurrentCard","maxHeight","minHeight","continue","viewTemplateCard","templateFidelityCard","mdFileDownload","hasCreateFidelityCardPermission","hasModifyFidelityCardAutoRenewPermission","isCardActivationVisible","isCardActivationDisabled","isAutoRenewalSettingsDisabled","autoRenewable","isCardRenewDisabled","disclosureDownload","currentActiveCard","dialogFidelityCardsComparison","dialogCardActivation","fidelityCardRenew","isPayment","setActivationButtonMessage","activationMessage","setSelfRenewTooltip","dialogCardManagement","toggleFindOutAccordion","findOutAccordion","wrapperElement","growingElement","viewTemplateFidelityCard","DialogHelpServicesAgreement","setDatasourceServices","openServiceAgreement","selectedService","serviceData","Help","urls","privacy","mailTo","sla","dpa","knowledge","copyright","supportTickets","expired","dialogHelpServicesAgreement","openExternalLink","ViewAgreements","allClausesAccepted","accepted","acceptances","userAgreementClauseUuid","areAllClausesAccepted","DialogAddPec","prefsel","smtpPort","prefSelector","setPayload","viewEmailPec","preferenze","modelli","firma","navConfig","Settings","multinvioDigitalSelfUsages","isMultinvioDigitalSelfUsagesEnded","displayAddress","notificationAddress","emailForwarding","certified","notCertified","readConfirmationRequested","certifiedAddresses","hasInheritedPEC","sender","smtpServer","togglePecForm","dialogAddPec","staticTooltipReadConfirmation","getMultinvioDigitalSelfUsages","usage","prefselChanged","onEnd","ImpostazioniFax","cover","isCal","fax","override","enableOverride","ImpostazioniGenerali","mobileEndpoint","enableCreditPartialUsage","enableToPayQueueDutiesForSubuserAtCheckout","mobileNumbers","internationalPrefix","confirmationCode","optedIn","optedOut","overrideData","resend","revoke","isSubuser","ImpostazioniMultibox","envelope","packagePresentation","recipientList","multibox","viewMulticerta","multicertaInvitation","legalAcknowledgement","legalDuration","legalType","multicerta","setPostageDatasource","ImpostazioniNotifiche","uiPreferences","emailPreferences","credit","serviceThreshold","postageThreshold","dailyDigest","directDebit","bouncedEmailsDigest","pushPreferences","appPush","blocked","refused","privacyConsent","commercial","PostaDialogConfirm","ImpostazioniPosta","envelopeLogoUuid","postalOrders","watermarks","print","frontBack","colorMode","sheetFormat","staple","postageCode","vectorEnablings","enabledAt","disabledAt","expectReceipt","topicOnReturnReceipt","nexive","letter","_prioritaria","_raccomandata","prioritaria","raccomandata","processPostages","processVectors","nexiveIndex","toggleNexive","postalAccount","postalAccountHolder","isToggle","fileUri","previews","setStatus","setDefault","uriBuild","getImage","vmCover","webPath","DialogAddKeyword","customKeyword","keywords","viewTemplate","templateModel","keyword","isKeywordTaken","setMessage","usedKeywords","uniquePlaceholder","base","escapedBase","systemKeyword","DialogSignatureEditor","ckEditorInlineAlignment","imageLimitKb","uploadCmd","resizeCmd","parseHtml","allowAlreadyExistingLabel","signature","initResourceData","onImageUpload","onImageResize","editable","htmlEditorRef","ckeditorInstance","commands","setupImageGuard","setupImageUploadListener","setupImageResizeListener","registerPostFixer","syncImageState","handled","onData","getImageSrc","imageSize","setImageSize","calculateResizedImageSize","hasImage","toggleUploadLock","forceDisabled","clearForceDisabled","selectedImage","getSelectedImage","scale","img","Image","targetWidth","naturalWidth","targetHeight","naturalHeight","canvas","getContext","drawImage","resizedSrc","toDataURL","resampleImageForSave","resizedHtml","finalizeHtmlForSave","formattedHtml","dialogAllowAlreadyExistingLabel","liveImg","fillStyle","fillRect","parsedHtml","targetImg","syncTextFromHtml","htmlToText","figure","alignClass","cls","alignCss","selection","getSelectedElement","getFirstPosition","findAncestor","DOMParser","parseFromString","dataUrl","base64","kb","htmlText","br","replaceWith","DialogSignaturePreview","textSynced","isImageSizeValid","signaturePreviewWrapper","DialogTemplateEditor","htmlBody","addKeyword","insertKeyword","writer","insertContent","createText","removeKeyword","DialogTemplatePreview","templatePreviewWrapper","Signatures","userCanEdit","userCanRead","userCanDelete","setupPermission","setSignatureAsDefault","deleteSignature","dialogSignatureEditor","dialogDeleteSignature","dialogPreviewSignature","Template","userCanCreate","dialogTemplateEditor","dialogTemplatePreview","dialogDeleteTemplate","deleteTemplate","DialogSmsAliasRequest","ownerName","ViewSms","ViewSmsAliases","REGISTERED","COMPLETED","REFUSED","ERROR","setDefaultAlias","dialogSmsAliasRequest","vmLandingDownloadAppMobile","targetUrl","setRedirectUrl","ua","MSStream","vmEmailConfirm","emailConfirmationCode","vmLandingReadConfirmation","isMobile","errorMessage","currentYear","qrCodeSrc","checkMobile","emailReadReceipts","goToMobileApp","android","ios","userAgentData","mobile","vmLandingOfferta","offerExpired","promoOffers","localStorageOffer","authUserRedeemDate","redeemedAt","offerStatus","redeemCodes","activateOffer","updateLocalStorage","vmLandingRegistrazione","clients","pendingAttached","editableUsername","definitive","temporary","prospectUuid","passwordConfirm","clientUuid","commercialContact","thirdPartyDisclosure","setClientUuidDatasource","setBusinessTypeDatasource","changeEmail","priceListResponse","definitivePriceList","temporaryPriceList","businessTypes","assignToProfile","assignToHolderName","parsePhoneNumber","referral","assignToLocation","phoneId","mobilePhoneId","phoneCountryPrefix","mobilePhoneCountryPrefix","changeUsername","dialogPrivacyConsent","postAnonymousUsers","MulticertaInvite","mittente","multicertaInviteTableInterface","multicertaInviteSearchInterface","demoRecipient","vmPointsTransactionHistory","sourceTypes","contextDatasource","isMdCounterVisible","sourceUserUuidDatasource","multicoinRegistrationIssue","isSelectedUserBuildingAdministartor","multicoinRegistrationIssueActionPath","infoTooltipStatus","infoTooltipPoints","staticTooltipFidelityCard","staticTooltipMulticoin","staticTooltipRegistration","staticTooltipContestSignUp","defaultSearchSettings","sourceUserIdDatasource","transactionStatuses","changeSourceUserUuid","sourceUserUuid","changeSourceUserId","setContextDatasource","changeContext","setMdCounterVisibility","setSourceTypesDatasource","setTransactionStatusesDatasource","totalAmount","totalPending","totalPendingAmount","totalBlocked","totalBlockedAmount","totalTransferred","totalTransferredAmount","multicoinUrl","setMulticoinUrl","getTransactionStatus","recordProperty","recordStatus","hasTransferError","subusers","displayAccount","displaySubusers","dialogReason","dialogLockedAccreditation","legacySmsQueueId","navigateToLegacySMSreport","dialogFlatServiceSubscriptionDetail","downloadTerms","toggleTransferError","transferErrorDetail","wrappers","NotificheAnteprima","kaTabsCounter","alerts","kaTabs","insertAdjacentHTML","getAlerts","metaAlerts","fetchSubusers","ownerDisplayName","readByMeAt","notificationsReadStatus","read","setAllAsRead","notificationsTableInterface","takeOver","assigneeUuid","shareCode","notificationTooltip","plainTextBody","elencoNotificheMie","elencoNotificheSottoutenti","elencoNotificheUtenti","vmElencoNotificheMie","myNotificationsTableInterface","myNotificationsSearchInterface","readBy","templateCode","getTemplates","setTemplate","readByChanged","getNotifications","templates","oldSelectedTemplate","newSelectedTemplate","vmElencoNotificheUtenti","_subusers","userNotificationsTableInterface","userNotificationsSearchInterface","searchSubuser","setSubuser","searchSubuserChanged","oldSelectedSubuser","newSelectedSubuser","searchUser","viewCopertine","isPrintOperator","IsUserSearchFieldVisible","searchInterfaceData","coverStatuses","mdFileViewer","setPrivileges","setIsUserSearchFieldVisible","initView","getCovers","setSearchInterfaceUserLabel","setSearchInterfaceUserEndpoint","setSearchInterfaceSchemaStatusDatasource","setTableInterfaceCoversEndpoint","resetCovers","changeSearchInterfaceDataTarget","changeSearchInterfaceDataUser","dialogManageCover","dialogAddCover","dialogUserAssociationsWithTheCover","dialogDeleteCover","recordUuid","deleteCover","DialogAddCover","selectedSubuserProfiles","staticTooltipCover","associations","setResourceSchemaItemsValidationRule","presets","changeAssociationsTarget","setResourceSchemaPresetsDatasource","changeAssociationsItems","setFileData","onloadend","associatedSubusers","postCover","addCover","DialogManageCover","refusalReason","setCoverStatus","authorDisplayName","patchLetterCover","manageCover","DialogUserAssociationsWithTheCover","currentItems","isDefault","normalizeItemDefault","isAssociated","normalizeItemAssociation","itemDeafault","itemAssociation","changeTarget","saveUserAssociationsWithCover","vmAutorizzazioni","isBankOperator","isUser","UtentiDialogMavApproval","trusteeServiceCode","trustee","serviceCode","UtentiDialogCreateRequest","setUserId","getBillingProfiles","subuserChanged","billingProfiles","identifier","vmMav","mavRequestModel","trusteeDisplayName","trusteeSubServiceCode","isMAVrequestCreatable","dialogMAVRequestCreation","isMAVrequestsCSVDownloadable","MAVrequestsCSVDownload","IsMAVcollectionDownloadDisabled","MAVcollectionDownload","IsMAVrequestApprovalDisabled","MAVrequestApproval","MAVrequestApprovalStatus","setMAVrequestApprovalStatus","toastContext","isMAVRequestDeletionDisabled","subServiceCode","DialogDownloadReceipts","vmTracciatiEsitoPagamento","richieste","vmTracciatiEsito","selectedArray","recordsSelected","allRecordsSelected","someRecordsSelected","someRecords","visibleRecordsUuids","allRecords","billingProfileOwnerDisplayName","accounted","showDisabled","accountFor","resetSelectedCbis","exportSelectedCbis","receiptUuidIn","downloadSelectedCbis","markReceiptsAsAccountedOnSuccess","openLostIdsPaymentStatusPage","ViewSentMavs","queueMessages","queueProperties","lastUpdatedAt","channelLabels","vectorLabels","postageLabels","infoTooltipRecipient","infoTooltipDateCreated","ownerTitle","setLabels","groupStatusCodes","colors","payerName","navigateToAuthorization","dialogStatusHistory","queueMessage","timeline","recipient","vmAbbonamenti","isPendingInitTabs","flatServiceProducts","showMigrationsTab","isGetFlatServiceTypesPending","setTools","showOrHideMigrationsTab","getFlatServiceProducts","getLastServiceContractSubscribed","setPrivilegesTabs","responses","mineResponse","subusersResponse","mineHasElements","subusersHasElements","isBasicUser","attivi","attivabili","volture","getFlatServiceTypes","productCode","enabledUntil","dialogCashbackSubscriptionRequired","dialogFidelityCardRequired","requestedUserData","lastAcceptedServiceContract","isCashbackContractNeverBeenSigned","getLastMultinvioContractSubscribed","rescindedAt","ServiceDialogAbbonamentiAttivazioneSottoutenti","activations","isServicePayableBy","activationSummary","pendingBillingProfiles","pendingActivation","failedActivationsCount","successfulActivationsCount","userBillingProfileDatasource","recordBillingProfilePending","resourcePayment","resourceBillingProfile","payable","initServiceDialog","setResourcePaymentDatasource","setResourcePaymentData","setUserBillingProfile","initTableSelectionInterface","_resource","isLastRecord","setSubusersBillingProfiles","getAllSubuserBillingProfiles","tableSelectionInterface","any","usablePaymentMethods","setBillingProfileDatasourceItem","lasttName","taxCode","setEachSubuserBillingProfile","defaultBillingProfileUuid","setFailedActivationDetail","_failedActivationXhr","setFlatServicesActivationsPayload","payeeBillingProfileUuid","payeeUserUuid","autoRenew","setActivationSummary","newActivation","setFailedActivationsCount","feedback","setSuccessfulActivationsCount","activateSelectedRecords","showFailedActivationDetail","exportActivationsReport","parseFailedActivationDetailMessage","ServiceDialogAbbonamentiAttivazione","payeeUserId","payableByUserId","billingDatasource","ServiceDialogAbbonamentiAutorinnovo","updateDatasourcePending","autoRenewPaymentMethod","updateDatasource","allowedAutoRenewPaymentMethods","filteredPaymentMethods","ServiceDialogAbbonamentiCashbackContractSubscriptionRequired","ServiceDialogAbbonamentiDetail","flatService","setStatusDatasource","setPaymentMethodDatasource","flatServiceCode","flatServiceProductCode","flatServiceType","flatServiceTitle","flatServiceDescription","ownerFiscalCode","ownerParentDisplayName","flatServicePrice","flatServiceCashbackAmount","flatServiceMulticoinPoint","getFlatService","dataProperty","ServiceDialogAbbonamentiEditor","payers","getPaymentMethods","availableByDefault","changeProductCode","changeActivableByPrivilegedUserOnly","payableByDatasource","activableByPrivilegedUserOnly","changeSubscriptionExpireAt","subscriptionExpireAt","changePaymentMethods","isFreeCharge","vatAmount","getDefaultPaymentMethods","allowableBusinessTypes","subscriptionExpiryType","promotionNeeded","createPortabilityPromotionOnActivation","associatedPromoCodes","cashbackAmount","multicoinPoint","vault","setAllowableBusinessTypesDatasource","flatServiceDataParse","activableOnUser","activableOnSubuser","payableBySponsor","payableByUser","payableBySubuser","addedPromoCode","removedPromoCode","promo","SponsorUuid","ServiceDialogFidelityCardActivationSubscriptionRecommended","goToFidelityCardsActivation","ServiceDialogLog","logs","operationLog","ServiceDialogModifyServiceExpiration","applyStatusAt","ServiceDialogAbbonamentiStatoServizio","ACTIVE","TERMINATED","SUSPENDED","vmAbbonamentiAttivabili","searchedData","staticTooltipServices","productCodeChanged","setFlatServiceTypesDatasource","suffixUrl","activateService","activateOnUserId","payableByUserUuid","isServiceCashbackGracePeriod","openDialogSubuserServiceActivation","openDialogUserServiceActivation","serviceDescription","vmAbbonamentiAttivi","isServiceAutoRenewDisabled","showLogs","showBankTransfer","legacyApi","creditorCompany","creditorIban","editExpiration","dialogAutoRenew","editRenewal","isAutoRenewDisabled","vmAbbonamentiGestione","endpointServices","createService","editService","vmVolture","buildEndpoint","confirmSelectedServices","parsedError","viewCrediti","currentBalance","selectedParentIsMaster","migrationMessages","migrationReceiverDisplayName","creditTableInterface","creditSearchInterface","setParent","filteredNoVatSubjectAmount","filteredVatSubjectAmount","noVatSubjectAmount","vatSubjectAmount","ripristina","creditMovement","getMigrationMessage","migrationVerse","messageTemplate","export","sign","viewDeposito","bailmentTableInterface","bailmentSearchInterface","depositTransaction","DialogCreditMovement","signTransaction","masterUser","DialogDepositTransaction","note","cause","DialogTransactionConfirm","ServiceDialogListiniPianificazione","pricelists","vmPromozioni","isParent","vmListiniElenco","pricelistDefault","pricelistsPending","allSubusers","searchSubusersChanged","searchSubusers","selectedSubuser","legacyLink","getSubusers","setContext","selectSubuser","pricelist","priceListDefault","newPricelistSchedule","subusersPricelistSchedule","vmPromozioniAggiungi","addPromotion","promotionUuid","DialogCreatePromotion","DialogEditPromotion","assegnate","vmPromozioniAssegnate","selectedUserId","selectedUserData","endsPromotion","editPromotion","vmPromozioniGestione","createPromotion","vmRicariche","vmRicaricheElenco","fetched","userChange","packageTypes","packages","cart","quantity","net","vat","packageCount","resetTypesDatasource","typesChange","typeCode","updateCart","addToCart","pkg","setQuantity","removeFromCart","getCartPayload","emptyCart","cartbar","totalBasketItems","totalBasketNetAmount","totalBasketVat","storageCart","checkout","DialogBankTransfer","customerCareEmail","mailto","customerCareConfirmation","DialogLegacyHistory","archiveLabel","archive","toLegacyArchive","setArchiveLabel","DialogMessageCostDetail","costVoices","DialogMessageStatusTransitionsHistory","messageStatuses","getMessageStatuses","setMessageStatuses","DialogQueueCostDetail","appendH2QueueInfo","costDetailWrapper","h2","outer","sendCode","costDetailBody","DialogInterruptDelivery","paidChannels","printCosts","hasPrintCosts","usedChannels","interruptDelivery","DialogQueueMessagePreview","resizeObserver","queueMessageHtml","abortController","AbortController","setIframeHeight","contentDocument","injectBaseTag","injectTargetRel","ResizeObserver","getQueueMessageHtml","appendH2MessageInfo","queueChannelFormat","queueOwnerId","queueUuid","DialogQueuePayment","DEFAULT_DATE_RANGE_MONTHS","isNotFound","paymentMethodLabel","billingProfileOwner","isOrderUnavailable","setPaymentMethods","paymentWrapper","getQueueData","getOrderData","orderXhr","setOrderLabels","paymentBody","setDateRangeEnd","navigateToOrder","DialogQueueSender","isClosed","usesPec","usesEmail","usesPosta","usesMultibox","usesMulticerta","isEmailForwardingUsed","emailForwardingUsed","appendH2","getSenderData","appendSenderInfo","addressLines","dialogMultibox","navigateToEnvelopeLogo","navigateTo","senderWrapper","senderBody","DialogReportAttachments","errorInit","messageUuid","attachments","globalCover","globalStaple","fastDelivery","messageChannel","downloadFile","DialogReportMultiboxDetail","DialogReportQueueResend","allPageSelected","numberSelected","selectableRecipients","getSelectedsCount","getSelectedsKeys","switchAllSelectedButton","toggleRecipientSelection","handlePageSelection","queueOwner","setDefaults","queueResendWrapper","waitForTableResize","mdTableWrapperEl","settled","contentRect","getAllUuid","updateCounter","openCopiedQueueInSenderUi","createNewDraft","recipientsUuid","newDraftUuid","getDeafaultSelectableRecipients","allUuidsMap","allUuids","togglePageSelection","queueResendBody","ViewPending","parseRecordsSelected","sessionContext","totalGrossGte","totalGrossLte","payment_method","send_code","short_confirmation_code","topic","editDraft","deleteDraft","deleteSelectedDrafts","contextPath","pendingSearch","possiblyRequiredFields","setPaymentMethod","setContextPath","utenti","_datasource","shipment","isSearchEnabled","isOrderAmountShowable","orderAmount","grossAmount","handlePossiblyRequiredFields","badgeUpdate","dialogPossiblyRequiredFields","searchEnabled","isRequired","userConfirmOrder","backofficeConfirmOrder","bankTranferCheck","editQueue","abortQueue","messageHtml","draftUuid","bankTransferData","dialogDeletePayment","deleteOrder","viewRecipients","urlPosteItaliane","isAuthorizedToDownloadQueueSchedule","isAuthorizedToDownloadPostalReceipt","setPreviousRoute","backTo","isTheRouteReportDetail","changeChannel","canQueueBeDiscontinued","queueDeliveryCanBeDiscontinued","postalService","initVectors","initPostages","setChannelDatasource","isForwardingUsed","setMessageDialogInterruptDelivery","downloadDeliveryReceipt","dialogQueueMessagePreview","dialogMessageStatusTransitionsHistory","dialogMessageCostDetail","dialogAttachments","dialogInterruptDelivery","vmReport","inviate","annullate","archiviate","canDownloadWorkOrderList","displayPaymentMethods","partialCreditPayment","updateWaitingQueuesStorage","navigateToLegacyReportDetail","isSearchDisabled","changeOwnerStatusIn","setSchemaOwnerDatasourceTable","setSelectable","oldRecords","newRecords","setSelected","selectable","setPageSelection","dataSendCodes","groupedStatuses","groupedValues","dataProperties","statusIn","ownerStatusIn","getUserData","getClients","directory","openDialogInterruptDelivery","openDialogQueueResend","openDialogQueueSender","openDialogQueuePayment","openDialogLegacyHistory","openDialogQueueCostDetail","ViewArchived","pageSelection","selectedChanged","setContextSuffix","unarchive","ViewCanceled","abandonedStatus","ViewSent","updateQueueMessages","dataDefaultProperties","charenc","utf8","stringToBytes","bin","bytesToString","bytes","escape","core","__e","aFunction","that","ctx","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","virtual","R","U","__g","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","bitmap","valueOf","cof","UNSCOPABLES","ArrayProto","at","unicode","forbiddenField","toObject","toAbsoluteIndex","copyWithin","to","inc","endPos","toIObject","IS_INCLUDES","fromIndex","IObject","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","res","memo","isRight","SPECIES","speciesConstructor","arraySlice","factories","partArgs","bound","TAG","ARG","T","tryGet","callee","redefineAll","anInstance","forOf","$iterDefine","setSpecies","DESCRIPTORS","fastKey","SIZE","getEntry","_f","getConstructor","NAME","ADDER","iterable","_t","def","setStrong","iterated","_k","getWeak","createArrayMethod","$has","arrayFind","arrayFindIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","ufstore","redefine","fails","$iterDetect","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","Base","fixMethod","KEY","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","NEED","$toISOString","lz","num","NaN","RangeError","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","NUMBER","hint","getKeys","getSymbols","isEnum","exp","MATCH","re","defined","wks","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","maybeCallNative","nativeMethod","arg2","forceStringMethod","strfn","rxfn","ignoreCase","multiline","sticky","IS_CONCAT_SPREADABLE","flattenIntoArray","sourceLen","mapper","spreadable","mapFn","isArrayIter","getIterFn","BREAK","RETURN","ITERATOR","un","Iterators","isRegExp","ret","IteratorPrototype","LIBRARY","$iterCreate","BUGGY","KEYS","VALUES","DEFAULT","IS_SET","FORCED","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","SAFE_CLOSING","riter","skipClosing","safe","arr","$expm1","expm1","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","Infinity","log1p","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","onFreeze","macrotask","Observer","isNode","domain","exit","nextTick","standalone","PromiseCapability","$$resolve","$$reject","$assign","A","K","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","contentWindow","Properties","windowNames","getWindowNames","$keys","hiddenKeys","arrayIndexOf","isEntries","$parseFloat","$trim","$parseInt","ws","radix","newPromiseCapability","promiseCapability","SRC","$toString","TO_STRING","TPL","isFunction","classof","builtinExec","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","buggy","stat","shared","SHARED","D","quot","createHTML","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","defer","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","listener","port2","port1","onmessage","postMessage","importScripts","$typed","$buffer","propertyDesc","toIndex","createArrayIncludes","ArrayIterators","arrayFill","arrayCopyWithin","$DP","$GOPD","ARRAY_BUFFER","SHARED_BUFFER","BYTES_PER_ELEMENT","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","speciesFromList","fromList","addGetter","internal","$from","$of","TO_LOCALE_BUG","$toLocaleString","comparefn","subarray","begin","$begin","byteOffset","$slice","$set","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","ABV","TypedArrayPrototype","addElement","getter","setter","$offset","$length","byteLength","klass","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","DATA_VIEW","WRONG_INDEX","BaseBuffer","LN2","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","packI8","packI16","packI32","packF64","packF32","isLittleEndian","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","Typed","TypedArrayConstructors","px","wksExt","$Symbol","USE_SYMBOL","$every","$filter","$find","forced","$forEach","STRICT","createProperty","$indexOf","NEGATIVE_ZERO","addToUnscopables","Arguments","$reduce","upTo","cloned","$some","$sort","toJSON","pv","TO_PRIMITIVE","DateProto","INVALID_DATE","HAS_INSTANCE","FunctionProto","FProto","nameRE","strong","MAP","sqrt","$acosh","acosh","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","$Number","BROKEN_COF","TRIM","argument","third","maxCode","_isFinite","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","aNumberValue","$toFixed","ZERO","multiply","c2","divide","numToString","fractionDigits","z","$fails","$toPrecision","toPrecision","precision","$freeze","$getOwnPropertyDescriptor","$getPrototypeOf","$isExtensible","$isFrozen","isFrozen","$isSealed","isSealed","$preventExtensions","$seal","seal","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","_v","_s","reaction","exited","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","onrejectionhandled","$reject","_w","$resolve","executor","onFulfilled","onRejected","capability","remaining","alreadyCalled","race","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","deleteProperty","Enumerate","enumerate","getProto","receiver","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","flags","advanceStringIndex","regExpExec","$match","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","namedCaptures","replacerArgs","getSubstitution","tailPos","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","$SPLIT","LENGTH","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","big","blink","bold","$at","ENDS_WITH","$endsWith","endPosition","fontcolor","fontsize","$fromCodePoint","INCLUDES","italics","point","callSite","tpl","small","STARTS_WITH","$startsWith","strike","sup","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","_stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$propertyIsEnumerable","$getOwnPropertyNames","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","$isView","isView","fin","viewS","viewT","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint32Array","Uint8ClampedArray","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","$WeakMap","WEAK_SET","arraySpeciesCreate","flatMap","$includes","getOwnPropertyDescriptors","getDesc","$values","onFinally","$pad","WEBKIT_BUG","padEnd","padStart","trimLeft","trimRight","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","$task","MSIE","boundArgs","base64map","crypt","rotl","rotr","endian","randomBytes","bytesToWords","wordsToBytes","bytesToHex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_IMPORT_24___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","___CSS_LOADER_URL_REPLACEMENT_24___","___CSS_LOADER_URL_REPLACEMENT_25___","___CSS_LOADER_URL_REPLACEMENT_26___","___CSS_LOADER_URL_REPLACEMENT_27___","___CSS_LOADER_URL_REPLACEMENT_28___","___CSS_LOADER_URL_REPLACEMENT_29___","cssWithMappingToString","needLayer","media","dedupe","supports","layer","alreadyImportedModules","needQuotes","cssMapping","sourceMapping","sourceURLs","sources","sourceRoot","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_REPLACEMENT_0___","maybeNeedQuotes","isBuffer","isSlowBuffer","readFloatLE","_isBuffer","h","__kMaxLength","__toStringGeneric","__toStringBasePowerOfTwo","__clz30","__digit","__imul","__setDigit","__halfDigit","__setHalfDigit","__unsignedDigit","__zero","__isOneDigitInt","__oneDigit","__fromDouble","__fromString","SyntaxError","__toPrimitive","BigInt","__decideRounding","__kBitConversionInts","__kBitConversionIntHigh","__kBitConversionIntLow","__kBitConversionDouble","__copy","__absoluteSubOne","__trim","__absoluteAddOne","unaryMinus","__kMaxLengthBits","__initializeDigits","__clzmsd","__multiplyAccumulate","__absoluteCompare","__absoluteDivSmall","__absoluteDivLarge","__absoluteModSmall","__absoluteAdd","__absoluteSub","__rightShiftByAbsolute","__leftShiftByAbsolute","__compareToBigInt","equal","__absoluteAnd","__absoluteOr","__absoluteAndNot","__absoluteXor","__truncateToNBits","__truncateAndSubFromPowerOfTwo","__toNumeric","__isBigInt","__compare","EQ","__equalToNumber","asIntN","DataViewGetBigUint64","DataViewSetBigUint64","asUintN","__isWhitespace","__kMaxBitsPerChar","__kBitsPerCharTableMultiplier","__kBitsPerCharTableShift","I","__inplaceMultiplyAdd","__fillFromParts","__kConversionChars","exponentiate","quotient","remainder","__unequalSign","__absoluteGreater","__absoluteLess","__compareToDouble","__comparisonResultToBool","__compareToNumber","__setDigitGrow","__halfDigitLength","__clz15","__specialLeftShift","__internalMultiplyAdd","__inplaceSub","__inplaceAdd","__inplaceRightShift","__toShiftAmount","__rightShiftByMaximum","__kBitConversionBuffer","__detectBigEndian","Bold","Cancel","Code","Column","Downloadable","Heading","Italic","Justify","Link","Next","Paragraph","Previous","Redo","Row","Save","Strikethrough","Subscript","Superscript","Undo","Unlink","getPluralForm","CKEDITOR_TRANSLATIONS","super","rethrowUnexpectedError","HTMLIFrameElement","references","updater","nonce","nc","styleSheet","Buffer","require","CKEDITOR_VERSION","allocUnsafe","webpackPolyfill","injectType","locals","M","N","__data__","H","$","Y","Q","J","Z","tt","X","nt","et","ot","st","ct","ft","pt","bt","wt","vt","xt","yt","Tt","Ct","St","Pt","Et","Mt","Nt","It","Rt","Ot","Lt","Dt","Vt","Bt","Ht","Ft","Wt","Ut","Yt","Qt","Gt","Jt","Xt","Zt","ne","ee","ie","oe","se","ce","ae","de","le","he","ue","ge","fe","pe","me","we","be","ke","xe","ye","ve","Ae","Te","Se","Ce","Pe","Ee","Ie","Me","Oe","De","Re","ze","Le","je","Ve","He","Fe","Ue","We","qe","$e","Ye","Qe","Ke","Ze","tn","Xe","nn","En","In","Mn","On","Nn","Rn","Dn","isTypedArray","zn","jn","Fn","Bn","Hn","Wn","Un","$n","Gn","Kn","Qn","Zn","Jn","ti","Xn","ni","ei","oi","ri","ai","di","li","hi","ui","fi","gi","pi","wi","vi","yi","xi","Ai","Ci","Ti","Pi","Mi","Ii","Oi","Ni","Di","Ri","zi","Li","ji","Vi","Fi","Ui","qi","Yi","Gi","Ki","Ji","Zi","Xi","eo","io","oo","so","ro","co","uo","lo","fo","mo","bo","po","wo","ko","_o","vo","yo","Ao","xo","Co","To","Yo","$o","Go","Qo","Ko","Zo","Jo","es","ts","ns","isMap","os","rs","cs","isSet","ds","gs","xs","Bs","Hs","Fs","keysIn","$s","Us","Gs","Ys","Qs","_config","Ks","_setObjectToTarget","_setToTarget","_getFromSource","Js","Xs","Zs","called","er","nr","ir","highest","high","low","lowest","or","rr","ar","cr","lr","listenTo","stopListening","fr","hr","emitter","callbacks","gr","childEvents","kr","fire","wr","_delegations","_r","stopDelegating","dr","_events","vr","yr","xr","_items","_itemMap","_idProperty","idProperty","_bindToExternalToInternalMap","_bindToInternalToExternalMap","_skippedIndexesFromExternal","_getItemIdBeforeAdding","getIndex","_bindToCollection","bindTo","_setUpBindToBinding","using","Ar","_context","_plugins","_availablePlugins","_contextPlugins","isContextPlugin","requiredBy","_add","plugin1","plugin2","Cr","Er","Pr","plural","Mr","Ir","uiLanguage","contentLanguage","uiLanguageDirection","Or","contentLanguageDirection","Nr","Rr","builtinPlugins","editors","_contextOwner","initPlugins","_addEditor","_removeEditor","_getEditorConfig","Dr","Vr","zr","jr","getChildIndex","getChild","getPath","getAncestors","includeSelf","parentFirst","getCommonAncestor","isBefore","isAfter","_remove","_removeChildren","_fireChange","Br","_textData","isSimilar","_clone","Fr","textNode","offsetInText","offsetSize","isPartial","Ur","Hr","Wr","_patterns","qr","matchAll","$r","Yr","Gr","getClassNames","hasClass","Qr","hasStyle","getStyle","Zr","Jr","Xr","ta","na","oa","Cache","sa","ca","aa","la","da","ha","ga","fa","ma","pa","ba","wa","va","ka","xa","ya","Ta","Aa","Ca","Pa","Sa","Ma","Ea","Na","Ia","Ra","Oa","La","Da","Va","za","Ba","ja","Ha","Fa","Wa","Ua","$a","Ga","Ya","Ka","Qa","Za","Ja","tc","Xa","ec","ic","rc","sc","ac","lc","cc","uc","dc","hc","fc","pc","wc","bc","kc","yc","vc","Ac","xc","Cc","Tc","Sc","Pc","Mc","Ec","Nc","Ic","Oc","_styleProcessor","getStyleNames","setTo","Dc","toNormalizedForm","getReducedForm","Lc","_cleanEmptyObjectsOnPath","getNormalized","_getStylesEntries","getAsString","Rc","_normalizers","_extractors","_reducers","_consumables","zc","getRelatedStyles","setNormalizer","setExtractor","setReducer","setStyleRelation","_mapStyleNames","Vc","_attrs","jc","_children","_insertChild","_classes","Bc","stylesProcessor","_customProperties","childCount","getChildren","getAttributeKeys","getAttributes","getNormalizedStyle","getCustomProperty","getCustomProperties","getIdentity","getFillerOffset","_appendChild","Fc","_setAttribute","_removeAttribute","_addClass","_removeClass","_setStyle","_removeStyle","_setCustomProperty","_removeCustomProperty","Hc","Uc","Wc","qc","$c","Yc","Gc","Qc","Jc","Zc","toMany","Xc","_observable","_bindProperties","_to","_bindings","methodName","Kc","nl","rl","sl","ol","tl","al","editableElement","cl","ll","rootName","dl","boundaries","startPosition","_createAt","singleCharacters","shallow","ignoreElementEnd","_boundaryStartParent","_boundaryEndParent","skip","_next","_previous","isAtEnd","_createAfter","_formatReturnValue","isAtStart","_createBefore","isEqual","previousPosition","nextPosition","nodeAfter","nodeBefore","getShiftedBy","getLastMatchingPosition","compareWith","getWalker","hl","isFlat","getEnlarged","fl","getTrimmed","containsPosition","containsRange","getDifference","isIntersecting","getIntersection","getContainedElement","getPositions","_createFromParentsAndOffsets","_createFromPositionAndShift","_createIn","_createOn","gl","ml","_ranges","_lastRangeBackward","_isFake","_fakeSelectionLabel","isFake","fakeSelectionLabel","isBackward","getRanges","getFirstRange","getLastRange","getLastPosition","_setRanges","_setFakeOptions","pl","fake","backward","setFocus","_addRange","_pushRange","addedRange","intersectingRange","_setTo","_setFocus","bl","roots","_postFixers","getRoot","_callPostFixers","kl","_priority","_id","_clonesGroup","getElementsWithSameId","vl","DEFAULT_PRIORITY","Al","Tl","isMac","Sl","isGecko","Pl","isSafari","El","isAndroid","Ml","features","isRegExpUnicodePropertySupported","Il","Cl","Nl","Ol","ctrl","alt","Rl","Vl","arrowleft","arrowup","arrowright","arrowdown","backspace","esc","cmd","Dl","Ll","zl","Bl","Hl","toDomElement","Fl","Ul","domTarget","defaultView","getSelection","getRangeAt","focusNode","focusOffset","domPositionToView","viewPositionToDom","extend","domConverter","Wl","ql","$l","_cloneGroups","setSelection","setSelectionFocus","createAttributeElement","createContainerElement","createEditableElement","_document","createEmptyElement","createUIElement","setStyle","removeStyle","setCustomProperty","removeCustomProperty","breakAttributes","_breakAttributes","_breakAttributesRange","breakContainer","mergeAttributes","_removeFromClonedElementsGroup","Zl","mergeContainers","Xl","Gl","_addToClonedElementsGroup","nd","Yl","_wrapPosition","_wrapRange","_unwrapChildren","rename","clearClonedElementsGroup","createPositionAt","createPositionAfter","createPositionBefore","createRange","createRangeOn","createRangeIn","createSelection","_wrapChildren","_wrapAttributeElement","Ql","_unwrapAttributeElement","Kl","Jl","POSITIVE_INFINITY","ed","td","od","sd","rd","ckeFiller","cd","ld","dd","ud","fd","startContainer","startOffset","gd","md","firstIndex","lastIndexOld","lastIndexNew","bd","wd","howMany","kd","fastDiff","vd","yd","xd","Node","Ad","domDocuments","markedAttributes","markedChildren","markedTexts","_inlineFiller","_fakeSelectionContainer","markToSync","mapViewToDom","_updateChildrenMappings","_isSelectionInInlineFiller","_removeInlineFiller","_getInlineFillerPosition","_needsInlineFillerAtSelection","_updateAttrs","_updateChildren","inlineFillerPosition","_updateText","Cd","_updateSelection","_updateFocus","viewChildrenToDom","withChildren","_diffNodeLists","_findReplaceActions","_updateElementMappings","unbindDomElement","bindElements","Td","findCorrespondingDomText","viewToDom","insertData","deleteData","_markDescendantTextToSync","domToView","Md","Pd","Sd","_removeDomSelection","_removeFakeSelection","_updateFakeSelection","_updateDomSelection","Id","bindFakeSelection","_fakeSelectionNeedsUpdate","removeAllRanges","selectNodeContents","addRange","_domSelectionNeedsUpdate","Ed","ELEMENT_NODE","isDomSelectionCorrect","domSelectionToView","anchorNode","mapDomToView","isBlockFiller","Nd","Od","Rd","DOCUMENT_NODE","Ld","zd","blockFillerMode","preElements","blockElements","_blockFiller","_domToViewMapping","_viewToDomMapping","_fakeSelectionMapping","fakeSelectionToView","bindDocumentFragments","_processDataFromViewText","viewRangeToDom","setStart","setEnd","getParentUIElement","_processDataFromDomText","isComment","isDocumentFragment","keepOriginalCase","domChildrenToView","isDomSelectionBackward","domRangeToView","endContainer","endOffset","findCorrespondingViewText","isElement","scrollX","scrollY","jd","scrollTo","DOCUMENT_FRAGMENT_NODE","COMMENT_NODE","isEqualNode","Fd","Bd","anchorOffset","detach","_isDomSelectionPositionCorrect","_getTouchingViewTextNode","_nodeEndsWithSpace","Vd","_getTouchingInlineDomNode","_checkShouldLeftTrimDomText","_checkShouldRightTrimDomText","Text","createTreeWalker","NodeFilter","SHOW_TEXT","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","Dd","Hd","Ud","_getProxyEmitter","qd","attach","ur","$d","Wd","_domNode","_domListeners","_createDomListener","useCapture","removeListener","Yd","isEnabled","enable","disable","Kd","Qd","Zd","Jd","Xd","tu","nu","eu","ou","iu","cu","du","lu","hu","uu","Cu","Su","Eu","Pu","Nu","Ru","Ou","Lu","zu","Vu","Bu","Hu","Fu","Wu","Uu","$u","qu","Yu","characterDataOldValue","_renderer","_domElements","_mutationObserver","_onMutations","takeRecords","_isBogusBrMutation","oldText","newText","oldChildren","newChildren","forceRender","Gu","domEvent","Qu","domEventType","onDomEvent","Ku","keystroke","Zu","th","eh","nh","ih","oh","rh","sh","lh","uh","dh","leading","maxWait","trailing","hh","_fireSelectionChangeDoneDebounced","fh","_handleSelectionMove","oldSelection","newSelection","domSelection","gh","_clearInfiniteLoopInterval","_clearInfiniteLoop","_loopbackCounter","_handleSelectionChange","hasDomSelection","mh","_renderTimeoutId","ph","isComposing","bh","wh","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","kh","vh","_source","yh","getDomRangeRects","moveTo","moveBy","getIntersectionArea","getArea","getVisible","xh","commonAncestorContainer","excludeScrollbarsAndBorders","clientWidth","offsetHeight","getClientRects","Th","viewportOffset","Oh","Rh","Ph","Dh","Sh","frameElement","Mh","Eh","Ih","Nh","scrollViewportToShowTarget","scrollAncestorsToShowTarget","Ch","Lh","domRoots","_initialDomRootAttributes","_observers","_ongoingChange","_postFixersInProgress","_renderingDisabled","_hasChangedSinceTheLastRendering","_writer","hd","_render","attachDomRoot","detachDomRoot","getDomRoot","disableObservers","enableObservers","scrollToTheSelection","isRenderingInProgress","_disableRendering","zh","getChildStartOffset","_setAttributesTo","_clearAttributes","Vh","fromJSON","jh","Bh","_nodes","_insertNodes","maxOffset","getNode","getNodeIndex","getNodeStartOffset","indexToOffset","offsetToIndex","nodeList","_removeNodes","Fh","getNodeByPath","Hh","Uh","qh","stickiness","_visitedParent","$h","Yh","Wh","Gh","getParentPath","getCommonPath","isTouching","hasSameParentAs","getTransformedByOperation","_getTransformedByInsertOperation","_getTransformedByMoveOperation","_getTransformedBySplitOperation","_getTransformedByMergeOperation","_getTransformedByInsertion","_getTransformedByMove","sourcePosition","targetPosition","movedRange","_getCombined","splitPosition","moveTargetPosition","graveyardPosition","insertionPosition","_getTransformedByDeletion","deletionPosition","graveyard","Qh","containsItem","getMinimalFlatRanges","getTransformedByOperations","_createFromRanges","Kh","_modelToViewMapping","_viewToModelMapping","_viewToModelLengthCallbacks","_markerNameToElements","_elementToMarkerNames","_unboundMarkerNames","viewPosition","modelPosition","_findPositionIn","findMappedViewAncestor","_toModelOffset","unbindViewElement","toModelElement","unbindModelElement","toViewElement","bindElementToMarker","unbindElementFromMarkerName","flushUnboundMarkerNames","clearBindings","toModelRange","toModelPosition","toViewRange","toViewPosition","isPhantom","markerNameToElements","registerViewToModelLength","getModelLength","_moveViewPositionToTextNode","Jh","_consumable","_textProxyRegistry","Zh","_getSymbolForTextProxy","revert","_addSymbolForTextProxy","Xh","conversionApi","dispatcher","convertChanges","getMarkersToRemove","convertMarkerRemove","getChanges","convertInsert","convertRemove","convertAttribute","attributeKey","attributeOldValue","attributeNewValue","getRange","convertMarkerAdd","getMarkersToAdd","consumable","_createInsertConsumable","_testAndFire","_clearConversionApi","_createConsumableForRange","convertSelection","getMarkersAtPosition","_createSelectionConsumable","tf","markerName","markerRange","ef","_removeAllRanges","directChange","_popRange","attributeKeys","getSelectedBlocks","sf","rf","containsEntireContent","_checkRange","nf","isBlock","isLimit","af","cf","lf","toRange","fromRange","isDocumentOperation","df","uf","hf","ff","gf","hasOwnRange","isGravityOverridden","markers","_updateMarkers","_updateAttributes","_getStoredAttributes","_overrideGravity","overrideGravity","_restoreGravity","restoreGravity","_getStoreAttributeKey","_isStoreAttributeKey","_model","_attributePriority","_fixGraveyardRangesData","_hasChangedRange","_overriddenGravityRegister","liveRange","_fixGraveyardSelection","_validateSelectionRange","pf","differ","enqueueChange","_getDefaultRange","_prepareRange","oldMarkers","_getSurroundingAttributes","mf","getNearestSelectionRange","bf","wf","_dispatchers","yf","vf","xf","elementToElement","Vf","Uf","converterPriority","attributeToElement","jf","qf","Mf","attributeToAttribute","Bf","$f","Rf","markerToElement","Ff","Nf","markerToHighlight","Hf","Df","Yf","Cf","Lf","zf","Wf","Gf","Zf","elementToAttribute","Xf","rg","ag","ng","tg","sg","elementToMarker","eg","dg","ig","viewItem","og","splitToAllowedParent","modelCursor","convertChildren","getSplitParts","modelRange","cursorParent","cg","lg","checkAttribute","ug","downcastDispatcher","Jf","hg","_commands","commandName","fg","gg","consumablesFromElement","createFrom","_canConsumeName","_test","_consume","_revert","mg","_sourceDefinitions","_attributeProperties","pg","getDefinition","itemName","_clearCache","getDefinitions","_compiledDefinitions","_compile","isInline","checkChild","_checkContextMatch","allowAttributes","checkMerge","addChildCheck","addAttributeCheck","setAttributeProperties","getAttributeProperties","getLimitElement","checkAttributeInSelection","getValidRanges","Ig","_getValidRangesForRange","Mg","walker","findAllowedParent","removeDisallowedAttributes","Ng","createContext","bg","wg","_g","kg","vg","yg","xg","allowIn","Eg","getNames","allowContentOf","allowWhere","allowAttributesOf","inheritTypesFrom","Ag","Tg","Cg","inheritAllFrom","Sg","Pg","Og","_splitParts","_modelCursor","convertItem","_convertItem","_convertChildren","_splitToAllowedParent","_getSplitParts","convert","Dg","_removeEmptyElements","Rg","_registerSplitPair","Lg","upcastDispatcher","viewDocument","_viewWriter","Kf","_checkIfRootsExists","hasContent","ignoreWhitespaces","toData","zg","removeSelectionAttribute","toModel","addStyleProcessorRules","getRootNames","Vg","_helpers","_downcast","_createConversionHelpers","dispatchers","isDowncast","_upcast","addAlias","jg","upcastAlso","Bg","Fg","operations","baseVersion","addOperation","batch","Hg","_validate","__className","Ug","Wg","qg","Qg","Jg","Kg","$g","Yg","Zg","tm","Xg","em","getReversed","_execute","Gg","nm","im","getMovedRangeStart","om","shouldReceiveAttributes","sm","oldRange","newRange","affectsData","_markers","rm","oldName","am","cm","lm","getInsertionPosition","dm","um","_assertWriterUsedCorrectly","pm","applyOperation","usingOperation","updateMarker","addMarker","insertText","insertElement","appendText","appendElement","hm","fm","setAttributes","clearAttributes","_addOperationForAffectedMarkers","mm","merge","_merge","_mergeDetached","createPositionFromPath","gm","_set","_refresh","managedUsingOperations","removeMarker","setSelectionAttribute","_setSelectionAttribute","_removeSelectionAttribute","overrideSelectionGravity","restoreSelectionGravity","_currentWriter","bm","_markerCollection","_changesInElement","_elementSnapshots","_changedMarkers","_changeCount","_cachedChanges","_cachedChangesWithGraveyard","refreshItem","_isInInsertedElement","_markRemove","_markInsert","getMarkersIntersectingRange","bufferMarkerChange","bufferOperation","_markAttribute","getChangedMarkers","hasDataChanges","includeChangesInGraveyard","wm","_m","_getInsertDiff","_getRemoveDiff","_getAttributesDiff","changeCount","km","_markChange","_removeAllNestedChanges","_makeSnapshot","_getChangesForElement","_handleChange","nodesToHandle","_operations","_undoPairs","_undoneOperations","getOperations","getOperation","setOperationAsUndone","isUndoingOperation","isUndoneOperation","getUndoneOperation","Tm","xm","Am","Cm","ym","Sm","Pm","_hasSelectionChangedFromTheLastChangeBlock","createRoot","_handleChangeBlock","_hasDocumentChangedFromTheLastChangeBlock","_getDefaultRoot","Em","Mm","Im","_attachLiveRange","_managedUsingOperations","_affectsData","_destroyMarker","getMarkersGroup","_detachLiveRange","_liveRange","getStart","getEnd","Nm","Om","Rm","Dm","Lm","toPosition","fromPosition","zm","jm","canMergeWith","_filterAttributesOf","_affectedStart","_affectedEnd","handleNodes","_handleNode","isFirst","isLast","getSelectionRange","nodeToSelect","getAffectedRange","_handleObject","_checkAndSplitToAllowedPosition","_insert","_mergeSiblingsOf","_handleDisallowedNode","_tryAutoparagraphing","_setAffectedBoundaries","_canMergeLeft","_canMergeRight","_getAllowedIn","Bm","doNotResetEntireContent","$m","qm","Wm","leaveUnmerged","Fm","Ym","doNotAutoparagraph","Hm","Um","Gm","Km","Zm","tp","ep","isForward","Jm","Xm","ip","sp","rp","up","ap","cp","dp","hp","lp","fp","_pendingChanges","_runPendingChanges","Vm","deleteContent","modifySelection","Qm","getSelectedContent","np","createBatch","createOperationFromJSON","gp","_listener","press","mp","pp","keystrokes","bp","wp","kp","updateSourceElement","sourceElement","_p","HTMLTextAreaElement","vp","xp","getHtml","createHTMLDocument","Ap","_domParser","_domConverter","_htmlWriter","_toDom","Tp","_components","Cp","Sp","_nextEventLoopTimeout","_focus","_blur","focusedElement","Pp","componentFactory","focusTracker","_editableElementsMap","setEditableElement","getEditableElement","getEditableElementsNames","_editableElements","editorUI","Np","Op","isDirectHost","Vp","Lp","jp","Bp","hostElement","zp","Dp","Fp","_replacedElements","newElement","restore","Hp","_toolbarConfig","Mp","_elementReplacer","_initPlaceholder","_initToolbar","stickyPanel","limiterElement","viewportTopOffset","fillFromConfig","Ep","originKeystrokeHandler","originFocusTracker","beforeFocus","afterBlur","Up","_renderViewIntoCollectionParent","_parentElement","Wp","isRendered","$p","ib","nb","_isRendered","_revertData","_renderNode","intoFragment","isApplying","revertData","_revertTemplateFromNode","getViews","fb","gb","Gp","eventNameOrFunction","Qp","valueIfTrue","ub","_renderText","_renderElement","_renderAttributes","_renderElementChildren","_setUpListeners","Kp","_bindToObservable","Xp","bb","tb","_renderStyleAttribute","lb","hb","eb","mb","eventListeners","activateDomEventListener","Zp","activateAttributeListener","Yp","Jp","removeAttributeNS","rb","ab","sb","cb","ob","db","_viewCollections","_unboundChildren","bindTemplate","_bindTemplate","registerChild","deregisterChild","extendTemplate","yb","vb","Ab","attachToDom","_bodyCollectionContainer","dir","xb","xmlns","detachFromDom","childElementCount","Cb","Pb","Eb","_voiceLabelView","_createVoiceLabel","Mb","_editableElement","_hasExternalElement","_editingView","_updateIsFocusedClasses","Ib","Nb","Rb","Db","_contentPanelPlaceholder","_panelRect","_contentPanel","limiterBottomOffset","marginLeft","_checkIfShouldBeSticky","_limiterRect","isSticky","_isStickyToTheLimiter","_hasViewportTopOffset","_marginLeft","Lb","keystrokeHandler","focusables","zb","_getFocusableItem","focusFirst","focusLast","focusNext","focusPrevious","Vb","Bb","_observerInstance","_createObserver","_addElementCallback","_deleteElementCallback","_elementCallbacks","_getElementCallbacks","Fb","_previousRects","_periodicCheckTimeout","_checkElementRectsAndExecuteCallback","_startPeriodicCheck","_stopPeriodicCheck","_hasRectChanged","Hb","Ub","selectstart","$b","positions","limiter","fitInViewport","qb","Gb","elementRect","viewportRect","Qb","targetRect","limiterRect","Yb","positionName","positionRect","limiterIntersectArea","viewportIntersectArea","Kb","Zb","Jb","Xb","buttonView","panelView","panelPosition","_getOptimalPosition","_panelPositions","southEast","southWest","northEast","defaultPanelPositions","ew","viewBox","_updateXMLContent","_colorFillPaths","fillColor","iw","sw","tooltipView","_createTooltipView","labelView","_createLabelView","iconView","keystrokeView","_createKeystrokeView","_getTooltipString","tabindex","isToggleable","mousedown","withKeystroke","rw","aw","arrowView","_createArrowView","lw","_focusCycler","dw","uw","fw","toggleSwitchView","_createToggleView","gw","activator","contextElements","bw","kw","vw","yw","xw","ww","toolbarView","Cw","listView","itemsView","Sw","maxWidth","_behavior","shouldGroupWhenFull","Ew","Pw","viewChildren","viewFocusables","viewItemsView","viewFocusTracker","viewLocale","ungroupedItems","groupedItems","groupedItemsDropdown","_createGroupedItemsDropdown","cachedPadding","shouldUpdateGroupingOnNextResize","_updateFocusCycleableItems","_updateGrouping","viewElement","_enableGroupingOnResize","_enableGroupingOnMaxWidthChange","_areItemsOverflowing","_groupLastItem","_ungroupFirstItem","Iw","shouldToolbarGroupWhenFull","Ow","yp","initialData","Rw","Nw","Dw","_disableStack","Lw","zw","Vw","jw","Bw","Fw","Hw","Uw","Ww","_canBeAligned","qw","$w","Yw","isFormatting","Gw","Qw","Kw","Xw","t_","localizedOptionTitles","center","justify","_addButton","isVertical","ariaLabel","n_","i_","o_","s_","a_","c_","l_","_actions","hasAny","d_","_reader","u_","loaders","_updatePendingAction","_loadersMap","_pendingAction","getLoader","createLoader","createUploadAdapter","h_","uploaded","uploadTotal","destroyLoader","_destroy","uploadedPercent","_filePromiseWrapper","_createFilePromiseWrapper","_adapter","uploadResponse","isFulfilled","rejecter","g_","m_","_getValue","_checkEnabled","forceValue","p_","w_","_applyQuote","_removeQuote","b_","afterInit","y_","A_","_getValueFromFirstAllowedNode","T_","C_","copyOnEnter","P_","E_","I_","N_","D_","L_","V_","j_","getAsFile","_native","B_","dropRange","dataTransfer","targetRanges","clipboardData","F_","clientX","clientY","caretRangeFromPoint","rangeParent","rangeOffset","W_","q_","$_","_htmlDataProcessor","U_","H_","Y_","G_","Q_","K_","J_","isSoft","Z_","X_","ek","nk","tk","ik","sk","rk","ak","lk","dk","uk","isLocked","_changeCallback","_batch","_reset","_selectionChangeCallback","unlock","hk","_buffer","_batches","resultRange","fk","mk","gk","wk","pk","vk","bk","_handleContainerChildrenMutations","_handleTextMutation","_handleTextNodeInsertion","yk","xk","firstChangeAt","insertions","deletions","Ak","Tk","kk","isInput","Ck","_shouldEntireContentBeReplacedWithParagraph","_replaceEntireContentWithParagraph","Sk","inputType","selectionToRemove","Pk","Ek","Mk","Ik","Ok","Rk","Nk","Dk","Lk","useRelations","forceWeakRemove","setOriginalOperations","originalOperations","operationsA","operationsB","nextBaseVersionA","nextBaseVersionB","originalOperationsACount","originalOperationsBCount","updateRelation","padWithNoOps","Vk","zk","_history","_useRelations","_forceWeakRemove","_relations","_setRelation","side","wasInLeftElement","wasStartBeforeMergedElement","wasEndBeforeMergedElement","wasInRightElement","aIsStrong","aWasUndone","_wasUndone","bWasUndone","abRelation","_getRelation","baRelation","wasUndone","jk","Fk","Hk","Bk","Uk","_stack","_createdBatches","addBatch","ranges","clearStack","_restoreSelection","Wk","_undo","qk","$k","Yk","_batchRegistry","_undoCommand","_redoCommand","Gk","Qk","Kk","Jk","Xk","tv","ev","nv","paragraphLikeElements","ov","iv","_autoparagraphEmptyRoots","sv","modelElements","rv","av","cv","_addDefaultH1Conversion","lv","hv","dv","withText","commandValue","isOn","gv","_fireEvents","mv","_insertDescriptor","oldDescriptor","_removeDescriptor","bv","wv","kv","vv","yv","isVisible","attachTo","defaultPositions","southArrowNorth","southArrowNorthMiddleWest","southArrowNorthMiddleEast","southArrowNorthWest","southArrowNorthEast","northArrowSouth","northArrowSouthMiddleWest","northArrowSouthMiddleEast","northArrowSouthWest","northArrowSouthEast","pin","unpin","_pinWhenIsVisibleCallback","_startPinning","_stopPinning","xv","Av","arrowVerticalOffset","Tv","arrowHorizontalOffset","northWestArrowSouthWest","northWestArrowSouthMiddleWest","northWestArrowSouth","northWestArrowSouthMiddleEast","northWestArrowSouthEast","northEastArrowSouthWest","northEastArrowSouthMiddleWest","northEastArrowSouth","northEastArrowSouthMiddleEast","northEastArrowSouthEast","southWestArrowNorthWest","southWestArrowNorthMiddleWest","southWestArrowNorth","southWestArrowNorthMiddleEast","southWestArrowNorthEast","southEastArrowNorthWest","southEastArrowNorthMiddleWest","southEastArrowNorth","southEastArrowNorthMiddleEast","southEastArrowNorthEast","Cv","Pv","Ev","Mv","Vv","Nv","hasSelectionHandle","jv","Iv","Ov","Rv","Dv","zv","Hv","Fv","Uv","Wv","qv","Yv","Kv","Gv","Qv","$v","Xv","ty","ey","ny","Bv","Zv","Jv","iy","cy","ly","uy","dy","hy","my","py","by","_widgetsWithTypeAroundUI","_enableTypeAroundUIInjection","_enableDetectionOfTypeAroundWidgets","_enableInsertingParagraphsOnButtonClick","_insertParagraph","oy","wy","_y","importNode","sy","ry","ay","vy","_previouslySelected","_clearPreviouslySelectedWidgets","Ay","_onMousedown","_onKeydown","_handleDelete","xy","_setSelectionOverElement","yy","_handleEnterKey","_handleArrowKeys","_getObjectElementNextToSelection","Ty","Cy","Sy","Ey","fieldView","statusView","_createStatusView","Iy","Ny","ariaDescribedById","errorText","Ry","Dy","Ly","Vy","labeledInput","_createLabeledInputView","saveButtonView","_createButton","cancelButtonView","_focusables","Uy","Wy","positionLimiter","_viewToStack","_idToStack","_rotatorView","_createRotatorView","_fakePanelsView","_createFakePanelsView","hasView","stackId","_numberOfStacks","_visibleStack","singleViewMode","showStack","_showView","_singleViewMode","visibleView","_showNextStack","hideView","_getStackId","_getBalloonPosition","visibleStack","_showPrevStack","qy","buttonNextView","buttonPrevView","$y","balloonClassName","withArrow","showView","_createButtonView","_balloonPanelView","_addPanels","_removePanels","numberOfPanels","Qy","Ky","_createForm","_form","_showForm","_balloon","_hideForm","_isVisible","Gy","_isInBalloon","Jy","nx","ix","ox","_insertMissingModelCaptionElement","sx","tx","_fixCaptionVisibility","_updateCaptionVisibility","_lastSelectedCaption","ax","cx","lx","hx","_options","_referenceCoordinates","activeHandlePosition","mx","gx","bx","originalWidth","originalHeight","aspectRatio","originalWidthPercents","fx","proposedWidth","proposedHeight","proposedWidthPercents","widthPercents","proposedHandleHostWidth","handleHostWidth","proposedHandleHostHeight","handleHostHeight","wx","_domResizerWrapper","_viewResizerWrapper","_cleanup","_appendHandles","_appendSizeUI","_sizeUI","bindToState","_initialViewWidth","_getHandleHost","_getResizeHost","updateSize","_proposeNewSize","redraw","commit","onCommit","offsetLeft","offsetTop","isSameNode","containsHandle","isResizeHandle","dismiss","vx","pageX","pageY","isCentered","dominant","getResizeHost","getHandleHost","kx","Ax","xx","Cx","_resizers","_observer","_mouseDownListener","_mouseMoveListener","_mouseUpListener","_visibleResizer","_getResizerByViewElement","_getResizerByHandle","_activeResizer","Sx","Mx","defaultStyle","Ox","Rx","Dx","Lx","zx","Vx","full","alignLeft","alignCenter","alignRight","jx","Bx","Fx","Hx","Ix","Nx","Wx","localizedDefaultStylesTitles","qx","Yx","Kx","_toolbarDefinitions","_updateToolbarsVisibility","getRelatedElement","toolbarId","_isToolbarVisible","_hideToolbar","_isToolbarInBalloon","_showToolbar","Gx","Qx","Zx","_fileInputView","Xx","eA","nA","oA","File","sA","acceptedType","allowMultipleFiles","dA","uploadStatusChange","uA","fA","gA","mA","wA","yA","bA","pA","vA","hA","kA","_A","xA","alert","showSuccess","_showNotification","namespace","showInfo","showWarning","AA","insertChild","removeChildren","unwrapElement","TA","CA","uploadId","SA","PA","iA","imageElement","EA","_readAndUpload","_ckHack","uploadStatus","_parseAndSetSrcsetAttributeOnImage","IA","_childCommands","_getFirstEnabledCommand","registerChildCommand","NA","OA","RA","DA","_defineButton","zA","VA","BA","FA","UA","WA","qA","manualDecorators","restoreManualDecoratorStates","_getDecoratorStateFromModel","$A","GA","YA","nT","oT","iT","rT","sT","aT","fT","gT","mT","bT","wT","_T","vT","yT","AT","TT","CT","PT","ST","MT","ET","NT","IT","RT","DT","LT","VT","jT","BT","UT","_definitions","getDispatcher","WT","$T","_modelSelection","_overrideUid","_isNextGravityRestorationSkipped","_isGravityOverridden","YT","handleForwardMovement","_hasSelectionAttribute","KT","_preventCaretMovement","GT","QT","handleBackwardMovement","_setSelectionAttributeFromTheNodeBefore","JT","_skipNextAutomaticGravityRestoration","XT","tC","nC","iC","addTargetToExternalLinks","FT","HT","_enableAutomaticDecorators","_enableManualDecorators","qT","_setupLinkHighlight","_enableInsertContentSelectionAttributesFixer","rel","oC","rC","urlInputView","_createUrlInput","_manualDecoratorSwitches","_createManualDecoratorSwitches","_createFormChildren","getDecoratorSwitchesState","dC","previewButtonView","_createPreviewButton","unlinkButtonView","editButtonView","hC","fC","actionsView","_createActionsView","formView","_createFormView","_createToolbarLinkButton","_enableUserBalloonInteractions","_addFormView","_hideUI","_closeFormView","_showUI","_getSelectedLinkElement","_areActionsVisible","_isUIVisible","_isUIInPanel","_addActionsView","_areActionsInPanel","_getBalloonPositionData","_isFormInPanel","_removeFormView","_startUpdatingUI","gC","zT","pC","wC","listIndent","bC","listType","_C","_indentBy","vC","kC","SC","yC","TC","sameIndent","smallerIndent","AC","xC","CC","PC","MC","IC","OC","RC","DC","$C","HC","UC","LC","qC","zC","VC","FC","WC","foo","YC","BC","GC","jC","NC","EC","JC","XC","getMediaViewElement","iS","rS","oS","sS","aS","dS","extraProviders","removeProviders","provider","providerDefinitions","hasMedia","_getMedia","getViewElement","uS","_getUrlMatches","_getValidUrl","_previewRenderer","renderForEditingView","renderMediaPreview","_getPreviewHtml","_getPlaceholderHtml","fS","tS","gS","mS","_timeoutId","_positionToInsert","_embedMediaBetweenPositions","bS","_validators","resetFormStatus","infoText","_urlInputViewInfoDefault","_urlInputViewInfoTip","_S","kS","_setUpDropdown","_setUpForm","AS","CS","MS","indent","NS","OS","RS","SS","PS","DS","ES","IS","LS","zS","xS","TS","BS","FS","VS","WS","jS","innerText","HS","US","sheet","cssRules","stylesString","bodyString","qS","YS","GS","QS","KS","ZS","$S","JS","XS","tP","eP","oP","sP","rP","_getFormattingItems","_getFormattingAttributes","aP","lP","hP","fP","mP","pP","wP","_P","vP","yP","TP","PP","EP","NP","getCellLocation","OP","rows","headingRows","headingColumns","LP","zP","VP","startRow","endRow","includeSpanned","_skipRows","_row","_column","_cellIndex","_spannedCells","_nextCellAtColumn","_isOverEndRow","_isSpanned","_getSpanned","_shouldSkipRow","_shouldSkipColumn","_formatOutValue","_recordSpans","skipRow","cell","isSpanned","rowspan","colspan","cellIndex","_markSpannedCell","BP","FP","HP","UP","tE","eE","WP","qP","$P","XP","YP","GP","iE","oE","nE","QP","KP","JP","ZP","sE","asWidget","jP","bE","pE","gE","fE","rE","yE","aE","cE","vE","uE","hE","kE","lE","mE","xE","wE","_E","AE","TE","createTable","CE","insertRows","copyStructureFromAbove","SE","insertColumns","PE","splitCellHorizontally","splitCellVertically","EE","isHorizontal","_getMergeableCell","NE","OE","removeRows","ME","IE","RE","getRows","DE","LE","getColumns","VE","zE","removeColumns","jE","_isInHeading","BE","FE","HE","UE","cellsToMove","cellsToTrim","YE","GE","$E","qE","newCellsSpan","updatedSpan","WE","QE","mergeWidth","mergeHeight","ZE","XE","KE","JE","tM","eM","nM","iM","cM","oM","sM","rM","aM","lM","dM","uM","hM","fM","gM","mM","pM","bM","_M","dE","vM","actionView","_createActionView","xM","_createGridCollection","_highlightGridBoxes","AM","EM","bindIsOn","_prepareDropdown","_prepareMergeSplitButtonDropdown","_fillDropdownWithListOptions","MM","IM","NM","startColumn","endColumn","OM","RM","LM","_handleDeleteContent","_defineSelectionConverter","_enableShiftClickSelection","_enableMouseDragSelection","_enablePluginDisabling","getSelectedTableCells","getSelectionAsFragment","setCellSelection","_getCellsToSelect","cells","getFocusCell","getAnchorCell","_getModelTableCellFromDomEvent","zM","flat","VM","_onCopyCut","_onInsertContent","FM","BM","UM","firstRow","lastRow","firstColumn","lastColumn","qM","WM","YM","GM","jM","firstColumnOfSelection","lastColumnOfSelection","firstRowOfSelection","lastRowOfSelection","HM","$M","QM","_handleTabOnSelectedTable","_getTabHandler","KM","JM","_navigateFromCellInDirection","_isSelectionAtCellEdge","_isObjectElementNextToSelection","_findTextRangeFromSelection","_isSingleLineRange","_getNearestVisibleTextPosition","eI","testCallback","hasMatch","_startListening","_evaluateTextBeforeSelection","nI","iI","sI","oI","rI","registeredTrademark","trademark","oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight","horizontalEllipsis","enDash","emDash","quotesPrimary","fI","quotesSecondary","quotesPrimaryEnGb","quotesSecondaryEnGb","quotesPrimaryPl","quotesSecondaryPl","aI","mathematical","typography","quotes","cI","dI","uI","hI","pI","e_","r_","_addListAutoformats","_addBasicStylesAutoformats","_addHeadingAutoformats","_addBlockQuoteAutoformats","_addCodeBlockAutoformats","f_","x_","M_","z_","Zk","fv","Xy","Ex","_registerSchema","_registerConverters","modelElement","$x","Jx","MA","LA","HA","mC","ZC","yS","nP","isTransformedWithPasteFromOffice","cP","gP","kP","CP","XM","tI","lI","transformations","_enableTransformationWatchers","gI","extra","mI","normalizedTransformation","encoding","FF","_ff","GG","_gg","HH","_hh","II","_ii","_blocksize","_digestsize","digestbytes","asBytes","asString","defineLocale","monthsShort","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","isLower","longDateFormat","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","dayOfMonthOrdinalParse","ordinal","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","word","forms","relativeTimeWithPlural","isFormat","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","translate","lll","llll","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","webpackContext","webpackContextResolve","webpackContextKeys","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","isUndefined","isDate","arrLen","createUTC","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","addUnitAlias","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","getPrioritizedUnits","unitsObj","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","setFullYear","createUTCDate","UTC","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","setUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","second","millisecond","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","quarters","quarter","isoWeek","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","setTime","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","tmp","isAdding","invalid","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","keepOffset","toDate","datetime","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","runtime","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","previousPromise","enqueue","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","_RestClient_instances","_RestClient_baseUrl","_RestClient_makeUrl","_RestClient_makeRequest","_APIResponse_jsonMimeTypes","__classPrivateFieldSet","__classPrivateFieldGet","RestAuth","xhrFingerprint","APIResponse","Request","isJson","getRandomValues","rnds8","rng","crypto","msCrypto","byteToHex","v4","buf","rnds","computeCoordsFromPlacement","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","commonX","commonY","commonAlign","coords","detectOverflow","_await$platform$isEle","rects","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","platformWithDetectOverflow","isRTL","getElementRects","statefulPlacement","resetCount","currentMiddleware","nextX","nextY","initialPlacement","axis","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","originSides","_middlewareData$offse","diffCoords","convertValueToCoords","alignment","mainAxisMulti","crossAxisMulti","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","getCssDimensions","hasOffset","shouldFallback","domElement","noOffsets","getVisualOffsets","visualViewport","includeScale","isFixedStrategy","clientRect","visualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginRight","clippingStableScrollbarWidth","getDocumentRect","scrollWidth","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","topLayer","clippingAncestors","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","firstRect","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","ancestorScroll","ancestorResize","elementResize","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","observeMove","onMove","_io","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","intersectionRatio","frameId","reobserveFrame","firstEntry","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","mergedOptions","platformWithCache","hasWindow","getNodeName","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","isTableElement","isTopLayer","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","clamp","getSide","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","getSideList","isStart","getPaddingObject","expandPaddingObject","rectToClientRect","te","TimeDuration","totalNs","sec","subsec","validateNew","MAX","fromEpochNsDiff","fromComponents","add24HourDays","addToEpochNs","cmp","divmod","fdiv","isZero","Ne","Be","Je","Ge","monthCode","microsecond","nanosecond","sr","Intl","DateTimeFormat","dt","ht","hour12","ut","mt","tzAnnotation","referenceISODay","referenceISOYear","$t","Wo","offsetMinutes","tzName","jt","kt","microseconds","nanoseconds","isoDate","Ho","roundingIncrement","zt","At","qt","zonedRelativeTo","plainRelativeTo","pn","zo","mn","Kt","en","isoToDate","extraFields","rn","Ln","an","wn","deltaDays","sn","cn","Cn","Kr","dn","bn","kn","Lr","hn","Tn","ln","Pn","An","Eo","qn","gn","vn","Yn","fieldKeysToIgnore","Sn","dateAdd","dateUntil","resolveFields","dateToISO","monthDayToISOReferenceDate","mr","primaryIdentifier","Vn","epochMilliseconds","jo","roundingMode","Io","supportedValuesOf","resolvedOptions","No","setUTCHours","Tr","standard","leapyear","Sr","Ro","nudgeResult","nudgedEpochNs","didExpandCalendarUnit","ao","largestUnit","smallestUnit","ho","Do","Mo","Bo","Oo","So","Lo","Po","Uo","Fo","qo","Xo","dayOfWeek","getFirstDayOfWeek","getMinimalDaysInFirstWeek","Vo","iso8601","daysInWeek","monthsInYear","inLeapYear","OneObjectCache","calls","hits","misses","MAX_CACHE_ENTRIES","setObject","objectMap","getCacheForObject","isoYear","isoMonth","isoDay","HelperBase","hasEra","erasBeginMidYear","getFormatter","formatter","getCalendarParts","formatToParts","isoToCalendarDate","monthExtra","genericName","reviseIntlEra","checkIcuBugs","adjustCalendarDate","validateCalendarDate","calendarType","regulateMonthDayNaive","maximumMonthLength","calendarToIsoDate","estimateIsoDate","addDaysIso","minimumMonthLength","compareCalendarDates","regulateDate","addDaysCalendar","addMonthsCalendar","daysInPreviousMonth","addCalendar","untilCalendar","calendarDaysUntil","startOfCalendarYear","startOfCalendarMonth","monthDaySearchStartYear","monthDayFromFields","maxLengthOfMonthCodeInAnyYear","HebrewHelper","Tishri","leap","regular","Heshvan","Kislev","Tevet","Shevat","Adar","Nisan","Iyar","Sivan","Tamuz","Elul","minMaxMonthLength","getMonthCode","IslamicBaseHelper","DAYS_PER_ISLAMIC_YEAR","DAYS_PER_ISO_YEAR","IslamicHelper","IslamicUmalquraHelper","IslamicTblaHelper","IslamicCivilHelper","IslamicRgsaHelper","IslamicCcHelper","PersianHelper","IndianHelper","nextYear","vulnerableToBceBug","getMonthInfo","GregorianBaseHelperFixedEpoch","isoEpoch","GregorianBaseHelper","anchorEra","reverseOf","isAnchor","anchorEpoch","hasYearZero","completeEraYear","eraNames","SameMonthDayAsGregorianBaseHelper","OrthodoxBaseHelperFixedEpoch","OrthodoxBaseHelper","EthioaaHelper","CopticHelper","EthiopicHelper","RocHelper","BuddhistHelper","GregoryHelper","JapaneseHelper","ChineseBaseHelper","getMonthList","M01L","M02L","M03L","M04L","M05L","M06L","M07L","M08L","M09L","M10L","M11L","M12L","calendarYear","setUTCDate","calendarMonthString","calendarDay","calendarYearToVerify","monthIndex","ChineseHelper","DangiHelper","NonIsoCalendar","helper","si","DateTimeFormatImpl","hourCycle","formatRange","formatRangeToParts","$i","epochNs","timeZoneName","dateStyle","timeStyle","Ei","medium","dayPeriod","supportedLocalesOf","DurationFormat","ModifiedIntlDurationFormatPrototypeFormat","Instant","epochNanoseconds","toZonedDateTimeISO","fromEpochMilliseconds","fromEpochNanoseconds","compare","PlainDate","calendarId","yearOfWeek","withCalendar","toPlainDateTime","toPlainYearMonth","toPlainMonthDay","PlainDateTime","withPlainTime","toPlainDate","toPlainTime","blank","negated","PlainMonthDay","Bi","instant","plainDateTimeISO","plainTimeISO","timeZoneId","zonedDateTimeISO","PlainYearMonth","ZonedDateTime","hoursInDay","Hi","offsetNanoseconds","withTimeZone","startOfDay","getTimeZoneTransition","INVALID","MAX_DATE","unsupportedZone","possiblyCachedWeekData","weekData","inst","alts","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","dur","oPre","millisToAdd","parseDataToDateTime","parsedZone","opts","specificOffset","interpretationZone","fromObject","toTechFormat","allowZ","forceSimple","formatDateTimeFromString","toISODate","extended","longFormat","toISOTime","suppressSeconds","includeOffset","extendedZone","isOffsetFixed","ianaName","defaultUnitValues","defaultWeekUnitValues","weekNumber","defaultOrdinalUnitValues","orderedUnits","orderedWeekUnits","orderedOrdinalUnits","normalizeUnit","weeknumber","weeksnumber","weeknumbers","weekyear","weekyears","quickDT","tsNow","offsetProvis","diffRelative","calendary","relFormatter","hasSame","lastOpts","argList","_zone","isLuxonDateTime","fromJSDate","zoneToUse","fromMillis","fromSeconds","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","useWeekData","defaultValues","objNow","foundFirst","gregorian","tsFinal","offsetFinal","fromISO","vals","fromRFC2822","fromHTTP","fromFormat","fmt","numberingSystem","localeToUse","defaultToEN","fromString","fromSQL","isDateTime","parseFormatForOpts","formatOpts","localeOpts","tokenList","invalidReason","invalidExplanation","outputCalendar","monthShort","locObj","monthLong","weekdayShort","weekdayLong","offsetNameShort","offsetName","offsetNameLong","isUniversal","isInDST","getPossibleOffsets","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","c1","isInLeapYear","resolvedLocaleOptions","keepCalendarTime","newTS","offsetGuess","asObj","reconfigure","setLocale","settingWeekStuff","mixed","minus","negate","normalizedUnit","redefaultToEN","formatDateTime","toLocaleParts","formatDateTimeParts","toISOWeekDate","includePrefix","toRFC2822","toHTTP","toSQLDate","toSQLTime","includeZone","includeOffsetSpace","toSQL","toMillis","toSeconds","toUnixInteger","toBSON","toJSDate","includeConfig","otherDateTime","durOpts","otherIsLater","earlier","later","diffed","adjustedToZone","toRelative","toRelativeCalendar","dateTimes","fromFormatExplain","fromStringExplain","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","TIME_WITH_SHORT_OFFSET","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","friendlyDateTime","dateTimeish","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","reverseUnits","conversionAccuracy","matrix","removePrecisionIssue","fromMap","fromUnit","toMap","toUnit","conv","accurate","isLuxonDuration","fromDurationLike","durationLike","fromISOTime","fmtOpts","formatDurationFromString","toHuman","numberFormatter","unitDisplay","listFormatter","listStyle","millis","mapUnits","shiftTo","normalizeValues","rescale","removeZeroes","newVals","shiftToAll","built","accumulated","lastUnit","down","v1","v2","LuxonError","InvalidDateTimeError","toMessage","InvalidIntervalError","InvalidDurationError","ConflictingSpecificationError","InvalidUnitError","InvalidArgumentError","ZoneIsAbstractError","nonLeapLadder","leapLadder","unitOutOfRange","js","computeOrdinal","uncomputeOrdinal","month0","gregorianToWeek","gregObj","weekToGregorian","weekdayOfJan4","yearInDays","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","hasInvalidWeekData","validYear","validWeek","validWeekday","hasInvalidOrdinalData","validOrdinal","hasInvalidGregorianData","validMonth","validDay","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","dayDiff","utcDayStart","highWater","lowestOrder","highOrderDiffs","differs","remainingMillis","lowerOrderUnits","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","parseDigits","digitRegex","monthsLong","monthsNarrow","weekdaysLong","weekdaysNarrow","meridiems","erasLong","erasShort","erasNarrow","meridiemForDateTime","weekdayForDateTime","monthForDateTime","eraForDateTime","formatRelativeTime","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","stringifyTokens","splits","tokenToString","macroTokenToFormatOpts","DD","DDD","DDDD","ttt","tttt","TTT","TTTT","fff","ffff","FFF","FFFF","Formatter","parseFormat","currentFull","bracketed","systemLoc","formatWithSystemDefault","redefaultToSystem","dtFormatter","formatInterval","padTo","knownEnglish","listingMode","useDateTimeFormatter","extract","formatOffset","maybeMacro","tokenToField","realTokens","lildur","mapped","Invalid","intlLFCache","intlDTCache","getCachedDTF","locString","intlNumCache","intlRelCache","sysLocaleCache","listStuff","englishFn","intlFn","PolyNumberFormatter","intl","otherOpts","intlOpts","useGrouping","minimumIntegerDigits","inf","getCachedINF","NumberFormat","PolyDateFormatter","originalZone","gmtOffset","offsetZ","PolyRelFormatter","isEnglish","rtf","getCachedRTF","cacheKeyOpts","RelativeTimeFormat","fromOpts","specifiedLocale","localeR","systemLocale","numberingSystemR","outputCalendarR","resetCache","numbering","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","parseLocaleString","localeStr","xIndex","uIndex","selectedStr","smaller","intlConfigString","weekdaysCache","monthsCache","meridiemCache","eraCache","fastNumbersCached","fastNumbers","supportsFastNumbers","isActuallyEn","hasNoWeirdness","formatStr","mapMonths","mapWeekdays","matching","getCachedLF","ListFormat","ianaRegex","combineRegexes","combineExtractors","extractors","mergedVals","mergedZone","ex","patterns","extractor","simpleParse","offsetRegex","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","extractISOWeekData","extractISOOrdinalData","sqlTimeRegex","sqlTimeExtensionRegex","int","fallback","extractISOTime","extractISOOffset","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","weekStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","fromStrings","extractRFC2822","milOffset","offHourStr","offMinuteStr","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOYmd","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","parseISODate","parseRFC2822Date","parseHTTPDate","parseISODuration","extractISOTimeOnly","parseISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","parseSQL","MISSING_FTP","intUnit","deser","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","oneOf","strings","simple","escapeToken","partTypeStyleToTokenVal","dayperiod","hour24","dummyDateTimeCache","expandMacroTokens","maybeExpandMacroToken","formatOptsToTokens","explainFromTokens","unitForToken","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","disqualifyingUnit","regexString","buildRegex","rawMatches","matchIndex","dateTimeFromMatches","toField","parseFromTokens","getDummyDateTime","resolvedOpts","tokenForPart","isSpace","actualType","hasRelative","maybeArray","thing","bestBy","best","integerBetween","parseInteger","parseFloating","parseMillis","fraction","roundTo","towardZero","floorMod","objToLocalTS","parseZoneInfo","offsetFormat","modified","signedOffset","offHour","offMin","asNumber","numericValue","normalizeObject","normalizer","timeObject","pick","normalizeZone","defaultZone","lowered","hasDST","isValidIANAZone","monthsFormat","weekdaysFormat","relative","isLuxonInterval","fromDateTimes","builtStart","builtEnd","validateError","validateStartEnd","startIsValid","endIsValid","isInterval","toDuration","splitAt","sorted","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","intervals","final","sofar","xor","currentCount","ends","mapEndpoints","throwOnInvalid","defaultLocale","defaultNumberingSystem","defaultOutputCalendar","twoDigitCutoffYear","cutoffYear","resetCaches","Zone","otherZone","dtfCache","typeToPos","ianaZoneCache","IANAZone","isValidSpecifier","isValidZone","makeDTF","adOrBc","partsOffset","formatted","filled","hackyOffset","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","adjustedHour","asTS","over","FixedOffsetZone","utcInstance","parseSpecifier","InvalidZone","SystemZone","__webpack_module_cache__","inProgress","dataWebpackPrefix","cachedModule","__webpack_modules__","definition","chunkId","hmd","needAttach","scripts","charset","onScriptComplete","doneFns","nmd","paths","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","startResolve","bootstrapPromises","startPromise","isNodeLike","browser","preparePlatform","initializePal","isRenderer","palModule","globalize","frameworkPromise","frameworkName","appHost","customConfig","bootstrap","appHosts","mainModuleId","toConsole","bootstraps"],"sourceRoot":""}